OK, dieses Problem macht mich jetzt schon seit Tagen wahnsinnig. Normalerweise bin ich ein Linux-Typ, also kenne ich mich mit der Kommandozeile aus. Ich habe aber keine Ahnung, wo ich unter OSX suchen soll. Und normales Googeln hilft auch nicht weiter.
Hier ist mein Problem. Als ich die Box eingerichtet habe, war sie in einem Netzwerk, nämlich 10.x.x.x
. Das war in Ordnung. Wenn ich sie jetzt nach Hause bringe, rufe ich die Netzwerkschnittstelle auf, verbinde mich mit meinem WLAN zu Hause und versuche, Dinge anzupingen:
$ ping google.com
PING google.com (74.125.113.104): 56 data bytes
Request timeout for icmp_seq 0
^C
--- google.com ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
colossus:~ eteran$ ping google.com
PING google.com (74.125.113.104): 56 data bytes
ping: sendto: No route to host
Request timeout for icmp_seq 0
ping: sendto: No route to host
Request timeout for icmp_seq 1
„Keine Route zum Host“, ok, also schaue ich in den Routing-Tabellen nach …
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.255.255.1 UGSc 11 5 en1
10.255.255.1/32 link#5 UCS 1 0 en1
10.255.255.1 link#5 UHRLWI 12 0 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 19 2051 lo0
169.254 link#5 UCS 0 0 en1
192.168.10 link#5 UCS 4 0 en1
192.168.10.1 0:1f:90:23:7a:69 UHLWI 12 62 en1 1193
192.168.10.7 c0:cb:38:6c:3:33 UHLWI 2 164 en1 996
192.168.10.9 127.0.0.1 UHS 1 369 lo0
192.168.10.10 0:1a:a0:e6:ee:90 UHLWI 0 30 en1 903
192.168.10.255 link#5 UHLWbI 2 25 en1
Internet6:
Destination Gateway Flags Netif Expire
::1 ::1 UH lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en1/64 link#5 UC en1
fe80::5ab0:35ff:fe7b:dcf3%en1 58:b0:35:7b:dc:f3 UHL lo0
ff01::/32 ::1 Um lo0
ff02::/32 ::1 UmC lo0
ff02::/32 link#5 UmC en1
Jupp, da liegt das Problem, die Standardroute ist auf eingestellt 10.255.255.1
. Ich gehe davon aus, dass sie aus dem anderen Netzwerk stammt. Ich kann dies mit dem route
Befehl manuell anpassen. Aber beim nächsten Neustart ... ist es wieder da!
Der Router meines Heimnetzwerks ist 192.168.10.1
, also möchte ich natürlich, dass das die Standardroute ist. Und ich habe nachgeschaut, die DHCP-Anfrage sagt eindeutig, dass ich das als Standardroute verwenden soll. Aber OSX weigert sich einfach, das zu verwenden. Es besteht darauf, diese Standardroute für die vorherige Verbindung zu verwenden!
Wo wird das gespeichert und wie kann ich es ändern?
Antwort1
Die S
Flagge im Routeneintrag bedeutet, dass er manuell hinzugefügt wurde, sodass Sie ihn möglicherweise mit einem Befehl entfernen müssen.
Versuchen sudo route delete default
.
Antwort2
Es ist inSystemeinstellungenunterNetzwerkStellen Sie alles aufAutomatischund das sollte wieder normal werden.
Aktualisieren:Ein kraftvollerer Weg.
Drücke denStandorteund wählen SieStandorte bearbeiten. Klicken Sie auf , +um einen neuen Standort hinzuzufügen. Geben Sie ihm einen Namen Auto 2
(oder was auch immer). Wählen Sie diesen Standort aus und wenden Sie ihn an.
Antwort3
Der oben erwähnte manuelle Ansatz durch Löschen und Hinzufügen eines neuen Standard-Gateways mit dem Route-Befehl hat das Problem für mich gelöst, war aber nur eine vorübergehende Lösung, da beim Neustart erneut das falsche Gateway eingestellt wurde.
Um dieses Problem ein für alle Mal zu lösen, ich habe zunächst unter Systemeinstellungen/Netzwerk alle Schnittstellen entfernt und dann diejenigen wieder hinzugefügt, die ich für notwendig hielt. In meinem Fall nur „Ethernet“.
Dies war auf OS X Lion (10.7.5)
Antwort4
Wenn Sie zu Hause sowohl die Ethernet- als auch die WLAN-Verbindung verwenden, wird die Standardeinstellung Ihres Ethernets gegenüber dem WLAN-DHCP bevorzugt, da Ihr Ethernet in der Netzwerkliste ausgewählt sein muss. Um die Standardeinstellung aus der Routing-Tabelle zu entfernen, müssen Sie zu den Netzwerkeinstellungen und dann zu den IP-Adresseinstellungen gehen. Lassen Sie dort das Feld „Router“ leer, da dies das Standard-GW ist.