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?