Linux笔记:ufw使用教程

本文最后更新于:2024年1月17日 下午

本文非原创

UFWUbuntu 的一款防火墙工具,它提供了一套管理网络过滤器的框架,又提供了控制防火墙的命令行界面接口。它给那些不熟悉防火墙概念的 Linux 新用户提供了友好、易使用的用户界面,用来设置复杂的防火墙规则。

安装 UFW

检查下系统上是否已经安装了 UFW

1
sudo dpkg --get-selections | grep ufw

如还没有安装,通过 apt-get install 命令来安装

1
2
sudo apt-get update
sudo apt-get install ufw

配置 UFW

开启 IPv6 支持

若不启用 IPv6 支持,默认情况 ufw 防火墙只针对 IPv4。若要启用 IPv6 支持,请使用 nano、vim 或者其他您喜欢的编辑器打开 UFW 配置:

1
sudo vim /etc/default/ufw

然后确定 IPV6 的值为 yes。它应该如下所示:

1
IPV6=yes

保存并关闭文件。

默认策略

刚开始使用 UFW 防火墙,则要定义的第一个规则是您的默认策略

1
2
sudo ufw default deny incoming
sudo ufw default allow outgoing

默认策略为拒绝传入并允许传出连接。

启用/禁用

在使用前,你应该检查下 UFW 是否已经在运行。

1
sudo ufw status

启用 ufw 前,请添加允许 ssh 连接的相关规则,如下:

1
sudo ufw allow ssh

如果你发现状态是 inactive ,意思是没有被激活或不起作用。

1
2
3
sudo ufw enable  #启用
sudo ufw disable #禁用
sudo ufw reset #重置

列出当前UFW规则

1
sudo ufw status verbose

允许入站(allow)

默认情况,没有允许就是拒绝(入站),使用 ufw allow <端口> 来添加允许访问的端口或协议。规则中未明确指定 tcp 或 udp 协议,默认将对 tcp 或 udp 协议同时生效。

示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#添加22端口
sudo ufw allow ssh

#添加80端口
sudo ufw allow http

#添加443端口
sudo ufw allow https

#添加2333端口,仅TCP协议
sudo ufw allow 2333/tcp

#添加6666端口,仅UDP协议
sudo ufw allow 6666/udp

#添加8888到9999之间的端口
sudo ufw allow 8888:9999

# 允许来自特定 IP 地址的连接
sudo ufw allow from 203.0.113.4

# 允许特定ip连接特定的端口
sudo ufw allow from 203.0.113.4 to any port 22

# 允许 203.0.113.1 到 203.0.113.254 连接
sudo ufw allow from 203.0.113.0/24

# 允许 203.0.113.1 到 203.0.113.254 连接指定端口
sudo ufw allow from 203.0.113.0/24 to any port 22

拒绝访问(deny)

使用 sudo ufw deny <端口> 来添加拒绝入站的端和协议,与添加允许的类似,差别只是 allow 换成了 deny

删除规则

普通删除

先使用 sudo ufw status 查看规则,再使用 sudo ufw delete [规则] <端口> 来删除规则。此方法将删除 IPv4IPv6 规则(如果存在)。

1
sudo ufw delete allow 2333/tcp

通过编号删除

如果你有很多条规则,则在运行 sudo ufw status 命令查看规则时通过追加 numbered 参数,来给每条规则显示编号。

1
2
3
4
5
To      Action          From
-- ----------- ------
[1] 22/tcp ALLOW 192.168.0.104
[2] 21/tcp ALLOW Anywhere
[3] 21/tcp ALLOW Anywhere (v6)

然后使用 sudo ufw delete <编号> 来删除规则会是更方便的选择。但需要注意的是,如果启用了 IPv6 ,则还需要删除相应的 IPv6 规则。

关于 ufw 防火墙工具的更多用法,输入 man ufw 查看 ufw 用户手册。

参考资料


Linux笔记:ufw使用教程
https://pawswrite.xyz/posts/ad88c346.html
作者
Rainbow
发布于
2024年1月17日
许可协议