web-dev-qa-db-fra.com

Comment acheminer sélectivement le trafic réseau via un réseau VPN sous Mac OS X Leopard?

Je ne souhaite pas envoyer tout mon trafic réseau vers un réseau VPN lorsque je suis connecté au réseau de mon entreprise (via un réseau VPN) depuis mon domicile. Par exemple, lorsque je travaille à domicile, j'aimerais pouvoir sauvegarder tous mes fichiers sur Time Capsule à domicile et pouvoir toujours accéder au réseau interne de l'entreprise.

J'utilise le client VPN intégré de Leopard. J'ai essayé de décocher "Envoyer tout le trafic via une connexion VPN". Si je le fais, je perdrai l'accès aux sites Web internes de mon entreprise, que ce soit via curl ou le navigateur Web (bien que les adresses IP internes soient toujours accessibles). L'idéal serait que je puisse choisir de manière sélective un ensemble d'adresses IP ou de domaines à acheminer via un réseau privé virtuel et garder le reste sur mon propre réseau. Est-ce réalisable avec le client VPN intégré de Leopard? Si vous avez des recommandations concernant les logiciels, j'aimerais également les entendre.

92
newtonapple

Créez le fichier/etc/ppp/ip-up avec le contenu suivant:

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

en remplaçant <SUBNET> par un sous-réseau, vous souhaitez acheminer via un réseau privé virtuel (par exemple 192.168.0.0/16)

exécuter en tant que root:

chmod 0755 /etc/ppp/ip-up

Ce fichier sera exécuté chaque fois que vous vous connecterez au VPN.

Les paramètres donnés au script:

  • $1: l'interface VPN (par exemple ppp0)
  • $2: Inconnu, était 0 dans mon cas
  • $3: IP du serveur VPN
  • $4: adresse de passerelle VPN
  • $5: passerelle standard (non-vpn) pour vos connexions LAN
82
Aleksei Balandin

Je voulais faire la même chose. Connectez le VPN puis acheminez un réseau supplémentaire via ce VPN. Je me suis retrouvé avec le morceau suivant d'Applescript:

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do Shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

Vous devez remplacer "Work" par le nom de votre connexion VPN, 192.168.1.1 par votre adresse de passerelle et 172.16.0.0/16 par l'adresse du réseau vers lequel vous souhaitez router. Des réseaux supplémentaires peuvent être ajoutés en répétant la dernière ligne avec des adresses différentes.

11
Martin Hilton

Il existe une fonctionnalité masquée dans les préférences réseau sous MacOS: vous pouvez trier les interfaces .

Ouvrez les Préférences Système -> Réseau -> Cliquez sur la gear en bas à gauche -> Set service Order...

 <code>Set service Order...</code>  VPN Ordering

Il est essentiel que vos interfaces réseau soient triés dans l'ordre dans lequel vous souhaitez les utiliser. Si vous souhaitez que TOUTES les données non-LAN accèdent au VPN, placez l'interface VPN en haut. Trier comme ça

  1. VPN
  2. Ethernet
  3. Aéroport

Pas comme ça:

  1. Aéroport
  2. Ethernet
  3. VPN

De cette façon, inutile de vérifier le paramètre suivant dans Session Options:

Envoyer tout le trafic via une connexion VPN

✅ Testé sur la connexion L2TP VPN

8
user31513

J'ai jeté un coup d'œil en ligne pour voir si je pouvais trouver quelque chose et, autant que je sache, vous semblez vouloir utiliser votre ordinateur normalement, tout en étant capable de vous connecter aux sites Web internes de l'entreprise. besoin de mettre en place une table de routage personnalisée.

Ce lien ne s'applique apparemment qu'à la version 10.4, mais les commandes en ligne de commande peuvent toujours fonctionner.

1
Alexis Hirst