IPtables DNS 冲突

IPtables DNS 冲突

在我的 VPS 上,当我运行

ping 8.8.8.8

它工作得很好,但当我这样做的时候

ping google.com

它只是挂起。内容/etc/resolv.conf是:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by 
resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 108.61.10.10
nameserver 208.67.222.222
nameserver 208.67.220.220

我知道 OpenDNS 工作正常。我认为问题出在 iptables 上,因为在我更改 iptables 设置之前它工作正常iptables -S

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp -m multiport ! --dports 80,443,8080,2222,22,1194,993,25,995,143,110,4433 -j DROP
-A INPUT -p udp -m udp -m multiport ! --dports 53,1194,500,4500 -j DROP
-A INPUT -p tcp -m connlimit --connlimit-above 25 --connlimit-mask 32 --connlimit-saddr -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/sec --limit-burst 2 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags RST RST -j DROP
-A INPUT -p tcp -m conntrack --ctstate NEW -m limit --limit 20/sec --limit-burst 20 -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -j DROP

答案1

您需要 iptables -A INPUT -p udp --sport 53 -j ACCEPT先允许源端口 53,-A INPUT -p udp -m udp -m multiport ! --dports 53,1194,500,4500 -j DROP因为回复来自解析器的源端口53

为了调试目的,将有问题的规则与-j LOG目标附加在一起,您将获得更清晰的图像。

但是,对于合适的防火墙 - 我建议使用POLICY DROP并仅允许所需的流量。

相关内容