在 CentOS 系统中,使用 iptables
添加自定义链的步骤如下:
-
查看现有链: 首先,你可以查看当前的
iptables
规则链,以确定你想要插入新链的位置。sudo iptables -L --line-numbers
-
插入新链: 使用
iptables
的-N
选项来创建一个新的链。例如,创建一个名为my_new_chain
的新链:sudo iptables -N my_new_chain
-
定义新链的行为: 为新链定义默认策略(例如,接受或拒绝流量)。
sudo iptables -A my_new_chain -j DROP # 拒绝所有流量
-
将新链插入到现有链中: 使用
-A
选项将新链插入到现有的某个链中。例如,将my_new_chain
插入到INPUT
链的第 3 条规则之后:sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -I INPUT 3 -j my_new_chain
-
在新链中添加规则: 现在你可以在新链中添加具体的规则。例如:
sudo iptables -A my_new_chain -p tcp --dport 80 -j ACCEPT # 允许 HTTP 流量 sudo iptables -A my_new_chain -p tcp --dport 443 -j ACCEPT # 允许 HTTPS 流量
-
保存规则: 为了确保在系统重启后规则仍然有效,你需要保存
iptables
规则。CentOS 7 及以上版本使用firewalld
服务来管理防火墙规则,因此你需要使用firewall-cmd
来保存规则。sudo firewall-cmd --runtime-to-permanent sudo firewall-cmd --reload
如果你使用的是 CentOS 6 或其他不支持 firewalld
的版本,可以使用 service iptables save
命令来保存规则:
sudo service iptables save
通过以上步骤,你就可以在 CentOS 系统中使用 iptables
添加自定义链并配置相应的规则。