如何使用UFW配置防火墙

安装UFW

UFW已经默认包含在Ubuntu中,不过Arch和Debian系统应该也是安装好了的。 Debian可以使用systemd启动UFW,并能够开机启动,Arch则没有设置。默认情况下,UFW的规则集为空,因此即使UFW守护程序在运行,也不会强制执行任何防火墙规则。

Arch Linux

1.安装UFW:

  1. sudo pacman -S ufw

2.启动和激活UFW systemd unit:

  1. sudo systemctl start ufw
  2. sudo systemctl enable ufw

Debian / Ubuntu

1.安装UFW:

  1. sudo apt-get install ufw

使用UFW管理防火墙规则

设置默认规则

大多数系统只需要打开少量的端口让连接进入,其余的端口则关闭。 从一个简单基础的规则开始,可以使用ufw default命令来设对入站和出站连接设置默认响应规则。 要拒绝所有入站连接并允许所有出站连接,运行:

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

ufw default命令还允许使用reject参数。

添加规则

可以通过两种方式添加规则:通过端口号或使用服务名称。
例如,要允许ssh端口22上的入站和出站连接,可以运行:

  1. sudo ufw allow ssh

也可以运行:

  1. sudo ufw allow 22

同样,要拒绝某个端口(在本例中为111)上的流量,您只需运行:

  1. sudo ufw deny 111

要进一步微调规则,您还可以允许TCP或UDP的数据包。 以下将允许端口80上的TCP数据包:

  1. sudo ufw allow 80/tcp
  2. sudo ufw allow http/tcp

而这将允许1725的UDP数据包:

  1. sudo ufw allow 1725/udp

高级规则

除了基于端口的设置允许或拒绝规则,UFW还允许您通过IP地址,子网和IP地址/子网/端口组合设置允许/阻止规则。
允许一个IP地址的连接:

  1. sudo ufw allow from 123.45.67.89

允许一个特定子网的连接:

  1. sudo ufw allow from 123.45.67.89/24

允许一个特定IP地址/端口的组合连接:

  1. sudo ufw allow from 123.45.67.89 to any port 22 proto tcp

proto tcp可以删除或改为proto udp,并且allow可以根据需要更改为deny。

删除规则

要删除规则,在规则前添加delete。 如果您不再希望允许HTTP流量,您可以运行:

  1. sudo ufw delete allow 80

激活防火墙

你的规则设置完成后,ufw初始运行状态可能会输出Status:inactive。 启用UFW并强制执行防火墙规则:

  1. sudo ufw enable

同样的,禁用防火墙规则:

  1. sudo ufw disable