Verwenden Sie iproute2.
ip route add unreachable 74.1.1.0/24
In diesem Fall ist es besser, das Routing zu verwenden, um den ausgehenden Datenverkehr zu diesem Netzwerk zu verweigern, als den Netzfilter. Für Inbound ist es idiomatischer, netfilter zu verwenden, wie in einer anderen Antwort hier, aber mit --src
statt --dst
und besser mit verbotenem ICMP-Administrator oder einfach fallen zu lassen. Sie können die RPDB verwenden (siehe ip-rule(8)
, um den gleichen Effekt zu erzielen, wird aber wahrscheinlich fehl am Platz aussehen).
Verwenden Sie nicht ifconfig, route oder andere Tools aus dem net-tools
Paket. Sie sind längst veraltet.
Sie können bestätigen, was der Router selbst als Routingentscheidung verwendet.
$ ip route get 74.1.1.0/24
RTNETLINK answers: Network is unreachable
Beachten Sie, dass das Verb 'get' nicht mit 'show' (oder 'list') identisch ist, da es die Routing-Entscheidung 'berechnet', anstatt nur Einträge in der Routing-Tabelle zu filtern und aufzulisten.
Bei Hosts auf Ihrer Seite des Netzwerks ist das ICMP-Zielnetz nicht erreichbar.
$ ping 74.1.1.1 -c 1
PING 74.1.1.1 (74.1.1.1) 56(84) bytes of data.
From 172.16.6.254 icmp_seq=1 Destination Net Unreachable
--- 74.1.1.1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0.7ms
$ echo $?
1
Wenn der betroffene Benutzerbereich defekt ist und nicht sofort einen Fehler zurückgibt, ist dies ein weiteres Problem. Der Kernel kann solch einen fehlerhaften Benutzerraum nicht kompensieren.