当然,UFW 的常用命令非常简洁。这里为你整理了一份清晰的操作指南,涵盖了你管理防火墙所需的核心命令。
📋 UFW 常用命令速查表
| 类别 |
命令 |
作用与说明 |
状态与信息
sudo ufw status
核心命令:查看防火墙是否激活及规则摘要。
sudo ufw status verbose
推荐:查看详细状态、默认策略及所有规则列表。
sudo ufw status numbered
查看带编号的规则列表,便于后续删除特定规则。
sudo ufw show added
显示用户通过 ufw 命令添加的所有规则。
启用与禁用
sudo ufw enable
启用防火墙并设置开机自启。(关键操作)
sudo ufw disable
禁用防火墙(清除所有规则并关闭)。
sudo ufw reset
重置防火墙:禁用并删除所有用户定义的规则。
规则管理(增)
sudo ufw allow 22/tcp
开放TCP 22端口(例如SSH)。
sudo ufw allow 139,445/tcp
同时开放多个TCP端口(Samba核心端口)。
sudo ufw allow from 192.168.1.0/24
允许来自整个子网的所有连接(谨慎使用)。
sudo ufw allow from 192.168.1.100
允许来自特定IP的所有连接。
sudo ufw allow from 192.168.1.100 to any port 22 proto tcp
允许特定IP访问特定端口(最精细控制)。
sudo ufw deny 3306/tcp
明确拒绝某个端口的访问。
规则管理(删)
sudo ufw delete allow 22/tcp
按规则描述删除(需完全匹配添加时的命令)。
sudo ufw delete deny 3306/tcp
sudo ufw delete 3
按规则编号删除(需先执行 status numbered 查看编号)。
默认策略
sudo ufw default deny incoming
推荐策略:默认拒绝所有入站连接。
sudo ufw default allow outgoing
默认允许所有出站连接(通常保持此设置)。
🚀 针对你(开放Samba)的快速操作流程
结合你的目标,最简洁的操作顺序如下:
# 1. 设置默认策略(安全基线)
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 2. 【务必先做】开放SSH端口,防止被锁
sudo ufw allow 22/tcp
# 3. 开放Samba所需端口
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw allow 137/udp
sudo ufw allow 138/udp
# 4. 启用防火墙
sudo ufw enable
# 5. 验证结果
sudo ufw status verbose
⚠️ 重要注意事项
- SSH警告:在物理服务器或虚拟机上,务必在
enable 前确保已开放SSH端口(如22),否则当前连接可能会中断且无法重新连接。
- 规则持久化:通过
ufw 命令添加的规则在系统重启后自动生效,无需额外保存。
- 与Docker的关系:UFW默认不管理由Docker直接映射到主机的端口(如
-p 8080:80)。如需限制,需要更复杂的配置(即之前修改 after.rules 的目的)。
- 规则顺序:UFW的规则没有优先级顺序,它是状态化的防火墙,规则匹配即生效。
🔧 高级与日志管理
| 命令 |
作用 |
sudo ufw logging on
开启防火墙日志(记录到 /var/log/ufw.log)。
sudo ufw logging off
关闭防火墙日志。
sudo ufw app list
列出所有预定义的应用程序配置文件(如 OpenSSH、Nginx Full)。
sudo ufw allow 'Nginx HTTP'
通过应用配置文件名称来开放规则(更易管理)。
掌握以上命令,你就能轻松应对绝大部分防火墙管理需求了。如果你在执行特定命令时遇到问题,可以随时告诉我具体的命令和输出。