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 2Docker 配置
相关项目: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开启转发
编辑/etc/sysctl.conf文件
net.ipv4.ip_forward=1编辑/etc/ufw/sysctl.conf文件
net/ipv4/ip_forward=1编辑 /etc/default/ufw 并确保:
DEFAULT_FORWARD_POLICY="ACCEPT"然后重启 ufw:
sudo systemctl restart ufw