安装UFW
UFW已经默认包含在Ubuntu中,不过Arch和Debian系统应该也是安装好了的。 Debian可以使用systemd启动UFW,并能够开机启动,Arch则没有设置。默认情况下,UFW的规则集为空,因此即使UFW守护程序在运行,也不会强制执行任何防火墙规则。
Arch Linux
1.安装UFW:
- sudo pacman -S ufw
2.启动和激活UFW systemd unit:
- sudo systemctl start ufw
- sudo systemctl enable ufw
Debian / Ubuntu
1.安装UFW:
- sudo apt-get install ufw
使用UFW管理防火墙规则
设置默认规则
大多数系统只需要打开少量的端口让连接进入,其余的端口则关闭。 从一个简单基础的规则开始,可以使用ufw default命令来设对入站和出站连接设置默认响应规则。 要拒绝所有入站连接并允许所有出站连接,运行:
- sudo ufw default allow outgoing
- sudo ufw default deny incoming
ufw default命令还允许使用reject参数。
添加规则
可以通过两种方式添加规则:通过端口号或使用服务名称。
例如,要允许ssh端口22上的入站和出站连接,可以运行:
- sudo ufw allow ssh
也可以运行:
- sudo ufw allow 22
同样,要拒绝某个端口(在本例中为111)上的流量,您只需运行:
- sudo ufw deny 111
要进一步微调规则,您还可以允许TCP或UDP的数据包。 以下将允许端口80上的TCP数据包:
- sudo ufw allow 80/tcp
- sudo ufw allow http/tcp
而这将允许1725的UDP数据包:
- sudo ufw allow 1725/udp
高级规则
除了基于端口的设置允许或拒绝规则,UFW还允许您通过IP地址,子网和IP地址/子网/端口组合设置允许/阻止规则。
允许一个IP地址的连接:
- sudo ufw allow from 123.45.67.89
允许一个特定子网的连接:
- sudo ufw allow from 123.45.67.89/24
允许一个特定IP地址/端口的组合连接:
- sudo ufw allow from 123.45.67.89 to any port 22 proto tcp
proto tcp可以删除或改为proto udp,并且allow可以根据需要更改为deny。
删除规则
要删除规则,在规则前添加delete。 如果您不再希望允许HTTP流量,您可以运行:
- sudo ufw delete allow 80
激活防火墙
你的规则设置完成后,ufw初始运行状态可能会输出Status:inactive。 启用UFW并强制执行防火墙规则:
- sudo ufw enable
同样的,禁用防火墙规则:
- sudo ufw disable