Ich habe zu Hause ein ziemlich standardmäßiges Setup, das aus einem einzelnen Subnetz 192.168.240.0/24 besteht, und mein DSL-Router sitzt auf 192.168.240.1. Andere Geräte belegen ab 192.168.240.64.
Aber ich habe jetzt einen Linux-Server auf 192.168.240.16 hinzugefügt, der zwei NICs hat. Einer saß offensichtlich am 192.168.240.0/24 und ein anderer am 192.168.241.0/24 (192.168.241.16).
Momentan gibt es auf 192.168.241.0/24 nichts anderes, aber ich beabsichtige, mein DSL-Modem in naher Zukunft auf dieses Subnetz zu verlegen.
Ich versuche, das Routing auf der Linux-Box zwischen den beiden Schnittstellen zu konfigurieren, und ich glaube, das funktioniert. Aber bevor ich das DSL-Modem umstelle, dachte ich, ich würde sicherstellen, dass das Routing funktioniert.
Ich habe die Routing-Tabelle auf dem Mac überprüft (mit netstat -r
), bevor ich etwas unternommen habe, was (abzüglich irrelevanter Einträge) wie folgt aussah:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
Also habe ich dann eine statische Route auf dem Mac wie folgt konfiguriert:
route add -net 192.168.241.0/24 192.168.240.16
Dann zeigte die Routing-Tabelle auf dem Mac:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
192.168.241 192.168.240.16 UGSc 0 1 en0
Als ich dann versuchte, die zweite Schnittstelle auf meiner Linux-Box vom Mac aus anzupingen, erhielt ich keine Antwort. Als ich die Routing-Tabellen erneut überprüfte, erschien zu meinem Erstaunen eine zusätzliche Zeile.
Destination Gateway Flags Refs Use Netif Expire
default 192.168.240.1 UGSc 4665 0 en0
192.168.240 link#4 UCS 8 0 en0
192.168.241 192.168.240.16 UGSc 0 1 en0
192.168.241.16 192.168.240.1 UGHDI 0 17 en0
Warum wurde diese letzte Zeile angezeigt und warum wurde die zuvor erstellte Route nicht berücksichtigt? Was muss ich tun, um die Verwendung der von mir erstellten statischen Route zu erzwingen?
Antworten:
Ich denke, das D in UGHDI bedeutet dynamisch. Die Linux-Box teilte dem Mac mit, dass er keine Route zu diesem Subnetz kenne, und dass es besser sei, diese Daten an den DSL-Router zu leiten (da dies das Standard-Gateway der Linux-Box ist und daher vorausgesetzt wird, dass er weiß, wie sie zu leiten ist überall).
Dies impliziert, dass die Linux-Box keine Daten zwischen den NICs weiterleitet. Ich würde die Konfiguration überprüfen.
quelle
Es sieht so aus, als müssten Sie nicht nur das neue Subnetz hinzufügen, sondern auch eine neue Standardroute hinzufügen, die genau das ist, was Sie falsch gemacht haben.
Anekdotisch habe ich häufig Probleme mit der grundlegenden Namensauflösung und dem Netzwerkbetrieb auf Apple-Geräten (
ssh hostname
schlägt fehl mit "Host Hostname konnte nicht aufgelöst werden",nslookup hostname
gibt aber die IP- Adresse zurück), was mich nicht im Geringsten überrascht.quelle