在 Debian 系统中,“防火墙”本身不是某一个固定组件,而通常是通过 iptables / nftables 以及上层管理工具(如 ufw、firewalld)来实现。下面按层次说明 Debian 支持的“规则类型”。
一、底层防火墙规则(iptables / nftables)
1. iptables 支持的规则
iptables 是最经典的防火墙工具,规则基于 表(table)+ 链(chain)。
常见表与规则能力
-
filter 表(默认)
- 控制流量是否允许
- 链:
INPUT、OUTPUT、FORWARD
- 规则示例:
- 允许/拒绝某 IP
- 允许/拒绝某端口
- 基于协议(TCP/UDP/ICMP)
-
nat 表
- 网络地址转换
- 规则类型:
- SNAT(源地址转换)
- DNAT(目标地址转换)
- 端口转发
-
mangle 表
-
raw 表
常见匹配条件
- 源/目的 IP
- 源/目的端口
- 协议(tcp/udp/icmp)
- 网卡接口
- 连接状态(NEW、ESTABLISHED、RELATED)
- 数据包标记(MARK)
2. nftables(Debian 新推荐)
Debian 10+ 默认逐渐转向 nftables,功能更强、语法更清晰。
支持规则包括:
- 表(ip / ip6 / inet)
- 链(ingress / prerouting / input / forward / output / postrouting)
- 匹配:
- IP、端口、协议
- 状态(ct state)
- 接口
- 限速(limit)
- 日志(log)
- 动作:
- accept / drop / reject
- nat / redirect
- queue / goto
二、上层防火墙管理工具规则(用户更常用)
1. UFW(Uncomplicated Firewall)
Debian 常见简易防火墙。
支持规则:
- 允许/拒绝:
- 端口(22、80)
- 服务(ssh、http)
- IP 地址
- 方向:
- 接口规则
- 默认策略(allow/deny)
示例:
ufw allow 22
ufw deny from 192.168.1.100
ufw enable
2. firewalld(服务器/桌面可选)
基于 nftables/iptables。
支持规则:
- zone(信任级别)
- service(预定义服务)
- port
- rich rules(复杂规则)
- masquerade(NAT)
- port forwarding
三、常见“规则类型”总结
| 类型 |
示例 |
| 允许规则 |
允许 22 端口 |
| 拒绝规则 |
拒绝某 IP |
| 限制规则 |
限制连接速率 |
| NAT 规则 |
端口映射 |
| 转发规则 |
允许流量转发 |
| 日志规则 |
记录被拒绝包 |
| 状态规则 |
只放行已建立连接 |
四、Debian 推荐做法
- 新手/服务器:用
ufw
- 复杂网络:用
nftables
- 旧系统兼容:
iptables
如果你愿意,我可以:
- 给你一份 Debian 防火墙规则示例
- 对比 ufw vs nftables
- 针对你的使用场景(如 Web 服务器、内网网关)给具体配置