如何使用firewalld删除icmp请求?

如何使用firewalld删除icmp请求?

如何使用firewalld删除icmp请求?

一个等效的例子,而不是使用iptables将会:

$ iptables -A INPUT --protocol icmp --in-interface enp0s8 -j DROP

上面的代码产生了所需的结果(无响应),如下所示:

[root@lexy1 ~]# ping l2
PING lexy2.example.vm (192.168.57.102) 56(84) bytes of data.
                      (no other output)

我可以使用以下方法阻止 icmp 请求:

$ firewall-cmd --zone=internal --add-icmp-block={echo-request,echo-reply}

然而返回输出如下:

[root@lexy1 ~]# ping l2
PING lexy2.example.vm (192.168.57.102) 56(84) bytes of data.
From lexy2.example.vm (192.168.57.102) icmp_seq=1 Destination Host Prohibited
From lexy2.example.vm (192.168.57.102) icmp_seq=2 Destination Host Prohibited
From lexy2.example.vm (192.168.57.102) icmp_seq=3 Destination Host Prohibited

Ping 不应收到表明该地址存在服务器的指示。 (这并不是试图通过默默无闻来确保安全。)

答案1

以下应该有效

删除所有 ICMP

firewall-cmd --set-target=DROP --zone=public --permanent
firewall-cmd --zone=nagios --remove-icmp-block={echo-request,echo-reply,timestamp-request,timestamp-reply} --permanent
firewall-cmd --reload

恢复默认值

firewall-cmd --set-target=default --zone=public --permanent  
firewall-cmd --reload

答案2

尝试使用以下命令:

systemctl stop iptables

相关内容