¿Cómo configurar tablas de enrutamiento en OS X para redirigir el tráfico VPN?

Estoy tratando de configurar la tabla de rutas en mi máquina OS X para que el tráfico regular de Internet no pase por VPN, sino que solo se apunte a destinos específicos a través de VPN.

Cuando me conecto a VPN, crea una nueva ruta ' predeterminada ' para el destino de la interfaz ' jnc0 ' que redirige todo el tráfico a VPN.

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

¿Es posible establecer la prioridad para que todo el tráfico pase por vía default 192.168.0.1 en1en lugar de default 10.1.1.1 jnc0?

Tengo un script para Ubuntu que crea una tabla de enrutamiento, pero no estoy seguro de cómo ajustarlo para OS X.

Aquí está el guión:

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

Cuando trato de ejecutar:

sudo ip rule add from all lookup $ROUTE_TABLE_NAME prio 1000 

obtengo sudo: ip: command not found_

También cuando trato de ejecutar:

sudo rule add from all lookup $ROUTE_TABLE_NAME prio 1000

tampoco funciona con error sudo: rule: command not found.

Aquí está el código:

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

Agradecería cualquier ayuda y orientación.

Mi problema principal no es el comando de ruta, ya encontré cómo agregar rutas. El problema de que, por defecto, todo el tráfico pasa por la vpn. Si está dispuesto a ayudar, eche un vistazo a serverfault.com/questions/739830/…

Respuestas (1)

Si su cliente VPN establece una ruta predeterminada cuando se conecta, deberá eliminar esa ruta después de conectarse. Luego, las rutas estáticas que ha configurado deberían surtir efecto. Para editar la tabla de enrutamiento en macos, debe usar el comando de ruta con sudo. La sinopsis es:

ruta [-dnqtv] comando [[modificadores] argumentos]