我写过这样的规则:
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A OUTPUT -i eth0 -p tcp --dport 80 -j ACCEPT
接下来我该做什么?
在您应用heikogerlach向您展示的规则之后, 以下是一个有用的链接,可以帮助您了解未来的情况,从而了解自己在做什么。
基本上,要回答你在评论中提出的问题,你需要这个规则:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
这样传入的数据包将被允许进入系统发送的数据包 。否则,除了端口80之外,这个盒子将不能接收任何数据。
注意:你还必须告诉我们一些额外的…你想阻止所有访问,除了传入和传出的networking,或只有传入或只传出? 你想允许什么stream量?
现在,您可以将数据包从您的计算机发送到目标端口为80的另一个数据包。您必须允许来自远程计算机的响应,并且也希望收到错误。
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
您需要使用内核模块ip_conntrack进行连接跟踪:
modprobe ip_conntrack