iptables命令
查看
iptables -L -n -v
删除
方法1:根据规则编号删除(推荐)
-
先查看规则编号:
sudo iptables -L INPUT --line-numbers -
找到最后一条REJECT规则对应的编号(比如是第8条):
num target prot opt source destination 8 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited -
删除该编号规则:
sudo iptables -D INPUT 8
方法2:根据规则内容删除
sudo iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
验证删除结果
sudo iptables -L INPUT
注意事项
-
删除全局拒绝规则后:
- 系统将默认允许所有入站流量(因为INPUT链默认策略是ACCEPT)
- 建议在此之前添加必要的允许规则(如开放特定端口)
-
临时生效问题:
- 此操作立即生效但重启后会失效
- 如需持久化保存(CentOS/RHEL):
# CentOS 6及之前 service iptables save # CentOS 7+ iptables-save > /etc/sysconfig/iptables
-
安全风险:
删除全局REJECT规则相当于开放所有入站访问,请确保有前置的ACCEPT/DROP规则控制访问权限,或在删除后立即添加细粒度的规则。
替代方案(推荐)
更安全的做法不是删除REJECT规则,而是在它之前插入允许规则(如前文所述):
# 允许特定IP访问所有端口
sudo iptables -I INPUT -s 132.151.162.6 -j ACCEPT
这样132.151.162.6的访问会被允许,其他连接仍受REJECT规则保护。
设置开机自动加载
echo "/sbin/iptables-restore /etc/sysconfig/iptables" | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

浙公网安备 33010602011771号