Deaktivieren Sie die ICMP-Antwort auf der CentOS 7-Firewall, mit Ausnahme einiger IP-Blöcke

Deaktivieren Sie die ICMP-Antwort auf der CentOS 7-Firewall, mit Ausnahme einiger IP-Blöcke

Ich habe eine Centos 7-Maschine mit FirewallD, und net.ipv4.conf.icmp_echo_ignore_all ist auf 0 eingestellt. Ich suche nach Firewall-Konfigurationen, um Ping-Antworten an externe IP-Adressen zu deaktivieren, aber einigen IP-Blöcken (wie 192.168.1.0/24, 10.0.0.0/8 usw.) zu erlauben, Ping-Antworten zu erhalten.

Wie kann ich das machen?

Antwort1

Hier ist eine Lösung mitiptables

[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 192.168.0.0-192.168.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -m iprange --src-range 10.0.0.0-10.255.255.255 -p ICMP --icmp-type 8 -j ACCEPT
[root@ttucker ~]# iptables -A INPUT -p ICMP --icmp-type 8 -j DROP

So sollte es danach aussehen:

[root@ttucker ~]# iptables -v -n -L INPUT | grep icmp
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 192.168.0.0-192.168.255.255 icmptype 8
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            source IP range 10.0.0.0-10.255.255.255 icmptype 8
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Iptables arbeitet, indem es die Regeln, die es hat, in einer gegebenen Kette der Reihe nach von oben nach unten auswertet. In diesem Fall ist es die INPUT-Kette. Wenn iptables eine Regel findet, die seinen Bedingungen entspricht, führt es die in angegebene Aktion aus -j.

In diesem Beispiel geben wir also an, dass die Aktion ist, wenn die Quelle von 10.0.0.0/8 oder 192.168.0.0/16 ist ACCEPT. Wenn die Quelladresse nicht in diesem Bereich liegt, trifft sie die dritte Regel, die besagt, dass DROP.

Hinweis: Sie müssen außerdem sicherstellen, dass Sie derzeit keine Regeln haben, die den gesamten ICMP-Verkehr akzeptieren, der vor diesen Regeln liegt.

Das -A INPUTbedeutet, dass an die INPUTKette angehängt werden soll. Sie möchten also zunächst die gesamte Eingabekette auflisten und alle anderen ICMP-Regeln löschen, die dort vorhanden sind.

So listen Sie die INPUT-Kettenregeln auf:

iptables -v -n -L INPUT

Bitte lassen Sie mich wissen, ob dies für Sie in Ordnung ist oder ob Sie weitere Fragen haben.

verwandte Informationen