在Debian Minimal系统中配置防火墙,通常可以使用iptables
或nftables
。以下是使用这两种方法的步骤:
iptables
更新系统:
sudo apt update && sudo apt upgrade -y
安装 iptables
(如果尚未安装):
sudo apt install iptables -y
设置默认策略:
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 -j ACCEPT
允许HTTP和HTTPS连接(可选):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
保存 iptables
规则:
Debian Minimal没有内置的iptables-persistent
包,所以你需要手动保存规则。你可以将规则保存到一个文件中,并在启动时加载它们。
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
创建启动脚本: 创建一个启动脚本以在系统启动时加载这些规则。
sudo nano /etc/network/if-pre-up.d/iptables
添加以下内容:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
赋予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
nftables
更新系统:
sudo apt update && sudo apt upgrade -y
安装 nftables
(如果尚未安装):
sudo apt install nftables -y
启用并启动 nftables
服务:
sudo systemctl enable nftables
sudo systemctl start nftables
设置默认策略:
sudo nft add table ip filter
sudo nft add chain ip filter input { type filter hook input priority 0 \; }
sudo nft add chain ip filter forward { type filter hook forward priority 0 \; }
sudo nft add chain ip filter output { type filter hook output priority 0 \; }
sudo nft add rule ip filter input drop
sudo nft add rule ip filter forward drop
sudo nft add rule ip filter output accept
允许本地回环接口的流量:
sudo nft add rule ip filter input iifname "lo" accept
sudo nft add rule ip filter output oifname "lo" accept
允许已建立的连接:
sudo nft add rule ip filter input ct state established,related accept
sudo nft add rule ip filter output ct state established,related accept
允许SSH连接(假设SSH端口为22):
sudo nft add rule ip filter input tcp dport 22 accept
允许HTTP和HTTPS连接(可选):
sudo nft add rule ip filter input tcp dport 80 accept
sudo nft add rule ip filter input tcp dport 443 accept
保存 nftables
规则:
sudo nft list ruleset > /etc/nftables.conf
创建启动脚本: 创建一个启动脚本以在系统启动时加载这些规则。
sudo nano /etc/network/if-pre-up.d/nftables
添加以下内容:
#!/bin/sh
nft -f /etc/nftables.conf
赋予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/nftables
通过以上步骤,你可以在Debian Minimal系统中配置基本的防火墙规则。根据你的具体需求,可以进一步调整和扩展这些规则。