ufw
Tue 23 September 2025
安装UFW防火墙
官方的帮助文档:https://help.ubuntu.com/community/UFW
前面,我们通过更改ssh端口的方式增强安全性。其实呢,你还可以通过管理VPS所有的端口来进一步增加安全性喔!这里我们介绍ufw。
首先,给大家可以看一段wiki上的介绍:
image-20220419151458184
大致来说,ufw是一个简单好用的防火墙工具,使用iptables进行设置。这里我不准备展开介绍iptables。自己想了解百度Google即可。
这里多说一句,iptables其实是一个很强大的防火墙工具,不过它确实很难用。如果你学会熟练地使用iptables的话,我觉得ufw应该也可以不用。像我们这种新手用ufw就足够了。
首先,观察一下自己的机器有没有ufw
which ufw # /usr/sbin/ufw
没有的话,直接安装一个:
sudo apt-get install ufw
如果有的话,就可以开始了!
用sudo ufw status查看防火墙状态。如果你之前没有设置过ufw,一般是显示Status: inactive。
下面我们逐步来设置ufw。
设置ufw的默认值
sudo ufw default deny incoming # 禁止所有进站的流量 sudo ufw default allow outgoing # 允许所有出站的流量
允许https/http连接
sudo ufw allow 80 # 默认http sudo ufw allow 443 # 默认https
允许新ssh端口(下文会用到)
sudo ufw allow 1234/tcp comment 'SSH_2' # 1234记得换成你自定义的端口喔
如果你遵循我的docker教程,80端口和443端口一般是由Nginx proxy manager进行管理。一般情况下,都是Nginx软件管理80和443端口(比如宝塔面板)。
你也可以根据自己的需要开放端口:
sudo ufw allow <你的端口号>/tcp comment '你想要的备注'
如果你用docker,通常要添加某个应用的端口号,这样才可以正常地通过NPM反代。
值得一提的是,iptable可以提供更加精细的调控,但ufw我还不知道怎么精细地控制端口不同类型的流量。
启动ufw:
sudo ufw enable # 启动ufw。重启主机后正式生效。
其它常用的命令有:
查看帮助
ufw -h
如果你改动了ufw规则,记得reload一下生效
sudo ufw reload
显示规则的数字
sudo ufw status numbered
删除某个规则。基于sudo ufw status numbered命令。
sudo ufw delete <数字>
删除规则更好用的方法是 ufw delete 。比如:
ufw delete allow 22 # 删除规则allow 22 ufw delete allow 22/tcp # 删除规则allow 22/tcp
Category: 待整理