Linux 中 UFW 的使用
UFW(Uncomplicated Firewall)是 Ubuntu 系统上一款简洁易用的防火墙管理工具,它基于 iptables 但提供了更友好的命令行接口,让防火墙管理变得简单直观。
基本使用
安装与状态管理
# Ubuntu 默认已安装,未安装时执行:
sudo apt install ufw
# 查看防火墙状态
sudo ufw status
# 查看更详细信息
sudo ufw status verbose
# 查看编号规则(方便按序号删除)
sudo ufw status numbered
启用与关闭
# 开启防火墙(注意:开启后默认阻止所有入站连接)
sudo ufw enable
# 关闭防火墙
sudo ufw disable
# 重置所有规则到默认状态
sudo ufw reset
⚠️ 重要:开启 UFW 前,请确保已经添加了 SSH 端口的放行规则(如
sudo ufw allow ssh),否则会把自己拒之门外。
端口管理
开放端口
# 允许特定端口
sudo ufw allow 22 # 允许 22 端口(TCP+UDP)
sudo ufw allow 80/tcp # 仅允许 80 端口的 TCP 协议
sudo ufw allow 21/udp # 仅允许 21 端口的 UDP 协议
# 使用服务名称(从 /etc/services 读取端口映射)
sudo ufw allow ssh # 等同于 allow 22
sudo ufw allow http # 等同于 allow 80
sudo ufw allow https # 等同于 allow 443
# 允许端口范围(必须指定协议)
sudo ufw allow 8000:9000/tcp
禁止端口
sudo ufw deny 21
sudo ufw deny 80/tcp
sudo ufw deny from 192.168.1.200
删除规则
# 通过规则内容删除
sudo ufw delete allow 22
sudo ufw delete deny 21
# 通过编号删除(先用 status numbered 查看编号)
sudo ufw status numbered
sudo ufw delete 3
高级规则
基于来源 IP 的控制
# 允许特定 IP 所有访问
sudo ufw allow from 192.168.1.1
# 允许整个网段
sudo ufw allow from 192.168.1.0/24
# 允许特定 IP 访问特定端口
sudo ufw allow from 192.168.1.1 to any port 80 proto tcp
# 拒绝特定来源
sudo ufw deny from 10.0.0.0/8
限制连接速率
防止暴力破解:
# 限制 SSH 端口 30 秒内最多 6 次连接
sudo ufw limit ssh
应用 Profile
UFW 支持通过应用 Profile 来管理规则:
# 查看所有可用的应用 Profile
sudo ufw app list
# 查看某个 Profile 的详细信息
sudo ufw app info 'OpenSSH'
# 允许某个应用的端口
sudo ufw allow 'OpenSSH'
日志与监控
# 开启日志
sudo ufw logging on
# 日志级别:low、medium(默认)、high、full
sudo ufw logging medium
# 查看日志
sudo journalctl -u ufw
# 或查看系统日志
sudo tail -f /var/log/ufw.log
常用场景示例
搭建 Web 服务器
sudo ufw default deny incoming # 默认阻止入站
sudo ufw default allow outgoing # 默认允许出站
sudo ufw allow ssh # 允许 SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
数据库服务器
sudo ufw allow ssh
sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp # MySQL
sudo ufw allow from 192.168.1.0/24 to any port 5432 proto tcp # PostgreSQL
sudo ufw enable
总结
UFW 让 Linux 防火墙管理变得不再复杂。掌握以上规则后,大部分日常场景都可以应对。牢记一点:在远程操作时先放行 SSH 端口,这是避免被锁在门外的关键。
Comments | 0条评论