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: 待整理