在 CentOS 系统中,使用 iptables
命令可以添加、修改和删除防火墙规则。以下是一些基本的步骤和示例,帮助你添加 iptables
规则。
1. 查看当前的 iptables 规则
在添加新规则之前,建议先查看当前的规则,以便了解现有的配置。
sudo iptables -L -n -v
2. 添加新的 iptables 规则
允许特定 IP 地址访问
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这条规则允许来自 IP 地址 192.168.1.100
的所有流量通过。
允许特定端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这条规则允许通过 TCP 协议访问端口 80(HTTP)的所有流量。
允许特定协议访问
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
这条规则允许通过 UDP 协议访问端口 53(DNS)的所有流量。
拒绝所有其他流量
sudo iptables -A INPUT -j DROP
这条规则会拒绝所有未明确允许的流量。
3. 保存 iptables 规则
CentOS 默认不会在重启后保留 iptables
规则,因此需要手动保存。
sudo service iptables save
或者使用 iptables-save
命令:
sudo iptables-save > /etc/sysconfig/iptables
4. 恢复 iptables 规则
如果需要恢复之前保存的 iptables
规则,可以使用以下命令:
sudo iptables-restore < /etc/sysconfig/iptables
5. 查看特定链的规则
如果你只想查看某个特定链的规则,可以使用 -L
选项并指定链名。
sudo iptables -L INPUT -n -v
6. 删除 iptables 规则
如果需要删除某个规则,可以使用 -D
选项并指定规则号或规则内容。
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT
或者根据规则内容删除:
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
注意事项
- 修改
iptables
规则时要小心,错误的规则可能导致系统无法访问。 - 在生产环境中,建议在进行任何更改之前备份当前的
iptables
规则。 - 如果使用的是 CentOS 7 或更高版本,可能会使用
firewalld
作为默认的防火墙管理工具。在这种情况下,建议使用firewall-cmd
命令来管理防火墙规则。
希望这些信息对你有所帮助!如果有任何问题,请随时提问。