我尝试了各种 Web 服务器规则,但并没有如我所愿地运行。端口似乎可以访问,但无法建立连接,以下是脚本:
#!/bin/bash
# Drop all Incoming
iptables -A INPUT -j DROP
# Allow all Outgoing
iptables -A OUTPUT -d 0.0.0.0/0 -j ACCEPT
# Allow Incoming for special IPs to all Ports
iptables -A INPUT -s 1.2.3.4/32 -j ACCEPT
iptables -A INPUT -s 2.3.4.5/32 -j ACCEPT
iptables -A INPUT -s 3.4.5.6/32 -j ACCEPT
# Allow Incoming from Internet to Ports
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow localhost
iptables -A INPUT -i lo -j ACCEPT
答案1
解决方案很简单,只需替换第一条规则
iptables -A INPUT -j DROP
和
iptables --policy INPUT DROP
这不会阻止所有内容,而是将策略设置为输入连接的默认阻止。