Wie richte ich Routing-Tabellen unter OS X ein, um den VPN-Verkehr umzuleiten?

Ich versuche, eine Routentabelle auf meinem OS X-Computer einzurichten, damit der normale Internetverkehr nicht über VPN läuft, sondern nur bestimmte Ziele über VPN angesteuert werden.

Wenn ich mich mit VPN verbinde, wird eine neue „ Standard “-Route für das Ziel der Schnittstelle „ jnc0 “ erstellt, die den gesamten Datenverkehr an VPN umleitet.

netstat -nr
Routing tables

Internet:

Destination     Gateway        Flags      Refs     Use     Netif Expire
default         10.1.1.1       UGSc       36       65      jnc0
default         192.168.0.1    UGScI      20       0       en1

Ist es möglich, eine Priorität festzulegen, sodass der gesamte Datenverkehr über default 192.168.0.1 en1statt über geht default 10.1.1.1 jnc0?

Ich habe ein Skript für Ubuntu, das eine Routing-Tabelle erstellt, aber ich bin mir nicht sicher, wie ich es für OS X anpassen soll.

Hier ist das Skript:

SET_PRIORITY=$(sudo ip rule  | grep -c $ROUTE_TABLE_NAME)

if [ $SET_PRIORITY -eq 0 ]; then
    sudo ip rule add from all lookup $ROUTE_TABLE_NAME prio 1000 
fi 

sudo ip route flush table $ROUTE_TABLE_NAME

sudo ip route add default via $ROUTER_IP dev $LOCAL_IFACE metric 0 table $ROUTE_TABLE_NAME

sudo ip route add default via $VPN_IP dev $VPN_IFACE metric 1 table $ROUTE_TABLE_NAME 

sudo ip route add 172.0.0.1/16 via $VPN_IP dev $VPN_IFACE table $ROUTE_TABLE_NAME

Wenn ich versuche auszuführen:

sudo ip rule add from all lookup $ROUTE_TABLE_NAME prio 1000 

Ich bekomme sudo: ip: command not found.

Auch wenn ich versuche auszuführen:

sudo rule add from all lookup $ROUTE_TABLE_NAME prio 1000

es geht auch nicht mit Fehler sudo: rule: command not found.

Hier ist der Code:

sudo ip route flush table $ROUTE_TABLE_NAME
sudo: ip: command not found

sudo route add default via $ROUTER_IP dev $LOCAL_IFACE metric 0 table $ROUTE_TABLE_NAME
route: bad address: via

sudo route add 172.0.0.1/16 via $VPN_IP dev $VPN_IFACE table $ROUTE_TABLE_NAME
route: bad address: via

Ich würde mich über jede Hilfe und Anleitung freuen.

Mein Hauptproblem ist nicht der Routenbefehl, ich habe bereits herausgefunden, wie man Routen hinzufügt. Das Problem, dass standardmäßig der gesamte Datenverkehr durch das VPN geht. Wenn Sie bereit sind zu helfen, werfen Sie einen Blick auf serverfault.com/questions/739830/…

Antworten (1)

Wenn Ihr VPN-Client beim Herstellen einer Verbindung eine Standardroute festlegt, müssen Sie diese Route nach dem Herstellen der Verbindung löschen. Dann sollten die von Ihnen konfigurierten statischen Routen wirksam werden. Um die Routing-Tabelle in Macos zu bearbeiten, sollten Sie den Route-Befehl mit sudo verwenden. Die Zusammenfassung lautet:

route [-dnqtv] Befehl [[Modifizierer] Argumente]