UFW使用指南

ufw(Uncomplicated Firewall)是 Ubuntu 和 Debian 系列系统中提供的一个 简单易用的防火墙前端工具,它封装了 iptables,让我们用更友好的方式进行防火墙管理。


🧱 一、UFW 基本概念

  • 默认只管理 iptablesfilter 表(用于防火墙控制)

  • 通常只需要设置允许/拒绝端口或服务即可

  • UFW 不适合做复杂的 NAT 或端口映射任务(那仍然用 iptables


🚀 二、安装和启用

sudo apt update
sudo apt install ufw          # 安装
sudo ufw enable               # 启用防火墙
sudo ufw status               # 查看状态
sudo ufw disable              # 禁用防火墙

📌 三、常用规则操作

✅ 1. 允许端口

允许一个端口但未指定协议(就是端口号后带/tcp之类的协议)就是允许所有的协议流量经过此端口,拒绝同理。

sudo ufw allow 22             # 允许 SSH
sudo ufw allow 80             # 允许 HTTP
sudo ufw allow 443            # 允许 HTTPS

✅ 2. 拒绝端口

sudo ufw deny 21              # 拒绝 FTP

✅ 3. 只允许某个 IP 访问

sudo ufw allow from 192.168.1.100

允许某 IP 访问某端口:

sudo ufw allow from 192.168.1.100 to any port 22

✅ 4. 删除规则

查看编号:

sudo ufw status numbered

然后删除某条规则(例如编号 2):

sudo ufw delete 2

✅ 5. 限速规则(防止暴力攻击)

sudo ufw limit 22/tcp
  • 如果某个 IP 尝试多次连接 SSH,会被暂时封锁。


✅ 6. 开放端口范围 / 协议

sudo ufw allow 10000:20000/tcp
sudo ufw allow 60000:60010/udp

✅ 7. 指定网络接口开放规则

sudo ufw allow in on eth0 to any port 22 proto tcp

✅ 8. 拒绝所有流量(再逐个开放)

sudo ufw default deny incoming
sudo ufw default allow outgoing

然后再添加你要开放的端口:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

📖 四、查看状态与日志

查看规则状态:

sudo ufw status verbose

查看日志(默认写入 syslog):

sudo less /var/log/ufw.log

启用/禁用日志:

sudo ufw logging on
sudo ufw logging off

💾 五、开机自动启动

ufw 启动后默认就会随系统启动,不需要额外设置。如果你希望手动管理:

sudo systemctl enable ufw
sudo systemctl start ufw

🧪 六、实战例子:服务器只开放 SSH、HTTP、HTTPS

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22    # SSH
sudo ufw allow 80    # HTTP
sudo ufw allow 443   # HTTPS
sudo ufw enable

🧹 七、重置防火墙

如果你设置错了很多规则,想一键恢复默认:

sudo ufw reset
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享