如果你刚接触 Linux,听到 "防火墙" 可能会觉得高深莫测。但今天要介绍的ufw(Uncomplicated Firewall),光看名字就知道 —— 它是一款 "不复杂" 的防火墙工具,专为小白设计,用简单的命令就能搭建系统安全防线。
什么是 ufw?
防火墙的作用就像系统的 "门卫",决定哪些网络流量可以进出你的电脑。而ufw是 Linux 系统中一款简化了的防火墙管理工具,它把复杂的iptables命令包装成了普通人能看懂的操作,哪怕你不懂网络原理,也能快速上手。
简单说:ufw 让设置防火墙变得像搭积木一样简单。
检查并安装 ufw
大多数 Linux 系统(比如 Ubuntu、Debian)默认已经预装了 ufw,我们可以先检查一下:
ufw --version
如果显示版本信息(比如ufw 0.36),说明已经安装。如果提示 "命令未找到",可以用下面的命令安装:
- 
Ubuntu/Debian 系统: sudo apt install ufw
- 
CentOS/RHEL 系统(需要先启用 EPEL 源): sudo dnf install ufw
安装完成后,就可以开始使用了。
基础操作:给系统 "上锁"
- 
启用防火墙 默认情况下,ufw 是关闭的(相当于大门敞开),我们需要先启用它: sudo ufw enable,执行后会提示 "防火墙在系统启动时自动启用",这意味着下次重启电脑后,防火墙依然会生效。
- 
查看当前防火墙状态 想知道防火墙是否在工作,以及当前有哪些规则,可以用: sudo ufw status。刚启用时,输出可能是这样的:Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere这表示防火墙已激活(Status: active),并且允许 22 端口(SSH 服务)的流量进入。 如果想看到更详细的信息(包括端口对应的服务名称),可以加verbose参数: sudo ufw status verbose 
- 
关闭防火墙(谨慎使用) 如果遇到网络问题需要临时关闭防火墙,可以用: sudo ufw disable。但注意:日常使用中请保持防火墙开启,否则系统会暴露在网络风险中。
核心技能:添加防火墙规则
防火墙的核心是 "规则"—— 允许什么流量,禁止什么流量。ufw 的规则设置非常直观,记住两个关键词:allow(允许)和deny(禁止)。
允许特定端口的流量
网络服务通常通过 "端口" 通信,比如:
- SSH 远程连接用 22 端口
- 网页服务器用 80(HTTP)和 443(HTTPS)端口
- FTP 文件传输用 21 端口
如果你的电脑需要提供这些服务,就需要允许对应的端口:
# 允许SSH(22端口)连接(默认可能已经允许)
sudo ufw allow 22/tcp
# 允许访问网页服务器(80和443端口)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 允许FTP服务(21端口)
sudo ufw allow 21/tcp
禁止不需要的端口
对于不常用的端口,应该禁止外部访问,比如关闭 3306 端口(MySQL 数据库,只在需要远程连接时开放):
sudo ufw deny 3306/tcp
按服务名称设置规则
ufw 还支持直接用服务名称(比如ssh、http)来设置规则,更直观:
# 允许SSH服务
sudo ufw allow ssh
# 允许HTTP和HTTPS服务
sudo ufw allow http
sudo ufw allow https
这和用端口号设置的效果完全一样,因为系统已经记录了服务与端口的对应关系(比如ssh对应 22 端口)。
允许特定 IP 地址访问
如果只想让某个 IP 地址(比如你的另一台电脑)连接到当前系统,可以这样设置:
# 允许IP为192.168.1.100的设备访问所有端口
sudo ufw allow from 192.168.1.100
# 只允许192.168.1.100访问22端口(SSH)
sudo ufw allow from 192.168.1.100 to any port 22
禁止来自某个 IP 的访问
如果发现某个 IP 地址有恶意访问,可以拉黑它:
sudo ufw deny from 10.0.0.5
管理规则:修改和删除
设置好的规则不是一成不变的,我们可以随时调整。
查看规则编号
删除规则前,需要先知道规则的编号:
sudo ufw status numbered
# 会显示类似这样的列表:
     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
删除指定规则
比如要删除编号为 2 的规则(允许 80 端口):
sudo ufw delete 2
系统会提示确认,输入y即可。
重置所有规则
如果规则设置混乱,想从头开始,可以重置防火墙:
sudo ufw reset
这会清除所有已设置的规则,回到初始状态(默认关闭)。
实用技巧:让防火墙更好用
设置默认策略
默认策略是指当流量不匹配任何规则时,防火墙的处理方式。建议设置:
# 默认禁止所有 incoming(进入)流量
sudo ufw default deny incoming
# 默认允许所有 outgoing(出去)流量
sudo ufw default allow outgoing
这样既能阻止外部的恶意访问,又不影响自己正常上网。
允许 ping 请求
默认情况下,ufw 会禁止其他设备用ping命令检测你的电脑是否在线。如果需要允许:
sudo ufw allow icmp echo-request
限制 SSH 连接频率(防暴力破解)
可以用limit参数限制某个端口的连接频率,比如防止别人反复尝试 SSH 密码:
sudo ufw limit ssh/tcp
这会设置为:如果在 30 秒内有 6 次以上的连接尝试,就暂时阻止该 IP。
总结:安全操作三步骤
- 启用防火墙:sudo ufw enable
- 只开放需要的端口:比如sudo ufw allow ssh、sudo ufw allow http
- 定期检查规则:sudo ufw status
ufw 的核心思想就是 "最小权限"—— 只允许必要的网络流量,其他一概禁止。掌握了这些基础操作,你的 Linux 系统就有了一道坚实的安全屏障。
如果后续需要添加新服务,只需记住ufw allow 端口号;遇到不需要的规则,用delete命令移除即可。
 
 
                     
            
        













 
                    

 
                 
                    