























UFW(Uncomplicated Firewall)是 Debian 和 Ubuntu 系统上用于管理 iptables 防火墙规则的用户友好前端工具。它的设计目标是简化防火墙配置过程,让没有深厚网络知识的用户也能轻松保护自己的系统。
使用root权限或者sudo权限,在Debian/Ubuntu系统上进行安装。
在Ubuntu的较新系统已经成为安装的一部分,在Debian/Ubuntu系统上,使用命令行进行安装:
sudo apt update
sudo apt install ufw
安装后,检查UFW状态是否处于启用状态:
显示 Status: inactive 表示已经安装UFW但未启动。
默认情况下 UFW 是 拒绝所有传入连接 ,这样所有未明确允许的传入流量都会被阻止,从而提高服务器的安全性。
根据自身情况设置合理的防火墙策略。
# 默认拒绝所有入站连接
sudo ufw default deny incoming
# 默认允许所有出站连接
sudo ufw default allow outgoing
在启用 UFW 时,如果你的系统支持 IPv6,UFW 将自动检测并同时启用 IPv6。
sudo vim /etc/default/ufw
如果是注释那就删除,确保 IPV6 设置为 yes。
PS:在启用 UFW 前,先允许SSH连接,不然就要VNC拯救了。
如果使用非标端口,需要指定当前实际的端口号。
# 使用服务名称
sudo ufw allow OpenSSH
# 使用 指定端口
sudo ufw allow 22/tcp
完成简单基础配置后,启用防火墙
# 验证已添加规则
ufw show added
# 启用 UFW
sudo ufw enable
系统会提示操作可能会中断现有的 SSH 连接,输入 y 确认。启用后,UFW 将在系统启动时自动加载。
你会看到如下输出:
Firewall is active and enabled on system startup
配置服务器常用端口
# HTTP 和 HTTPS
sudo ufw allow http
sudo ufw allow https
# 或直接使用端口号
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 其他常见服务
sudo ufw allow 53/tcp # DNS
sudo ufw allow 3306/tcp # Mysql
sudo ufw allow 8080/tcp # Tomcat 服务
UFW 支持应用程序配置文件,可以查看可用的应用配置:
# 列出可用应用配置
sudo ufw app list
# 查看特定应用的详细信息
sudo ufw app info SSH
# 使用特定应用配置
sudo ufw allow SSH
让你更精细地控制谁能访问你的服务器,非常适合提升安全性!
UFW 默认情况下会同时应用 IPv4 和 IPv6 的规则。
如果需要为IPv6单独设置规则,可以把 IPv4 地址换成 IPv6地址。
# 允许特定 IP 地址访问所有端口
sudo ufw allow from 192.168.1.99
# 允许特定子网访问
sudo ufw allow from 192.168.1.0/24
# 允许某个 IP 访问指定端口
sudo ufw allow from 192.168.1.99 to any port 3306
# 允许整个子网访问特定服务
sudo ufw allow from 192.168.1.0/24 to any port 3306
# 允许端口范围内的所有TCP连接
sudo ufw allow proto tcp from any to any port 2000:3000
# 限制特定 IP 只能访问服务,并限制TCP/UDP协议
sudo ufw allow from 192.168.1.99 to any port 3306 proto tcp
----------------------------------------
# 拒绝某个 IP 的访问
sudo ufw deny from 192.168.1.99
# 拒绝特定子网的连接
sudo ufw deny from 10.0.0.0/24
# 拒绝特定子网访问特定端口
sudo ufw deny from 10.0.0.0/24 to any port 80
# 允许 TCP 端口范围
sudo ufw allow 7100:7200/tcp
# 允许 UDP 端口范围
sudo ufw allow 7100:7200/udp
# 同时允许 TCP 和 UDP
sudo ufw allow 7100:7200
# 查看网络接口名称
ip link show
# 允许特定网络接口的入站连接
sudo ufw allow in on eth0 to any port 3306
UFW 提供了 limit 选项,可以限制特定服务的连接速率。
某个 IP 在 30 秒内尝试连接超过 6 次(比如暴力破解密码),UFW 会暂时阻止该 IP 的连接。
# 删除允许规则
sudo ufw delete allow 80/tcp
# 删除允许应用规则
sudo ufw allow http
# 使用编号删除规则
sudo ufw status numbered # 查看规则编号
sudo ufw delete 5 # 删除编号为 5 的规则
# 启用防火墙
sudo ufw enable
# 禁用 UFW 防火墙
sudo ufw disable
# 查看当前规则
sudo ufw status
# 查看详细状态和策略
sudo ufw status verbose
# 查看完整规则
sudo ufw show raw
# 完全重置 UFW(删除所有规则)
sudo ufw reset
最小权限原则:端口放行最小化,关闭不需要的服务
备份规则:定期备份防火墙规则
sudo ufw export > ~/ufw-backup.rules
防止锁定:在启用 UFW 前确保已允许 SSH 连接
定期审查:定期检查防火墙规则,移除不再需要的规则
日志监控:启用日志记录以便排查问题
日志存储在/var/log/ufw.log
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。