MacOS X 10.2 permet de se connecter à un réseau privé virtuel (Virtual Private Network: VPN).
Un VPN offre un tunnel crypté entre une machine externe un réseau d'entreprise. Vous pouvez par exemple vous connecter à votre réseau d'entreprise depuis chez vous. Lorsque vous êtes connecté, toutes vos communication sont sécurisées et sont émises depuis l'intérieur de votre réseau d'entreprise.
MacOS X supporte les protocoles PPTP et IPSec. MacOS X Server 10.2 offre un serveur PPTP. Dans ce document je vais décrire l'utilisation et la configuration de PPTP.
24 octobre 2003 : MacOS X Server 10.3 offre PPTP et L2TP/IPSec, le client 10.3 intègre aussi L2TP/IPSec en plus de PPTP.
Vous pouvez ouvrir un tunnel PPTP au dessus d'une connexion existante. Ici on se connecte en ADSL Wanadoo via un modem Alcatel SpeedTouch USB.
À partir de ce moment, toutes communications passent par la connexion PPTP.
Attention dans la configuration actuelle, la connexion VPN sera coupée sur il n'y a aucune activité pendant 10 minutes, on se retrouvera automatiquement en connexion ADSL.
Truc : Pour contrôler ce qui se passe, ouvrir la fenêtre Historique de connexion (Menu Fenêtre de l'Application Connexion à Internet).
Pour configurer le client, cliquer sur la flêche bleue dans la fenêtre Connexion VPN. Remplir la zone Adresse du serveur avec le nom de la machine serveur VPN, le Nom avec votre loginVPN et le Mot de passe. Cliquer sur le bouton Se connecter.
Si vous avez mis en place un FireWall, n'oubliez-pas d'ouvrir la communication provenant du serveur VPN car la procédure d'authentification se connecte au poste client.
Note: IPSec utilise ESP (protocol 50) et AH (protocol 51).
Avec connexion PPTP | Sans connexion PPTP |
---|---|
ifconfig -a | |
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 |
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 |
netstat -rn | |
Routing tables |
Routing tables |
traceroute src.lip6.fr | |
traceroute to src.lip6.fr (132.227.64.100), 30 hops max, 40 byte packets |
traceroute to src.lip6.fr (132.227.64.100), 30 hops max, 40 byte packets |
#! /bin/sh
#
# Va afficher les commandes a executer en root
# adslr = adresse IP du routeur ADSL
# vpnr = adresse Ip du routeur VPN
#
adslr=`netstat -nr | grep ' UGHS ' | grep 'ppp0' | awk '{print $2}'`
vpnr=`netstat -nr | grep 'ppp1' | awk '{print $2}'`
echo '#'Routeur ADSL:$adslr
echo '#'Routeur VPN:$vpnr
echo sudo route delete default $vpnr
echo sudo route add default $adslr
echo sudo route add -net 132.227 $vpnr
echo sudo route add -net 134.157 $vpnr
echo sudo route add -host 195.83.118.1 $vpnr
echo ""
echo "#Pour remettre en etat"
echo sudo route delete -net 132.227
echo sudo route delete -net 134.157
echo sudo route delete -host 195.83.118.1
echo sudo route delete default $adslr
echo sudo route add default $vpnr
Pour activer le serveur PPTP au démarrage de la machine, il faut modifier le fichiers /etc/hostconfig
IPFORWARDING=-YES-
VPNSERVER=-YES-
VPN_ARGS=""
Le daemon vpnd va appeler pppd, il faut configurer les fichiers chap-secrets, pptp_addresses et pptp_service dans /etc/ppp. Le fichier chap-secrets ne doit être lisible que par root.
% ls -al /etc/ppp
-rw------- 1 root wheel 18 Mar 6 17:18 chap-secrets
-rw-r--r-- 1 root wheel 580 Mar 6 17:17 pptp_addresses
-rw-r--r-- 1 root wheel 117 Mar 3 22:05 pptp_service
chap-secrets contient les login et mot de passe des clients VPN
loginVPN * mot-de-passe *
pptp_addresses contient les adresses attribuées au clients VPN.
132.227.64.aaa
132.227.64.bbb
pptp_service contient les paramètres de configuration du serveur ppp.
#nodetach
pptpmode answer
mppe-stateless
mppe-128
require-chapms-v2
proxyarp
lcp-echo-failure 5
lcp-echo-interval 60
il est possible d'ajouter les lignes
ms-dns adresse-ip-dns-primaire
ms-dns adresse-ip-dns-secondaire
à la fin du fichier pptp_service ou dans un nouveau fichier nommé /etc/ppp/options. Cela sera effectif si vous ne remplissez pas le champ facultatif Serveurs DNS dans l'onglet TCP/IP de PPTP des Préférences système Réseau.
Sur le serveur, /var/log/system.log fait apparaître
Mar 9 18:21:08 pptp pppd[4494]: PPTP incoming call in progress from '80.13.102.19'...
Mar 9 18:21:08 pptp pppd[4494]: PPTP connection established.
Mar 9 18:21:08 pptp mach_kernel: pptp_wan_attach, link index = 0, (ld = 0x2186704)
Mar 9 18:21:08 pptp pppd[4494]: Using interface ppp0
Mar 9 18:21:08 pptp pppd[4494]: Connect: ppp0 <--> socket[34:17]
Mar 9 18:21:08 pptp pppd[4494]: MSCHAP-v2 peer authentication succeeded for loginVPN
Mar 9 18:21:08 pptp pppd[4494]: MPPE 128 bit, stateless compression enabled
Mar 9 18:21:08 pptp pppd[4494]: found interface en0 for proxy arp
Mar 9 18:21:08 pptp pppd[4494]: local IP address 132.227.64.pptp
Mar 9 18:21:08 pptp pppd[4494]: remote IP address 132.227.64.aaa
....
Mar 9 18:27:20 pptp pppd[4494]: LCP terminated by peer (User request)
Mar 9 18:27:21 pptp pppd[4494]: Connection terminated.
Mar 9 18:27:21 pptp pppd[4494]: Connect time 6.2 minutes.
Mar 9 18:27:21 pptp pppd[4494]: Sent 3126 bytes, received 2687 bytes.
Mar 9 18:27:21 pptp pppd[4494]: PPTP disconnecting...
Mar 9 18:27:21 pptp pppd[4494]: PPTP disconnected
Mar 9 18:27:21 pptp pppd[4494]: Exit.
Sur le serveur, /Library/Logs/vpnd.log fait apparaître
#Start-Date: 2003-03-08 02:50:29 CET
#Fields: date time s-comment
2003-03-08 02:50:29 CET Listening for packets on port 1723...
2003-03-09 18:21:07 CET PPTP connection accepted from 80.13.102.19; leased IP 132.227.64.aaa to child 4493.
2003-03-09 18:21:08 CET Child process 4493 quit with exit status 0.
Nicolas Seriot. pour la configuration du serveur MacOS X.
Le site AFP548.com.
Microsoft Understanding Point-to-Point Tunneling Protocol (PPTP). Windows NT® Server version 4.0.
Une analyse critique du protocole MS-CHAPv2.
PPTP http://members.blackbox.net/a/programs/pptp/
PPTP sur MacOS X Hints.
mars 2003
|