UFW
(Uncomplicated Firewall)是 Ubuntu、Debian 等 Debian 系 Linux 发行版默认的防火墙管理工具,基于 iptables
开发,旨在通过简化的命令行接口(CLI)降低防火墙配置门槛,适合新手和简单场景。
- 核心目标:让用户无需深入理解
iptables
的 “表 - 链” 结构,通过直观的命令快速管理规则(如允许 / 拒绝端口、启用 / 禁用防火墙)。 - 底层依赖:最终会将规则转换为
iptables
规则,本质上是iptables
的易用性封装。
一、基础操作(状态查询与启停)
1. 检查 UFW 状态
ufw status # 查看当前防火墙状态(未启用时显示 "inactive")
ufw status verbose # 详细模式,显示规则列表和网络接口
2. 启用 / 禁用防火墙
sudo ufw enable # 启用防火墙(默认拒绝所有入站流量,允许所有出站流量)
sudo ufw disable # 禁用防火墙(规则清空,恢复默认)
3. 重置防火墙(清空所有规则)
sudo ufw reset # 恢复初始状态(慎用,会删除所有自定义规则)
二、规则管理(核心功能)
1. 基本规则语法
ufw [allow/deny/reject] [规则参数]
allow
:允许流量通过deny
:拒绝流量(静默丢弃,不返回响应)reject
:拒绝流量并返回错误信息(更明确的拒绝)
2. 按服务 / 端口允许流量
-
允许预定义服务(如
ssh
、http
、https
):sudo ufw allow ssh # 允许 SSH 连接(22/tcp 端口) sudo ufw allow http # 允许 HTTP 服务(80/tcp 端口) sudo ufw allow https # 允许 HTTPS 服务(443/tcp 端口)
- 预定义服务列表:
cat /etc/services
或通过ufw show apps
查看。
- 预定义服务列表:
-
允许指定端口(格式:
端口/协议
):sudo ufw allow 8080/tcp # 允许 TCP 8080 端口 sudo ufw allow 10000/udp # 允许 UDP 10000 端口 sudo ufw allow 3306 # 允许 TCP 3306 端口(默认协议为 tcp)
-
允许端口范围:
sudo ufw allow 8000-9000/tcp # 允许 TCP 8000-9000 端口范围
3. 按源地址允许流量
-
允许特定 IP 地址访问:
sudo ufw allow from 192.168.1.100 # 允许 192.168.1.100 访问所有端口 sudo ufw allow from 192.