Debian 防火墙设置指南
说明与准备
方案一 UFW 快速配置
sudo apt update && sudo apt install ufwsudo ufw allow OpenSSH 或 sudo ufw allow 22/tcpsudo ufw enablesudo ufw allow 80/tcp、sudo ufw allow 443/tcpsudo ufw allow 8090:9090/tcpsudo ufw allow from 203.0.113.10 to any port 22、sudo ufw allow from 192.168.1.0/24sudo ufw allow in on eth1 to any port 3306sudo ufw deny from 198.51.100.0/24sudo ufw status verbose、sudo ufw status numberedsudo ufw delete 3 或 sudo ufw delete allow 3306/tcpsudo ufw disable、sudo ufw reset方案二 iptables 配置
sudo apt update && sudo apt install iptablessudo iptables -L -n -vsudo iptables -A INPUT -i lo -j ACCEPT、sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT、sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT、sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPTsudo iptables -P INPUT DROP、sudo iptables -P FORWARD DROP、sudo iptables -P OUTPUT ACCEPTsudo apt install iptables-persistent,安装时选择保存当前规则;后续可用 sudo systemctl restart netfilter-persistent 重载sudo iptables-save > /etc/iptables/rules.v4,开机恢复可用 systemd 服务或 /etc/rc.local 执行 iptables-restore < /etc/iptables/rules.v4方案三 nftables 配置
sudo apt update && sudo apt install nftablessudo nft list rulesetsudo nft add table inet my_table、sudo nft add chain inet my_table my_input '{ type filter hook input priority 0; policy drop; }'sudo nft add rule inet my_table my_input iif lo accept、sudo nft add rule inet my_table my_input ct state established,related acceptsudo nft add rule inet my_table my_input tcp dport 22 accept、sudo nft add rule inet my_table my_input tcp dport 80 accept、sudo nft add rule inet my_table my_input tcp dport 443 acceptsudo nft list ruleset > /etc/nftables.confsudo systemctl enable nftables(确保 /etc/nftables.conf 包含你的规则)通用安全与排错建议
sudo iptables -A INPUT -j LOG --log-prefix "DROPPED: "sudo iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPTss -tulpen | grep -E '(:22|:80|:443)'status numbered 精确定位;iptables/nftables 用 -L -v -n/list ruleset 检查命中计数与策略。