139 votes

Comment acheminer sélectivement le trafic réseau par VPN sur Mac OS X Leopard ?

Je ne veux pas envoyer tout mon trafic réseau vers le VPN lorsque je suis connecté au réseau de mon entreprise (via le VPN) depuis chez moi. Par exemple, lorsque je travaille à domicile, j'aimerais pouvoir sauvegarder tous mes fichiers sur la Time Capsule de mon domicile tout en ayant accès au réseau interne de l'entreprise.

J'utilise le client VPN intégré de Leopard. J'ai essayé de décocher la case "Envoyer tout le trafic sur la connexion VPN". Si je fais cela, je perdrai l'accès aux sites Web internes de mon entreprise, que ce soit via curl ou le navigateur Web (bien que les IP internes soient toujours joignables). L'idéal serait de pouvoir choisir de manière sélective un ensemble d'IP ou de domaines à acheminer par VPN et de garder le reste sur mon propre réseau. Est-ce possible avec le client VPN intégré de Leopard ?

126voto

Aleksei Balandin Points 1236

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

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

remplacement de <SUBNET> avec le sous-réseau que vous voulez acheminer par le VPN (par ex. 192.168.0.0/16)

exécutez 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 la passerelle VPN
  • $5 : Passerelle ordinaire (non-vpn) pour vos connexions lan.

19voto

Il existe un caractéristique caché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 l'icône gear en bas à gauche -> Set service Order...

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

Il est essentiel que vous ayez votre interfaces réseau triées dans l'ordre où vous voulez qu'ils soient utilisés. Si vous voulez que TOUTES les données non-LAN aillent vers le VPN, mettez l'interface VPN en haut. Faites comme ceci

  1. VPN
  2. Ethernet
  3. Aéroport

Pas comme ça :

  1. Aéroport
  2. Ethernet
  3. VPN

De cette façon, il n'est pas nécessaire de vérifier le paramètre suivant dans Session Options :

Envoyer tout le trafic sur une connexion VPN

Testé sur L2TP VPN connexion

11voto

Martin Hilton Points 1476

Je voulais faire une chose similaire. Connecter le VPN et ensuite router un réseau supplémentaire via ce VPN. Je me suis retrouvé avec le morceau d'Applescript suivant :

-- 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 changer "Work" au nom de votre connexion VPN, 192.168.1.1 à l'adresse de votre passerelle, et 172.16.0.0/16 à l'adresse du réseau vers lequel vous souhaitez vous diriger. Des réseaux supplémentaires peuvent être ajoutés en répétant la dernière ligne avec des adresses différentes.

1voto

Nathan Points 5352

J'ai jeté un coup d'œil sur Internet pour voir si je pouvais trouver quelque chose, et d'après ce que j'ai compris, vous semblez vouloir être en mesure d'utiliser votre ordinateur comme d'habitude, tout en étant capable de vous connecter aux sites Web internes de l'entreprise, donc, vous devrez peut-être configurer une table de routage personnalisée.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X