iptables默认INPUT规则设为DROP时服务器无法访问外网的排查求助
iptables默认INPUT规则设为DROP时服务器无法访问外网的排查求助
各位大佬好,我碰到一个特别奇怪的问题,怎么想都搞不懂,盼着有人能帮我分析分析!
我的服务器上设置了这些iptables规则:
root@COV0495:~# iptables -S -P INPUT DROP -P FORWARD ACCEPT -P OUTPUT ACCEPT -N DOCKER -N DOCKER-ISOLATION-STAGE-1 -N DOCKER-ISOLATION-STAGE-2 -N DOCKER-USER -N ufw-after-forward -N ufw-after-input -N ufw-after-logging-forward -N ufw-after-logging-input -N ufw-after-logging-output -N ufw-after-output -N ufw-before-forward -N ufw-before-input -N ufw-before-logging-forward -N ufw-before-logging-input -N ufw-before-logging-output -N ufw-before-output -N ufw-reject-forward -N ufw-reject-input -N ufw-reject-output -N ufw-track-forward -N ufw-track-input -N ufw-track-output -A INPUT -i lo -j ACCEPT -A INPUT -s 192.*.*.*/32 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -s 192.*.*.*/32 -p tcp -m tcp --dport 8443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -j LOG -A FORWARD -j LOG
现在的现象是:外网能正常访问我服务器上部署的站点,但服务器自己完全没法访问外网,比如执行ping命令会报域名解析失败:
root@COV0495:~# ping bing.com ping: bing.com: Temporary failure in name resolution
我发现只要把INPUT链的默认规则改成-P INPUT ACCEPT,服务器就能正常访问外网了。这就让我特别困惑——为什么INPUT链的DROP规则会影响服务器的出站流量啊?
我试着加了两条允许DNS响应的规则,但是没用:
-A INPUT -p udp -m udp --sport 53 -m state --state ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
有没有大佬能帮我看看问题出在哪,该怎么解决?
备注:内容来源于stack exchange,提问作者Rick Roy
相关产品推荐
相关产品推荐

