在Debian系统中,iptables
是一个强大的命令行工具,用于配置Linux内核防火墙。以下是一些编写基础iptables
脚本的步骤和示例:
首先,确保你的系统上已经安装了iptables
。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install iptables
在开始编写脚本之前,你可以先查看当前的iptables规则,以便了解现有的配置:
sudo iptables -L -n -v
以下是一个简单的示例脚本,用于设置基本的防火墙规则:
#!/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
保存上述脚本到一个文件(例如setup_iptables.sh
),然后赋予它执行权限:
chmod +x setup_iptables.sh
运行脚本来应用新的iptables规则:
sudo ./setup_iptables.sh
在Debian系统中,可以使用iptables-persistent
包来持久化iptables规则。安装并启用该包:
sudo apt install iptables-persistent
在安装过程中,系统会提示你是否保存当前的iptables规则。选择“是”以确保规则被保存。
iptables
的手册页或相关文档。通过以上步骤,你可以编写基本的iptables
脚本来配置Debian系统的防火墙规则。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Debian VNC如何进行性能测试