debian

Debian iptables脚本编写基础

小樊
42
2025-04-09 20:32:42
栏目: 智能运维

在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脚本来配置Debian系统的防火墙规则。

0
看了该问题的人还看了