Debian iptables如何使用脚本自动化

860
2025/2/22 0:32:21
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian系统中,使用iptables进行防火墙规则配置时,可以通过编写脚本来实现自动化。以下是一个简单的示例,展示了如何使用脚本自动化地添加、删除和保存iptables规则。

  1. 首先,创建一个名为iptables.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 -m conntrack --ctstate NEW -j ACCEPT

# 允许HTTP和HTTPS连接
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW -j ACCEPT

# 保存规则
iptables-save > /etc/iptables/rules.v4

# 重启iptables服务以应用新规则
iptables-restore < /etc/iptables/rules.v4
  1. 为脚本添加可执行权限:
chmod +x iptables.sh
  1. 运行脚本以应用规则:
./iptables.sh

这个脚本会清除现有的iptables规则,设置默认策略,允许本地回环接口的流量,允许已建立的连接和相关的数据包通过,允许SSH、HTTP和HTTPS连接,并保存规则。

你可以根据自己的需求修改脚本中的规则。在运行脚本之前,请确保你了解脚本中的每一条规则,以免意外地阻止了自己的访问。

注意:在Debian 10及更高版本中,系统默认使用nftables作为防火墙。如果你使用的是这些版本,请考虑使用nftables而不是iptables

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在Debian中设置静态IP地址