在CentOS系统中,使用脚本来自动化iptables规则的管理是一种常见的做法。以下是一个简单的示例,展示如何编写一个脚本来自动化iptables规则的添加、删除和保存。
#!/bin/bash
# 定义iptables规则文件路径
IPTABLES_FILE="/etc/iptables/rules.v4"
# 函数:添加iptables规则
add_rule() {
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
service iptables save
}
# 函数:删除iptables规则
delete_rule() {
iptables -D INPUT -p tcp --dport 80 -j ACCEPT
iptables -D INPUT -p tcp --dport 443 -j ACCEPT
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
service iptables save
}
# 函数:显示iptables规则
show_rules() {
iptables -L -v -n
}
# 根据参数执行相应的操作
case "$1" in
add)
add_rule
;;
delete)
delete_rule
;;
show)
show_rules
;;
*)
echo "Usage: $0 {add|delete|show}"
exit 1
esac
exit 0
iptables_manager.sh
。chmod +x iptables_manager.sh
./iptables_manager.sh add
./iptables_manager.sh delete
./iptables_manager.sh show
iptables-save > /etc/iptables/rules.v4.backup
firewalld
作为默认防火墙管理工具,而iptables
规则在重启后不会自动加载。可以使用iptables-services
包来管理iptables规则的持久化。yum install iptables-services
systemctl enable iptables
systemctl start iptables
sudo
来限制脚本的执行权限。sudo ./iptables_manager.sh add
通过这种方式,你可以自动化管理CentOS系统的iptables规则,提高工作效率并减少人为错误。