什么是最小的iptables规则上网冲浪?

我正在尝试为我的Linux iptables规则文件设置最小规则,以便能够上网。

在这里我做了什么:

* filter -A OUTPUT -p tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp --dport 443 -j ACCEPT -A OUTPUT -p udp --dport 53 -j ACCEPT COMMIT 

只有这些规则,我不能上网。

我注意到,当我把-A INPUT -j ACCEPT ,它的工作原理,但我不明白为什么。 那么我需要什么input/输出端口来上网?

非常感谢。 问候

编辑 :它仍然无法正常工作。

这里是我的iptables -L

 Chain INPUT (policy DROP) ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED Chain FORWARD (policy DROP) blank Chain OUTPUT (Policy ACCEPT) ACCEPT all -- anywhere anywhere 

但是,如果我添加-A INPUT -j ACCEPT ,我可以上网。 所以在INPUT中应该有其他的东西来阻止它。

您还需要允许从远程服务器返回的stream量。 您的input链需要允许这些回应; 连接状态模块可以确保这些响应是被允许的。

 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

为什么你觉得有必要规范出站连接?

OUTPUT表pipe理OUTBOUND数据包,INPUT表pipe理入站数据包。

如果你想保护你的工作站/服务器,你应该把重点放在INPUT规则上,并使用一个默认的“DROP”规则和一个“RELATED,ESTABLISHED”这样的规则:

  /sbin/iptables -P INPUT DROP iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 

这将使您可以打开更多的特定端口,同时保持大部分stream量。

尝试在/ etc / sysconfig / iptables(您的IPtables规则文件)中添加此行

-Ainput-m状态 – 状态RELATED,ESTABLISHED -j接受

有一段时间iptables-save没有为我工作,它显示它是通过重新启动iptables服务保存返回到前一阶段