可快速配置基本的网络访问控制,适合对防火墙复杂性要求不高的场景
常用命令
状态管理
# 查看状态
sudo ufw status
# 查看规则的编号(用于删除)
sudo ufw status numbered
# 查看当前规则列表
sudo ufw status verbose
# 启用防火墙
sudo ufw enable
# 禁用防火墙
sudo ufw disable
# 重启防火墙
sudo ufw reload
规则管理
UFW 规则分为三种方向:
allow:允许流量通过。deny:拒绝流量(返回拒绝响应)。reject:拒绝流量(不返回响应,类似丢弃)。
### 开放特定端口
# 允许 TCP 端口 80
sudo ufw allow 80/tcp
# 允许 UDP 端口 53
sudo ufw allow 53/udp
### 拒绝特定端口
# 拒绝 TCP 端口 80
sudo ufw deny 80/tcp
### 删除特定端口规则
# 删除允许 TCP 端口 80 的规则
sudo ufw delete allow 80/tcp
### 允许特定IP访问
# 允许 IP 地址 192.168.1.100 的所有端口
sudo ufw allow from 192.168.1.100
# 允许 192.168.1.0/24 子网的所有端口
sudo ufw allow from 192.168.1.0/24
# 允许 IP 地址 192.168.1.100 访问 TCP 端口 80
sudo ufw allow from 192.168.1.100 to any port 80/tcp
### 服务管理
# 查看支持的服务列表
sudo ufw app list
# 允许 SSH 服务
sudo ufw allow ssh
### 管理接口
# 仅允许从 eth0 接口进入的 80 端口流量
sudo ufw allow in on eth0 to any port 80
# 禁止从 wlan0 接口发出的 25 端口(SMTP)流量
sudo ufw deny out on wlan0 to any port 25
### 管理协议
# 允许 ICMP 协议(用于 ping)
sudo ufw allow icmp
# 允许 IPv6 流量(需单独配置)
sudo ufw allow inet6 on eth0 to any port 80
### 状态跟踪 (UFW 默认开启状态跟踪)
# 允许已建立的连接返回数据
sudo ufw allow established
日志管理
# 开启日志
sudo ufw logging on
# 关闭日志
sudo ufw logging off
### 拒绝并记录日志(需先启用日志)
sudo ufw logging on
sudo ufw reject from any to any port 80
配置文件
- 规则文件:
/etc/ufw/user.rules(iptables 规则) - 服务定义:
/etc/ufw/applications.d/
sudo vim /etc/ufw/user.rules