跳到主要内容

UFW:简单易上手的防火墙规则管理工具

· 阅读需 4 分钟

前言

UFW 是一款在 Debian 系系统中可用的防火墙规则管理工具,可以帮助你快速配置各种服务的端口访问权限,而不用书写冗长的 iptables 规则命令。

安装

可以使用apt快速安装。

apt install ufw

启用/禁用

使用以下命令来启用 UFW,并且会随着系统开启而启动。

ufw enable

使用以下命令来停止 UFW。

ufw disable

默认行为

使用ufw default命令来配置默认行为,以下两条是 UFW 初始化的默认行为;默认拒绝所有入流量,允许所有出流量。

ufw default deny incoming
ufw default allow outgoing

你可以使用ufw default命令来覆盖默认行为,使用allow/denyincoming/outgoing/routed组合。

使用下面的命令来查看当前的默认行为。

ufw status verbose

image-20211231173659554

添加规则

放行/禁止端口

以下命令用于放行 53 端口的 TCP 和 UDP 流量。

ufw allow 53

以下命令用于仅放行 53 端口的 TCP 流量。

ufw allow 53/tcp

以下命令用于仅放行 53 端口的 UDP 流量。

ufw allow 53/udp

还可以一次放行一个范围内的端口。

ufw allow 1000:2000/tcp

禁止命令就是用deny替代allow

ufw deny 53
ufw deny 53/tcp
ufw deny 53/udp
ufw deny 1000:2000/tcp

放行/禁止 IP

ufw allow from 1.2.3.4
ufw deny from 1.2.3.4

删除规则

使用ufw delete命令来删除一条之前添加的规则。

ufw delete allow 53
ufw delete deny from 1.2.3.4

或者使用下面的命令列出添加的规则并编号,通过编号删除规则。

ufw status numbered
ufw delete 2

image-20211231173743883

常用服务端口

在添加或删除关于端口的规则时,除了手动指出端口号之外,还可以通过服务名称来放行/禁止端口。

ufw allow ssh
ufw deny ssh
ufw delete allow ssh
ufw delete deny ssh

服务名和端口号定义在/etc/services文件中。在其中有关ssh服务的部分是这样写的。

ssh   22/tcp        # SSH Remote Login Protocol

UFW 会根据此文件内容管理端口。

常用的服务名称有sshhttphttps等。

参考资料