如何启用ufw防火墙以允许icmp响应?


21

我有一系列的Ubuntu 10.04服务器,每个服务器都启用了ufw防火墙。我已允许端口22(用于SSH)​​和端口80(如果是网络服务器)。我的问题是我正在尝试启用icmp回声响应(ping回复)。

ICMP的功能不同于其他协议-从技术意义上讲,我知道它低于IP级别。您可以输入sudo ufw allow 22,但不能输入sudo ufw allow icmp

Answers:


17

ufw不允许通过命令行界面命令指定icmp规则。它确实允许您通过其规则文件iptables-restore样式文件来调整规则集。

ufw默认情况下确实允许某些icmp流量,包括icmp echo回复,并且默认情况下,它已在中配置/etc/ufw/before.rules

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

如果您的主机没有响应ping,请查看此文件以确保上面的行存在,如果该行不起作用,请查看ping主机以及它们之间的所有防火墙。


3
不适用于我:11.04服务器。如何解决此问题?
pylover

是否需要重置或类似的东西?
阿米尔·卡里米

1
@AmirKarimi sudo ufw reload(并允许ping请求我不得不添加-A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPT/etc/ufw/before.rules
baptx

2

对于Ubuntu 18.04,您应该在/etc/ufw/before.rules文件中具有以下规则:

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request            -j ACCEPT

# ok icmp code for FORWARD
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request            -j ACCEPT

这些都在我的默认文件中。

当然,请确保这确实是问题所在。我的问题是我的计算机阻止了ping到我尝试ping的服务器所在的网络。我最终使用了已经在Internet上访问过的网站为我执行ping操作(例如https://ping.eu/ping/)。



0

将以下内容添加到/etc/ufw/before.rules文件中:

# allow outbound icmp
-A ufw-before-output -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A ufw-before-output -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

编辑文件后,运行命令:

sudo ufw reload
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.