我继续关注这随着我在服务器上打开越来越多的端口,教程在 ubuntu 12.04 上使用 bash shell。我通常这样打开端口
sudo iptables -A INPUT -p tcp --dport PortNumberToOpen -j ACCEPT
然后我使用这个规则来关闭剩余的流量
sudo iptables -P INPUT DROP
通常,如果我这样做,sudo iptables -L
它会在输入末尾显示一条规则,如下所示
DROP all -- anywhere anywhere
但这次我sudo iptables -P INPUT DROP; sudo iptables -L
这样做时并没有显示这个 DROP 规则。我正在遵循完全相同的步骤。到底是怎么回事?
答案1
我严重怀疑sudo iptables -P INPUT DROP
是否会产生最终的 DROP 规则。其实就是-P
设置policy,在表头中找到policy:
sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
您可能所做的sudo iptables -A INPUT -j DROP
确实产生了您所看到的效果:
➜ src sudo iptables -A INPUT -j DROP
➜ src sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
DROP all -- anywhere anywhere