Debian ufw 防火墙命令 备忘手册

1 基础命令
安装ufw:apt-get install ufw
查看防火墙现有规则:ufw status
重新加载规则:sudo ufw reload
开启/关闭防火墙:
ufw enable //开启ufw disable //关闭
开启指定tcp或者udp端口:ufw allow 22/tcp
同时开启tcp与udp端口:ufw allow 445
开放一个端口范围:ufw allow 12000:13000/tcp (端口范围必须跟协议)
删除53端口:ufw delete allow 53
2 默认规则
开机自启动:sudo ufw enable
默认拒绝所有连接请求:sudo ufw default deny
3 特定网络接口的规则设置
突出显示的输出表示网络接口名称。 它们通常被命名为eth0或enp3s2 。
因此,如果您的服务器具有名为eth0的公共网络接口,则可以使用以下命令允许HTTP流量(端口80 ):sudo ufw allow in on eth0 to any port 80
这样做将允许您的服务器从公共互联网接收HTTP请求。或者,如果您希望MySQL数据库服务器(端口3306 )监听专用网络接口eth1上的连接,例如,您可以使用此命令:sudo ufw allow in on eth1 to any port 3306
这将允许专用网络上的其他服务器连接到MySQL数据库。
4 特定的IP地址规则设置
验证新添加的规则:sudo ufw status numbered
1、拦截或拒绝来自192.168.1.5的所有数据包:
sudo ufw deny from 192.168.1.5 to any
2、阻断或拒绝IP地址202.54.1.5访问80端口的请求:
sudo ufw deny from 202.54.1.5 to any port 80
3、拦截特定IP、端口以及协议:
阻断黑客IP地址202.54.1.1访问tcp 22端口(SSH协议),可以输入:
sudo ufw deny proto tcp from 202.54.1.1 to any port 22
4、移除已有的规则:
先查询:sudo ufw status numbered
后删除:sudo ufw delete NUM
5 匹配规则
UFW(iptables)规则的匹配基于规则出现的顺序,一旦匹配某个规则,检查便会停止。因此,如果某个规则允许访问TCP端口22(如使用udo ufw allow 22),后面另一个规则指示拦截某个IP地址(如使用 ufw deny proto tcp from 202.54.1.1 to any port 22)。最终,允许访问TCP端口22的规则会被使用,而后一个拦截黑客IP地址 202.54.1.1 却没有被使用。
这都是由于规则的顺序造成的。为避免这类问题,你需要编辑 /etc/ufw/before.rules文件,在“# End required lines”之后"Block an IP Address"添加规则。
查找如下所示的行:# End required lines
添加规则来拦截黑客或垃圾信息传播者:
# Block spammers
-A ufw-before-input -s 178.137.80.191 -j DROP
# Block ip/net (subnet)
-A ufw-before-input -s 202.54.1.0/24 -j DROP
保存并关闭文件。让防火墙重新加载配置信息:sudo ufw reload
特定路由选择性屏蔽
ufw route deny in on ens33【50】 out on ens38【1】 to 12.34.45.67
ufw route deny in on ens33 out on ens38 to 192.168.1.204




