如何使用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