在Debian系统中,你可以使用脚本来自动化iptables规则的配置。以下是一个简单的示例,展示了如何创建一个脚本来添加、删除和保存iptables规则。
创建脚本文件:
首先,创建一个新的脚本文件,例如iptables_script.sh
。
nano iptables_script.sh
编写脚本内容: 在脚本文件中添加以下内容:
#!/bin/bash
# 清除现有规则
iptables -F
iptables -X
# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# 允许已建立的连接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许HTTP和HTTPS连接
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许特定IP地址访问
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
# 保存规则
iptables-save > /etc/iptables/rules.v4
echo "iptables rules have been updated."
赋予脚本执行权限: 保存并关闭文件后,赋予脚本执行权限。
chmod +x iptables_script.sh
运行脚本: 运行脚本来应用新的iptables规则。
sudo ./iptables_script.sh
持久化规则:
为了确保重启后规则仍然有效,你需要将规则保存到系统启动脚本中。Debian使用iptables-persistent
包来持久化iptables规则。
安装iptables-persistent
:
sudo apt-get update
sudo apt-get install iptables-persistent
在安装过程中,选择“是”以保存当前规则,并选择“否”以避免在启动时提示配置IPv6规则。
通过以上步骤,你可以创建一个脚本来自动化iptables规则的配置,并确保这些规则在系统重启后仍然有效。