iptables 更改后失去连接

iptables 更改后失去连接

我尝试向 iptables 添加几个 Web 端口,但这样做失去了解析任何外部地址的能力。我打开了一个工作 SSH 会话,如果需要,可以轻松访问该盒子。

这是当前的 iptables 配置:

[user@boxen]# iptables --line-numbers -n -L

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 80,443 /* 100 allow http and https access */ state NEW 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport ports 22 /* 100 ssh 22 */ 
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

和 cat /etc/sysconfig/iptables

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:196]
-A INPUT -p tcp -m multiport --dports 80,443 -m comment --comment "100 allow http and https access" -m state --state NEW -j ACCEPT 
-A INPUT -p tcp -m multiport --ports 22 -m comment --comment "100 ssh 22" -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Wed Sep 25 14:20:02 2013

我无法 ping 通网关或其他任何东西。我能够 ping 通同一机架中另一个盒子上的网关。在 iptables 更新失败之前,我能够 ping 通网关。

这个配置有什么问题吗?

答案1

好吧,您丢弃了所有不属于以下内容的传入流量:

  1. TCP 端口 80 或 443
  2. TCP端口22
  3. 来自本地主机

最有可能的是,您打算制定如下规则:

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

现在您的 DNS 回复(通常是 UDP 源端口 53)正在被丢弃。您的 ICMP 回显回复(ping 响应)也是如此。

相关内容