Debian iptables脚本编写基础

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

在Debian系统中,iptables是一个强大的命令行工具,用于配置Linux内核防火墙。以下是一些编写基础iptables脚本的步骤和示例:

1. 安装iptables

首先,确保你的系统上已经安装了iptables。如果没有安装,可以使用以下命令进行安装:

sudo apt update
sudo apt install iptables

2. 查看当前的iptables规则

在开始编写脚本之前,你可以先查看当前的iptables规则,以便了解现有的配置:

sudo iptables -L -n -v

3. 编写基本的iptables脚本

以下是一个简单的示例脚本,用于设置基本的防火墙规则:

#!/bin/bash

# 清除所有现有的规则
sudo iptables -F
sudo iptables -X

# 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# 允许本地回环接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

# 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 允许SSH连接(假设SSH端口为22)
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# 允许HTTP和HTTPS连接(假设HTTP端口为80,HTTPS端口为443)
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

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

# 重启iptables服务以应用新规则
sudo systemctl restart netfilter-persistent

4. 赋予脚本执行权限

保存上述脚本到一个文件(例如setup_iptables.sh),然后赋予它执行权限:

chmod +x setup_iptables.sh

5. 运行脚本

运行脚本来应用新的iptables规则:

sudo ./setup_iptables.sh

6. 持久化规则

在Debian系统中,可以使用iptables-persistent包来持久化iptables规则。安装并启用该包:

sudo apt install iptables-persistent

在安装过程中,系统会提示你是否保存当前的iptables规则。选择“是”以确保规则被保存。

注意事项

  • 在修改iptables规则之前,确保你有备份,以防出现问题。
  • 修改iptables规则可能会影响网络连接,建议在非生产环境中先进行测试。
  • 如果你需要更复杂的规则或特定的配置,可以参考iptables的手册页或相关文档。

通过以上步骤,你可以编写基本的iptables脚本来配置Debian系统的防火墙规则。

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

推荐阅读: Debian VNC如何进行性能测试