给出 iptables -F 后无法访问主机

给出 iptables -F 后无法访问主机

试图清除我的 RedHat Linux 服务器中的防火墙设置。

给出之后iptables -F,我无法访问服务器。

# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:diamondport
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:33336
ACCEPT     sctp --  anywhere             anywhere             sctp dpts:1024:65535
ACCEPT     udp  --  anywhere             anywhere             udp dpt:gtp-user
ACCEPT     udp  --  anywhere             anywhere             udp dpts:6000:lm-x

 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# iptables -F

请帮我解决这个问题。

答案1

当你运行 iptables -F 时,你将删除每个链中的所有规则。但是,每个链都有一个政策您没有删除,在您的情况下,删除的是 INPUT 链的 DROP。因此,您删除了所有规则,并对任何不匹配规则的流量应用 DROP 策略,这意味着所有内容都会被丢弃。

您可以通过运行以下命令来确认这一点:iptables -L -n。您应该会看到类似以下内容:

Chain INPUT (policy DROP)
target     prot opt source               destination
[it's empty]

这是正常行为。您可以更改默认策略,但这会导致安全性方面完全不同的行为:如果没有匹配的规则,流量将始终被接受,这可能不是您想要的。

最好的办法是避免在修改 iptables 策略时刷新并保存它们,以使它们持久化iptables-save。这样,您可以保存以前的配置并iptables-restore < rules.bak根据需要恢复它()或修改它。

答案2

控制台重启后即可访问主机。谢谢

相关内容