Debian防火墙协议限制方法
在Debian系统中,防火墙协议限制主要通过ufw(简化工具)和iptables(底层工具)实现,以下是具体操作指南:
ufw是Debian默认的防火墙管理工具,通过简单命令即可实现协议限制,适合日常使用。
sudo apt update && sudo apt install ufw # 安装ufw
sudo ufw enable # 启用ufw(系统会提示确认)
设置默认拒绝所有入站流量、允许所有出站流量,提升安全性:
sudo ufw default deny incoming # 默认拒绝入站
sudo ufw default allow outgoing # 默认允许出站
通过allow/deny命令指定协议类型(tcp/udp/icmp等)和端口,限制特定协议的流量:
sudo ufw allow 80/tcp # 允许HTTP(tcp协议)
sudo ufw allow 443/tcp # 允许HTTPS(tcp协议)
sudo ufw allow 22/tcp # 允许SSH(tcp协议)
sudo ufw deny 21/tcp # 拒绝FTP(tcp协议)
sudo ufw allow 2290:2300/tcp # 允许端口范围内的tcp流量
sudo ufw allow proto icmp to any # 允许ICMP请求(ping)
sudo ufw deny proto icmp reply # 拒绝ICMP回复(可选)
sudo ufw status verbose # 显示详细规则(包括协议)
sudo ufw delete allow 80/tcp # 删除指定规则
sudo ufw reload # 重载ufw规则
iptables是Linux内核级的防火墙工具,适合需要高级配置的场景(如复杂协议过滤、自定义链)。
sudo apt update && sudo apt install iptables # Debian默认已安装
通过-p参数指定协议(tcp/udp/icmp等),结合--dport(目标端口)、--sport(源端口)等参数限制流量:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许tcp 22入站
sudo iptables -A INPUT -p tcp --dport 21 -j DROP # 拒绝tcp 21入站
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT # 允许udp 53入站
sudo iptables -A OUTPUT -p udp --sport 53 -j ACCEPT # 允许udp 53出站(DNS响应)
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # 允许ping请求
sudo iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP # 拒绝ping回复
iptables规则重启后会丢失,需手动保存:
sudo iptables-save > /etc/iptables/rules.v4 # 保存规则(Debian默认路径)
恢复规则(如系统重启后):
sudo iptables-restore < /etc/iptables/rules.v4 # 恢复规则
-j LOG参数记录被拒绝的流量(如sudo ufw deny proto tcp to any port 23 log),便于排查问题。以上方法覆盖了Debian防火墙协议限制的常见场景,可根据实际需求选择工具并调整规则。