UFW 防火墙常用命令速查表 | 新手到运维必备

Linux 来源: 博客园

当然,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

⚠️ 重要注意事项

  1. SSH警告:在物理服务器或虚拟机上,务必在 enable 前确保已开放SSH端口(如22),否则当前连接可能会中断且无法重新连接。
  2. 规则持久化:通过 ufw 命令添加的规则在系统重启后自动生效,无需额外保存。
  3. 与Docker的关系:UFW默认不管理由Docker直接映射到主机的端口(如 -p 8080:80)。如需限制,需要更复杂的配置(即之前修改 after.rules 的目的)。
  4. 规则顺序:UFW的规则没有优先级顺序,它是状态化的防火墙,规则匹配即生效。

🔧 高级与日志管理

命令作用
sudo ufw logging on开启防火墙日志(记录到 /var/log/ufw.log)。
sudo ufw logging off关闭防火墙日志。
sudo ufw app list列出所有预定义的应用程序配置文件(如 OpenSSHNginx Full)。
sudo ufw allow 'Nginx HTTP'通过应用配置文件名称来开放规则(更易管理)。

掌握以上命令,你就能轻松应对绝大部分防火墙管理需求了。如果你在执行特定命令时遇到问题,可以随时告诉我具体的命令和输出。

本文发布于 2 天前,内容时效性较好