Ubuntu 操作系统中使用 UFW 配置防火墙
1. 什么是 UFW?
UFW (Uncomplicated Firewall) 是 Ubuntu 提供的一个简化的防火墙管理工具,基于 iptables,旨在让防火墙配置变得更加简单易用。
2. 安装 UFW
在大多数 Ubuntu 版本中,UFW 已经默认安装。你可以通过以下命令确认是否已安装:
sudo ufw status
如果未安装,可以通过以下命令进行安装:
sudo apt update sudo apt install ufw
3. 设置默认防火墙规则
在启用 UFW 之前,建议先设置默认规则,避免意外断开 SSH 连接:
# 默认拒绝所有传入连接 sudo ufw default deny incoming # 默认允许所有传出连接 sudo ufw default allow outgoing # 允许 SSH (22端口),避免开启防火墙后无法连接服务器 sudo ufw allow 22/tcp
4. 启用和禁用 UFW
# 启用 UFW sudo ufw enable # 禁用 UFW sudo ufw disable
⚠️ 注意:在远程服务器上启用防火墙前,务必确保已允许 SSH 端口,否则可能会被锁在服务器外面!
5. 检查 UFW 状态
sudo ufw status
6. UFW 基本命令
# 允许其他常用端口 (示例: 80 端口用于 HTTP, 443 端口用于 HTTPS) sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 拒绝特定端口 sudo ufw deny 23 # 查看 UFW 详细状态 sudo ufw status verbose # 以编号形式显示所有规则 sudo ufw status numbered # 删除编号为 3 的规则 sudo ufw delete 3 # 删除规则(非编号方式) sudo ufw delete allow 80 # 重置 UFW 所有规则 sudo ufw reset
7. UFW 复杂规则示例
# 仅允许特定 IP 通过 TCP 协议访问指定端口 (例如 MySQL 3306 端口) sudo ufw allow from 192.168.1.100 to any port 3306 proto tcp # 允许特定 IP 通过 UDP 协议访问指定端口 (例如 1194 端口,用于 OpenVPN) sudo ufw allow from 192.168.1.100 to any port 1194 proto udp # 开放一个端口范围 (例如 10000 到 20000 端口,用于 VoIP 或游戏服务器) sudo ufw allow 10000:20000/tcp # 限制 SSH (防止暴力破解) sudo ufw limit ssh # 细化限制:每 IP 每 30 秒最多 6 次连接,超过则拒绝 (默认规则) sudo ufw limit 22/tcp # 你也可以为其他服务设置类似的连接限制,例如 HTTP 服务 sudo ufw limit 80/tcp
8. 防火墙日志
# 启用日志(建议在排查问题时使用) sudo ufw logging on # 查看 UFW 日志 sudo tail -f /var/log/ufw.log
本文出处:HiFeng's Blog
本文链接:https://hicairo.com/post/80.html
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA许可协议。转载请注明出处!