Um ein konkretes Beispiel zu geben: Wie wählt OSX aus, an welchen dieser Standardeinträge weitergeleitet werden soll netstat -nr
?
Destination Gateway Flags Refs Use Netif Expire
0/1 10.10.99.100 UGSc 0 0 ppp0
default 192.168.1.1 UGSc 5 0 en0
default 192.168.1.1 UGScI 1 0 en1
default 192.0.2.1 UGScI 157 2 ppp0
Soweit ich erfahren habe, verwendet OSX Metriken für seine Schnittstellen und nicht für seine Routing-Tabelleneinträge. Standardmäßig sind alle diese Schnittstellenmetriken 0. Wie wird also ausgewählt? Zuletzt erstellte Schnittstelle?
Ich habe einige Leute gesehen, die die Reihenfolge in den Netzwerkeinstellungen vorgeschlagen haben, aber in meinem Fall ist die ppp0-Schnittstelle (von SonicWall NetExtender) dort nicht aufgeführt.
Es gibt einige Diskussionen in diesem Thread , aber keine Antwort, die ich sehe.
macos
networking
netstat
ifconfig
Studgeek
quelle
quelle
Antworten:
Die meisten Systeme befolgen diese Regeln bei der Auswahl der zu verwendenden Route:
Unter Linux (und meines Erachtens unter Windows) wird die Priorität durch die Metrik bestimmt , unter macOS ist dies jedoch nicht der Fall, wie Sie richtig ausgeführt haben. Anstatt den einzelnen Routen Metriken zuzuweisen, weist macOS den Schnittstellen Prioritäten zu . Mit können Sie
networksetup -listnetworkserviceorder
diese Reihenfolge anzeigen undnetworksetup -ordernetworkservices
ändern.Diese Route aus Ihrer Ausgabe lässt mich denken, dass in Ihrem Fall auch die Spezifität eine Rolle spielt:
Diese Route deckt die untere Hälfte des Adressraums ab und daher würde ich erwarten, auch zu finden:
in Ihrer Routing-Tabelle. Hierbei handelt es sich um einen Standardtrick, mit dem die VPN-Software ihre Routen priorisiert
default
: Sie fügt zwei Routen hinzu, die alle IP-Adressen zusammen abdecken, von denen jedoch jede spezifischer als die Standardrouten ist, sodass sie gewinnen.quelle
Jede Routingtabelle, die mehrere Standardrouten mit gleichen Metriken enthält, führt einen Lastenausgleich durch. Der Fall bei einem Mac ist jedoch, dass er die erste Schnittstelle auswählt, die in der Schnittstellenliste enthalten ist. Wenn Sie die Liste sehen und ändern möchten, gehen Sie zu "Netzwerkeinstellungen öffnen". Hier sehen Sie eine Liste der Netzwerkschnittstellen wie Ethernet, Flughafen, PPP über Mobiltelefon oder 3G usw. Unterhalb der Liste sehen Sie ein Sternchen Option mit einem Abwärtspfeil. Klicken Sie darauf und legen Sie den "Serviceauftrag festlegen" fest. Hier können Sie die Einstellungen Ihrer speziellen Benutzeroberfläche ändern.
http://www.sustworks.com/site/prod_ipnrx_help/html/AlternateRouteHelp.html
quelle