Tengo una aplicación VPN que crea una interfaz lógica en OS X mediante programación.
Una vez creado, se configura con IP y parámetros privados y la Tabla de enrutamiento se actualiza en consecuencia.
La 'puerta de enlace predeterminada de la interfaz física' presentada inicialmente se elimina. La 'puerta de enlace predeterminada de la interfaz lógica se agrega' mediante programación.
Después de algún tiempo, el sistema Mac OS X actualiza la tabla de enrutamiento con la 'puerta de enlace predeterminada de la interfaz física' y se ve a continuación
Destination Gateway Flags Refs use Netif Expire
--------------------------------------------------------------------
default xxx.xx.x.x UGSc 1 0 en3
default yyy.yyy.y.y UGScI 1 0 en1
- en3: interfaz lógica creada por la aplicación
- en1: interfaz física
De acuerdo con las entradas de enrutamiento anteriores, todo el tráfico se enruta a la interfaz lógica creada por la aplicación. Esto está bien en escenarios normales.
Requisito:
Necesito enrutar solo direcciones IP de destino específicas a través de la interfaz lógica. Todo el tráfico restante debe enrutarse directamente a través de la interfaz física.
Problema enfrentado:
Una vez que se agrega la ruta predeterminada para la interfaz lógica, todo el tráfico se enruta a través. No tiene control sobre eso.
Incluso si se impide que la aplicación agregue la ruta para la interfaz lógica, el sistema Mac OS X actualiza la tabla de enrutamiento y establece la configuración predeterminada solo en la interfaz lógica.
Por lo tanto, no es capaz de cumplir el requisito.