CentOS 中的 iptables 可以通过脚本或使用现有的自动化工具进行管理。以下是一些建议:
创建一个脚本文件(例如:iptables.sh),并在其中添加您需要的 iptables 规则。例如:
#!/bin/bash
# 清除现有规则
iptables -F
iptables -X
# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 允许已建立的连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许 SSH 连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
# 允许特定 IP 地址访问
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
# 保存规则
service iptables save
给脚本添加可执行权限:
chmod +x iptables.sh
运行脚本以应用规则:
./iptables.sh
iptables-services
软件包:iptables-services
是一个用于管理 iptables 规则的软件包,它提供了一个简单的系统服务来启用、禁用和重启 iptables 规则。
安装 iptables-services
:
sudo yum install iptables-services
启动并启用 iptables
服务:
sudo systemctl start iptables
sudo systemctl enable iptables
使用 firewall-cmd
命令管理防火墙规则:
# 查看当前规则
firewall-cmd --list-all
# 添加规则
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 删除规则
firewall-cmd --permanent --zone=public --remove-port=80/tcp
# 重新加载规则
firewall-cmd --reload
ufw
(Uncomplicated Firewall):ufw
是一个简单的防火墙管理工具,适用于 Ubuntu 和 CentOS 系统。
安装 ufw
:
sudo yum install ufw
启动并启用 ufw
服务:
sudo systemctl start ufw
sudo systemctl enable ufw
使用 ufw
命令管理防火墙规则:
# 查看当前规则
ufw status
# 允许特定端口
ufw allow 80/tcp
# 禁止特定端口
ufw deny 80/tcp
# 删除规则
ufw delete allow 80/tcp
# 重新加载规则
ufw reload
请注意,ufw
在 CentOS 7 及更高版本中不可用。在这种情况下,建议使用 firewalld
或 iptables-services
。