
Ich war so verwirrt über meine Konfiguration.
Auf meinem Server habe ich 2 Schnittstellen:
eth0: 192.168.1.22 gw 192.168.1.1
eth2: 10.2.1.6 gw 10.2.1.1
Ich habe eine statische Route geschrieben:
ip r a 8.8.8.8 via 192.168.1.1
worked great!!
then I deleted it and
ip r a 8.8.8.8 dev eth0
From 192.168.1.22 icmp_seq=1 Destination Host Unreachable
Warum?????
Antwort1
In der zweiten Form ( ip r a 8.8.8.8 dev eth0
) hast du kein Gateway angegeben. An welchen Router soll das Paket also weitergeleitet werden? Da dein Server keine Gateways kennt, antwortet er einfach mit „Zielhost nicht erreichbar“.
Die Angabe einer Schnittstelle kann aus zwei Gründen sinnvoll sein:
- Wenn ein Remote-Host über dasselbe Gateway geroutet wird, ist er selbst erreichbar überzweiverschiedene Schnittstellen, können Sie zwei verschiedene Routen mit unterschiedlichen
dev
für das gleiche Gateway erstellen. Sie können dann zwischen den beiden Routen priorisieren übermetric
oder verwendenECMP-Routingum eine Art Lastausgleich zu erreichen; - für Punkt-zu-Punkt-Schnittstellen (denken Sie an VPN- oder Tun-Schnittstellen), bei denen der gesamte Datenverkehr von der angegebenen Schnittstelle „abgefangen“ wird (das Gateway ist dabei unwichtig)
Antwort2
ip r a 8.8.8.8 dev eth0
bedeutet „8.8.8.8 ist direkt mit der Schnittstelle eth0 verbunden“. Der Linux-Kernel versucht, die MAC-Adresse von 8.8.8.8 mit einer ARP-Anfrage aufzulösen, erhält keine Antwort und meldet den Fehler „Zielhost nicht erreichbar“