Ubuntu 22.04 上配置 ufw(Uncomplicated Firewall)防火墙的详细步骤

发布于:2025-03-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

以下是在 Ubuntu 22.04 上配置 ufw(Uncomplicated Firewall)防火墙的详细步骤:

1. 安装 UFW(如未预装)‌
 

sudo apt update
sudo apt install ufw

2. 启用 UFW‌
 

sudo ufw enable  # 启用防火墙(默认禁用)
sudo ufw status  # 查看状态和规则

3. 设置默认策略‌
拒绝所有传入流量‌,‌允许所有传出流量‌(推荐安全配置):
 

sudo ufw default deny incoming
sudo ufw default allow outgoing

4. 允许常用服务‌
SSH(远程登录)‌
 

sudo ufw allow ssh    # 或指定端口:sudo ufw allow 22/tcp


⚠️ 警告‌:如果通过 SSH 远程操作,务必先允许 SSH 端口,否则可能失去连接!

HTTP/HTTPS‌
 

sudo ufw allow http   # 80/tcp
sudo ufw allow https  # 443/tcp

其他服务‌
MySQL‌:
 

sudo ufw allow 3306/tcp

自定义端口‌:
 

sudo ufw allow 8080/tcp  # 允许 TCP 端口 8080
sudo ufw allow 53/udp    # 允许 UDP 端口 53(如 DNS)

5. 高级规则配置‌
允许特定 IP 访问‌
 

sudo ufw allow from 192.168.1.100          # 允许该 IP 访问所有端口
sudo ufw allow from 192.168.1.0/24 to any port 22  # 允许子网访问 SSH

限制 IP 或端口范围‌
 

sudo ufw deny from 10.0.0.5                # 拒绝特定 IP
sudo ufw allow 3000:4000/tcp              # 允许端口范围 3000-4000(TCP)

6. 删除规则‌
 

sudo ufw status numbered  # 查看规则编号
sudo ufw delete [规则编号]  # 根据编号删除规则

7. 禁用或重置防火墙‌
 

sudo ufw disable          # 禁用防火墙
sudo ufw reset           # 重置所有规则(需确认)

8. 查看日志‌
 

sudo ufw logging on       # 启用日志
tail -f /var/log/ufw.log  # 实时查看日志

9. 验证配置‌
 

sudo ufw status verbose  # 查看详细规则

示例场景‌

允许 Web 服务器并限制 SSH 访问:‌

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw deny 22/tcp  # 阻止其他 IP 访问 SSH

注意事项‌
修改规则后无需重启服务,ufw 会自动应用。
使用 ufw 前确保 iptables 服务已停止(sudo systemctl stop iptables)。
测试规则时建议通过本地终端操作,避免因配置错误导致断网。

通过以上步骤,您可以灵活配置 Ubuntu 22.04 的防火墙以满足不同需求。