1、安装

sudo apt-get install ufw

2、启用

sudo ufw enable
sudo ufw default deny

运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。default deny 是一种防火墙策略,它表示所有的网络流量都被默认拒绝。只有被明确允许的流量才能通过防火墙。

规则才能生效?
添加规则后,ufw防火墙会立即生效,不需要重载防火墙规则。您可以使用以下命令来检查规则是否已经生效


3、允许/禁用指定的端口或协议通过UFW

sudo ufw allow|deny [service]

4、查看防火墙状态

防火墙版本:sudo ufw version

sudo ufw status

下图表示运行中


是否开机自启:开启/关闭防火墙 (默认设置是’disable’)

sudo  ufw enable|disable

转换日志状态

sudo  ufw logging on|off

设置默认策略 (比如 “mostly open” vs “mostly closed”)

sudo  ufw default allow|deny

许可或者屏蔽端口 (可以在“status” 中查看到服务列表)。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:

sudo  ufw allow|deny [service]

显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。:

sudo  ufw status

以下是在Ubuntu上使用ufw防火墙进行TCP/UDP端口管理的常用命令示例:
UFW 使用范例:

允许 53 端口
$ sudo ufw allow 53
禁用 53 端口
$ sudo ufw delete allow 53

允许 80 端口
$ sudo ufw allow 80/tcp
禁用 80 端口
$ sudo ufw delete allow 80/tcp

允许 smtp 端口
$ sudo ufw allow smtp
删除 smtp 端口的许可
$ sudo ufw delete allow smtp

允许某特定 IP
$ sudo ufw allow from 192.168.254.254
删除上面的规则
$ sudo ufw delete allow from 192.168.254.254

开放TCP端口
要打开TCP端口,您可以使用以下命令:

sudo ufw allow <port_number>/tcp

例如,要打开TCP端口80,您可以使用以下命令:

sudo ufw allow 80/tcp

开放UDP端口
要打开UDP端口,您可以使用以下命令:

sudo ufw allow <port_number>/udp

例如,要打开UDP端口53,您可以使用以下命令:

sudo ufw allow 53/udp

开放多个端口:

sudo ufw allow <端口号1>,<端口号2>,<端口号3>/tcp

例如,要开放端口80、443和8080:

sudo ufw allow 80,443,8080/tcp

开放端口段:

sudo ufw allow <起始端口号>:<结束端口号>/tcp

例如,要开放端口范围为2000到3000:

sudo ufw allow 2000:3000/tcp

注意:以上命令中的“tcp”可以替换为“udp”,以开放UDP端口。


使用命令针对IP/IP段开放端口:

sudo ufw allow from <IP段> to any port <端口号> proto <协议>

其中,<IP段> 可以使用 CIDR 表示法,例如:

  • 单个 IP 地址:192.168.1.100
  • 一个网段:192.168.1.0/24
  • 一个子网:10.0.0.0/8

示例:

sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp

上述命令允许从 IP 段 192.168.1.0/24 访问本机的 TCP 端口 22

禁用端口
要禁用端口,您可以使用以下命令:

sudo ufw deny <port_number>

例如,要禁用端口22,您可以使用以下命令:

sudo ufw deny 22

删除规则

sudo ufw delete <规则序号>

其中,<规则序号> 是要删除的规则在规则列表中的序号。可以使用 sudo ufw status numbered 命令查看规则列表及其序号。

sudo ufw status numbered

示例:
要删除端口规则,您可以使用以下命令:

sudo ufw delete <rule_number>

例如,要删除第3条规则,您可以使用以下命令:

sudo ufw delete 3