UFW
UFW
安装启用
apt install ufw
ufw allow ssh
ufw enable
配置路径
/etc/ufw/user.rules
这是存储用户自定义规则的主要文件,包含了所有手动添加的规则。它是 ufw 在启用时加载的主要文件。/etc/ufw/user6.rules
这是存储针对 IPv6 网络的用户自定义规则的文件,类似于user.rules
,但是仅适用于 IPv6 地址。/etc/ufw/applications.d/
该目录用于存放应用程序的配置文件,每个文件通常对应一种应用服务的预定义规则。例如,OpenSSH、HTTP、HTTPS 等服务的规则可以在这里定义。/var/log/ufw.log
如果启用了日志记录,ufw
会将日志写入这个文件,记录哪些连接被允许或拒绝。/etc/ufw/after.rules
是 UFW (Uncomplicated Firewall) 的配置文件之一,用于定义在 UFW 启动时应用的规则,它在 before.rules 后面执行。具体来说,after.rules 用来设置一些防火墙规则,这些规则会在所有其他默认规则和自定义规则之后被应用。
一些配置
# 允许ssh
ufw allow ssh
# 允许iperf3
ufw allow iperf3
ufw allow 80/tcp
# ufw delete allow 80/tcp
ufw allow from 192.168.1.100 to any port 80 proto tcp
ufw allow 5555/tcp
删除指定规则
sudo ufw status numbered
ufw delete 2
Docker 配置
相关项目:ufw-docker
修改 UFW 的配置文件 /etc/ufw/after.rules
,在最后添加上如下规则:
# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward
-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.25.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16
-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.25.0.0/12
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.25.0.0/12
-A DOCKER-USER -j RETURN
-A ufw-docker-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW DOCKER BLOCK] "
-A ufw-docker-logging-deny -j DROP
COMMIT
# END UFW AND DOCKER
重新加载规则或者重启
ufw reload
systemctl restart ufw
允许外部访问某端口
## 允许
ufw route allow proto tcp from any to any port 3306
## ufw route delete allow proto tcp from any to any port 3306
## 允许特定IP访问
ufw route allow proto tcp from 172.17.0.2 to any port 80
禁Ping
编辑/etc/ufw/before.rules
在文件的顶部 *filter
部分,添加以下内容:
# 禁用 Ping
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
# 完全禁用
-A ufw-before-input -p icmp -j DROP
-A ufw-before-output -p icmp -j DROP
然后重新加载
sudo ufw reload