Ho un'applicazione VPN che crea un'interfaccia logica in OS X a livello di programmazione.
Una volta creato, il suo configurato con IP privato e i parametri e la Tabella di instradamento vengono aggiornati di conseguenza.
Il "gateway predefinito dell'interfaccia fisica" inizialmente presentato viene cancellato. Il "gateway predefinito dell'interfaccia logica viene aggiunto" a livello di codice.
Dopo qualche tempo il sistema Mac OS X aggiorna la tabella di routing con il "gateway predefinito dell'interfaccia fisica" e appare come sotto
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: interfaccia logica creata dall'applicazione
- en1: interfaccia fisica
In base alle voci di routing di cui sopra, tutto il traffico viene instradato all'interfaccia logica creata dall'applicazione. Questo è ok in scenari normali.
Requisiti:
Ho bisogno di instradare solo specifici IP di destinazione attraverso l'interfaccia logica. Tutto il traffico rimanente deve essere indirizzato direttamente attraverso l'interfaccia fisica.
Problema riscontrato:
Una volta aggiunta la route predefinita per l'interfaccia logica, viene instradato tutto il traffico. Non ho il controllo su di esso.
Anche se all'applicazione viene impedito di aggiungere la route per l'interfaccia logica, il sistema Mac OS X aggiorna la tabella di routing e imposta il valore predefinito solo sull'interfaccia logica.
Quindi non è in grado di raggiungere il requisito.