Le premier d’une série de quatre articles consacrés à la mise en oeuvre de notre solution VPN pour l’UFC a été publié dans le numéro 116 de GNU Linux Magazine France (GLMF).
GNU Linux Magazine France
mai 19th, 2009Linux : outils
avril 28th, 2009Dans la boite à outils que propose Linux nous pouvons trouver :
iwconfig
dhclient
iwconfig permet de voir la configuration d’une interface WIFI …
iwconfig eth1
eth1 IEEE 802.11b ESSID:"ufc-personnels" Nickname:"ipw2100"
...
… ou de la reconfigurer :
iwconfig eth1 essid ufc-vpn
iwconfig eth1
eth1 IEEE 802.11b ESSID:"ufc-vpn" Nickname:"ipw2100"
...
et l’outils dhclient vous permet de récupérer via DHCP une adresse IP :
dhclient
Internet Systems Consortium DHCP Client V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth1/00:04:23:96:c2:09
Sending on LPF/eth1/00:04:23:96:c2:09
Listening on LPF/eth0/00:06:1b:d8:c4:cb
Sending on LPF/eth0/00:06:1b:d8:c4:cb
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 4
DHCPOFFER from 172.21.7.254
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 172.21.7.254
bound to 172.21.7.231 -- renewal in 5416 seconds.
Problème Linux : certificat non reconnu
mars 19th, 2009Un certificat non reconnu provoque est visible dans les logs du serveur /var/log/auth.log
Après la séquence de négociation correcte :
Mar 18 13:24:54 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: responding to Main Mode from unknown peer 172.21.7.202
Mar 18 13:24:54 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
Mar 18 13:24:54 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: STATE_MAIN_R1: sent MR1, expecting MI2
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: NAT-Traversal: Result using draft-ietf-ipsec-nat-t-ike-02/03: no NAT detected
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: STATE_MAIN_R2: sent MR2, expecting MI3
Et l’erreur proprement dite :
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: Main mode peer ID is ID_DER_ASN1_DN: 'C=FR, ST=Franche-Comte, O=UFC, OU=CRI, CN=choucroute, E=vpn-master@univ-fcomte.fr'
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: no crl from issuer "C=FR, ST=Franche-Comte, L=Besancon, O=UFC, OU=CRI, CN=CAvpn, E=vpn-master@univ-fcomte.fr" found (strict=no)
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: no suitable connection for peer 'C=FR, ST=Franche-Comte, O=UFC, OU=CRI, CN=choucroute, E=vpn-master@univ-fcomte.fr'
Mar 18 13:24:55 debian pluto[6621]: "vpn-l2tp-XP"[1] 172.21.7.202 #1: sending encrypted notification INVALID_ID_INFORMATION to 172.21.7.202:500
L’interprétation de l’erreur est assez simple puisque nous voyons que le certificat de choucroute contient OU=CRI ce qui n’est pas une valeur attendu (LINUX, XP, MACOS)
Problème Linux : Certificat cacert.pem
février 27th, 2009Si vous avez le message suivant dans vos log /var/log/auth.log :
Feb 27 11:42:14 cri-29 pluto[6156]: "ufc-vpn" #1: issuer cacert not found
... pluto[6156]: "ufc-vpn" #1: X.509 certificate rejected
... pluto[6156]: "ufc-vpn" #1: no RSA public key known for '194.57.91.250'
C’est que le fichier /etc/ipsec.d/cacerts/cacert.pem n’est pas le bon ou qu’il n’est pas dans ce répertoire.
Pour vérifier le cacert :
openssl x509 -in /etc/ipsec.d/cacerts/cacert.pem -noout -subject
qui vous donne :
subject= /C=FR/ST=Franche-Comte/L=Besancon/O=UFC/OU=CRI/CN=CA-vpn/
emailAddress=vpn-master@univ-fcomte.fr
Problème Linux : Opensuse 11
janvier 20th, 2009Les versions d’opensuse 11 ne prennent pas en compte l’application de la route vers le serveur VPN lors de l’établissement du cannal VPN. De fait la liaison finit par s’interrompre au bout de quelques minutes (lié au timeout des connexions).
Il faut donc ajouter manuellement la route :
route add -host le_serveur_vpn gw votre_passerelle_actuelle
Problème Linux : erreur d’authentification L2TP/XL2TP
janvier 12th, 2009Lors de l’établissement de la connexion L2TP, il est possible que le serveur indique dans les logs
sent [LCP TermReq id=0x3 "peer refused to authenticate"]
Cette ligne indique une erreur dans le fichier /etc/l2tp/l2tp.conf ou /etc/xl2tp/xl2tp.conf.
Il faut impérativement avoir :
require authentication = no
à la place de
refuse authentication = yes
puisque le premier n’impose pas d’authentification mais ne la refuse pas, tandis que la seconde refuse toute authentification.
problème serveur : les utilisateurs ont un problème de routage asymétrique
janvier 6th, 2009Si les utilisateurs ont un problème de route asymétrique entre l’envoie d’un paquet et sa réception ce qui entraîne une rupture de connexion de la part du FireWall, il faut commencer par regarder la configuration des interfaces car c’est à cet endroit que nous effectuons un routage.
Pour rappel, le FireWall divise en quatre grandes classes l’ensemble des classe IP de l’UFC (chacune à sa VRF).
Sur le FW, plusieurs de ces classes sont réunis et il faut faire extrêmement attention à ne pas créer sur la machine VPN un routage inter-classe qui entraînera pour le moins un dysfonctionnement pour l’utilisateur (au pire un dysfonctionnement d’une partie du réseau de l’UFC).
Avec le code suivant :
auto eth0.168
iface eth0.168 inet static
address 172.20.16.220
netmask 255.255.255.0
network 172.20.16.0
broadcast 172.20.16.255
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
up ip rule add fwmark 18 table admin.pres
down ip rule del fwmark 18
down ip route del table admin.pres
Nous avons deux règles très importantes :
la première :
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
qui implique une route par défaut pour tous les utilisateurs VPN du tag 18 (admin.pres).
la seconde :
up ip rule add fwmark 18 table admin.pres
car c’est par elle que l’on affecte au client le tag 18.
Si le code dans le fichier /etc/network/interfaces ressemble à
up ip route add default via 172.20.16.254 dev eth0.168 table admin.pres
ip up rule add fwmark 18 table admin.pres
Tous les clients de ce réseaux ne seront pas affecté au tag 18 et donc tout leur trafic transitera par l’interface de routage par défaut de la machine qui est sans aucun doute dans une VRF distincte et donc entraînera un dysfonctionnement des connexion de ces clients vers l’extérieur de leur réseau de connexion.
problème Linux : route par défaut surnuméraire
décembre 8th, 2008avant d’activer le VPN vous avez des routes du style :
172.21.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 172.21.7.254 0.0.0.0 UG 0 0 0 eth1
Une fois activé le VPN (sur l’interface WIFI) vous avez :
194.57.91.250 172.21.7.254 255.255.255.255 UGH 0 0 0 eth1
192.168.255.202 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.21.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Mais il est possible qu’une fois activé ipsec vous ayez les routes suivantes en sus :
0.0.0.0 0.0.0.0 128.0.0.0 U 0 0 0 eth1
128.0.0.0 0.0.0.0 128.0.0.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
Les deux premières routes sont complètement inutile et nuisible à votre connexion. Il faut donc s’en débarrasser avec les commandes suivantes :
route del -net 128.0.0.0 netmask 128.0.0.0
route del -net 0.0.0.0 netmask 128.0.0.0
Vous pouvez aussi aller modifier le fichier /etc/ipsec.conf en décommentant la ligne suivante :
include /etc/ipsec.d/examples/no_oe.conf
Problème Linux : Interface WIFI capricieuse
décembre 8th, 2008Si lors d’un test de connexion comme :
ping 194.57.89.208
vous obtenez la réponse :
connect: Resource temporarily unavailable
c’est que votre interface WIFI est momentanément inutilisable. En général cela ne dure que quelques secondes, mais si ce problème persiste il faut vérifier dans les logs que l’interface WIFI est bien présente.
Il est possible que votre portable demande une action manuelle pour démarrer le WIFI (bouton ON/OFF wifi/blutooth)
Vous pouvez aussi aller modifier le fichier /etc/ipsec.conf en décommentant la ligne suivante :
include /etc/ipsec.d/examples/no_oe.conf
Problème Linux : trop de route par défaut
décembre 8th, 2008Si vous avez plusieurs routes par défaut, cela viens sans aucun doute que vous avez activez (volontairement ou non) le WIFI plus l’interface filaire de votre portable.
Dans ce cas, vous voyez quelque chose du style :
0.0.0.0 194.57.89.254 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 172.21.7.254 0.0.0.0 UG 0 0 0 eth1
Le processus ipsec ne pourra pas démarrer, car il ne saura pas quel passerelle utiliser pour connecter le serveur VPN.
Dans ce cas, il faut donc fermer une connexion (filaire ou wifi au choix) et relancer ipsec.