8 votes

Comment faire passer certaines applications par un VPN et d'autres par ma connexion "standard" dans OSX 10.6 ?

Je travaille actuellement à l'étranger et j'utilise le VPN de mon entreprise pour le FTP et la navigation. Il s'agit d'une connexion relativement lente et, bien qu'elle convienne pour les besoins du VPN, la plupart de mes autres utilisations d'Internet peuvent être effectuées sans le VPN à une vitesse beaucoup plus élevée.

Existe-t-il un moyen d'indiquer à Safari et à mon logiciel FTP d'utiliser le VPN et de faire en sorte que toutes les autres connexions se fassent directement sur Internet.

J'utilise actuellement les préférences réseau d'OSX pour gérer ma connexion VPN.

Ta

6voto

Marcelo Points 888

J'envisagerais d'utiliser VirtualBox/VMWare Player pour faire fonctionner une petite machine pour vos besoins de connexion VPN afin que vous puissiez laisser la connexion internet principale de votre ordinateur libre de toute personnalisation.

De cette manière, les deux connexions sont complètement séparées et vous ne devez pas configurer ou personnaliser vos tables de routage ou vous préoccuper de configurations réseau complexes.

1voto

Capripot Points 113

Il semble que vous connaissiez les IP du réseau et le domaine auxquels vous vous connectez.

Un moyen d'y parvenir serait de n'utiliser le VPN qu'en fonction de l'IP/du domaine que vous demandez.

Vous pouvez le faire en utilisant le VPN intégré de macOS avec "Send all traffic through VPN" (envoyer tout le trafic via le VPN) non vérifié et définir des itinéraires.

Par exemple, si votre serveur FTP se trouve à 1.2.3.4, cette commande s'assurera que le trafic vers 1.2.3.4 utilisera le VPN pour accéder à l'internet :

/sbin/route -n add -net 1.2.3.4/32 -interface ppp0

Remarque : vous pouvez dresser la liste de tous les itinéraires existants à l'aide de netstat -rn .

Et si vous avez des IP dynamiques derrière le DNS, vous pouvez utiliser dig pour récupérer l'IP et l'ajouter aux routes (10.11.12.13 est l'adresse IP que vous avez obtenue du VPN).

dig -b 10.11.12.13 +noall +answer ftp.company.example

Il existe également un mécanisme d'accrochage qui examinera les éléments suivants /etc/ppp/ip-up et l'exécuter, ce qui permet d'automatiser le processus ci-dessus. Ce script bash script peut créer des routes et rechercher des adresses IP pour vous automatiquement.

Il s'agit d'un exemple approximatif pour donner une idée de ce qui peut être fait :

#!/bin/bash

# change name to whatever your VPN is named in Pref system
vpn_name="Company vpn" 

read_args() {
  # Example: ppp0 0 10.239.163.212 192.0.2.1 192.168.2.1
  iface=$1; shift 3
  remote_ip=$1; shift
}

log() {
  echo "$@" >&2
  echo "$@" 2>/dev/null >> /tmp/vpn-split-tunnel.log
}

get_vpn_iface() {
  /usr/sbin/scutil --nc status "$vpn_name" | grep InterfaceName | awk '{ print $3 }'
}

lookup_ips() {
  if [ "$MAC_OS_MAJOR_VER" -ge 11 ]; then
    xargs dig -b $remote_ip +noall +answer | grep 'IN\s\s*A' | awk '{ print $NF "/32" }'
  else
    xargs dig +noall +answer | grep 'IN\s\s*A' | awk '{ print $NF "/32" }'
  fi
}

init() {
  echo "" 2>/dev/null > /tmp/vpn-split-tunnel.log
  read_args "$@"
  vpn_iface=$(get_vpn_iface)

  if [[ "$iface" != "$vpn_iface" && -z "$DEBUG" ]]; then
    log "Interface $iface is not for the \"$vpn_name\" connection on interface $vpn_iface"
    exit
  fi
}

init "$@"

cmd=(/sbin/route -n add -net "1.2.3.4/32" -interface "$iface")
log ">> ${cmd[@]}" 
log $(${cmd[@]} 2>&1)

0voto

user60233 Points 13

Ce n'est pas exactement ce que vous recherchez, mais vous pouvez contourner la passerelle du VPN de sorte que tout ce qui se trouve en dehors du sous-réseau n'utilise pas le VPN : Comment faire en sorte que le VPN Windows achemine le trafic de manière sélective (par réseau de destination) ? .

0voto

atroon Points 2566

Dans la section Avancé des paramètres VPN, il existe un paramètre qui permet de réaliser ce que vous souhaitez, avec quelques mises en garde éventuelles. Il fait ce qui est décrit dans une autre réponse ici, c'est-à-dire qu'il envoie le trafic internet via votre passerelle par défaut normale, et ajoute simplement une route vers le sous-réseau VPN à votre table de routage.

Il peut y avoir des logiciels très spécialisés pour essayer de router en fonction de l'application, mais la plupart du routage se fait par adresse IP, en d'autres termes, pas "Safari et FTP", mais où vous pointez Safari et votre client FTP.

Voici l'écran dont je parle : VPN Options

Je suppose que si vous allez dans les préférences système, Réseau, choisissez votre connexion VPN et appuyez sur le bouton Avancé, vous verrez que tout votre trafic est envoyé via le VPN.

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