在Debian系统中,通常使用iptables
或nftables
作为防火墙工具。以下是如何在这两种情况下添加自定义规则的步骤:
iptables
打开终端:
sudo apt update
sudo apt install iptables
查看当前规则:
sudo iptables -L -n -v
添加自定义规则: 例如,允许来自特定IP地址的TCP流量到端口80:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
保存规则:
Debian默认不会自动保存iptables
规则,所以你需要手动保存:
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
安装 nftables
:
sudo apt update
sudo apt install nftables
查看当前规则:
sudo nft list ruleset
添加自定义规则: 例如,允许来自特定IP地址的TCP流量到端口80:
sudo nft add rule inet filter input tcp dport 80 ip saddr 192.168.1.100 accept
保存规则:
sudo nft list ruleset > /etc/nftables.conf
设置开机自启动:
编辑 /etc/network/if-pre-up.d/nftables
:
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系统中使用iptables
或nftables
添加自定义防火墙规则,并确保这些规则在系统重启后仍然有效。