Wie priorisiert Mac OS X Netzwerkschnittstellen beim Routing?

20

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.

Studgeek
quelle
Haben Sie herausgefunden, wie Sie die Routenmetrik einstellen können?
Endryha

Antworten:

8

Die meisten Systeme befolgen diese Regeln bei der Auswahl der zu verwendenden Route:

  • Finden Sie die spezifischsten (dh die mit dem längsten passenden Präfix).
  • Wählen Sie die mit der höchsten Priorität .

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 -listnetworkserviceorderdiese Reihenfolge anzeigen und networksetup -ordernetworkservicesändern.

Diese Route aus Ihrer Ausgabe lässt mich denken, dass in Ihrem Fall auch die Spezifität eine Rolle spielt:

Destination        Gateway            Flags        Refs      Use   Netif Expire
0/1                10.10.99.100       UGSc            0        0    ppp0

Diese Route deckt die untere Hälfte des Adressraums ab und daher würde ich erwarten, auch zu finden:

128.0/1            10.10.99.100       UGSc            0        0    ppp0

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.

kirelagin
quelle
Unter Linux wird die Priorität nur durch die Metrik für einzelne Routingtabellenfälle bestimmt. Regeln mit höherer Priorität können jedoch die Metrik von Routen aus anderen Tabellen mit einem niedrigeren Prio-Regeleintrag in mehreren Routingtabellenfällen überschreiben. Auch beim dynamischen Routing muss die geringste administrative Distanz berücksichtigt werden.
Moreaki
Vielen Dank für: "Dies ist ein Standard-Trick, mit dem VPN-Software ihre Routen gegenüber den Standardrouten priorisiert". Dies half mir schließlich zu verstehen, dass WTF in meinem Fall vorging.
ipmcc
15

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

Samir Sogay
quelle
3
Gibt es eine Quelle, auf die Sie verweisen können, die dies bestätigt? Wenn Sie auf eine Website verweisen können, lohnt sich Ihre Antwort und die Leute stimmen darüber ab.
Slm
1
"Serviceauftrag festlegen" kann hier bestätigt werden: OS X Mountain Lion: Ändern Sie die Priorität Ihrer Netzwerkverbindungen
David Moles