Skip to content


Serveur OpenVPN Linux avec authentification Radius couplée avec LDAP

Introduction :

Quelques difficultés peuvent être rencontrées lors de la configuration cliente d'un Linux avec IPSec, alors une solution est de passer sur un serveur VPN OpenVPN.

Ce tutoriel est très inspiré de : http://doc.ubuntu-fr.org/openvpn

Et du tutoriel suivant : http://monblog.system-linux.net/blog/2008/10/28/borne-dacces-avec-authentification-radius-et-un-annuaire-ldap-comptabilite-radius

vpn_03.png

Pré-requis :

Il faut installer : OpenVPN, Freeradius, OpenLDAP, Openssl...

Pour Freeradius suivez le tuto : http://monblog.system-linux.net/blog/2008/10/28/borne-dacces-avec-authentification-radius-et-un-annuaire-ldap-comptabilite-radius

Pour LDAP : http://monblog.system-linux.net/blog/2008/11/04/creer-un-controleur-principal-de-domaine-avec-samba-et-un-annuaire-ldap/

Télécharger le tar.gz suivant : http://www.nongnu.org/radiusplugin/radiusplugin_v2.1_beta9.tar.gz

Le décompressez puis construire la librairie : make

Puis mettre par exemple dans /etc/openvpn les deux fichier produits : radiusplugin.so et radiusplugin.cnf

Nous reviendrons un peu plus loin sur la configuration du fichier : radiusplugin.cnf

Générer le certificat et la clé de l’Autorité de Certification maître :

Pour la gestion de l’ICP, nous utiliserons un jeu de scripts livrés avec OpenVPN.

Il faut tout d’abord ouvrir un terminal et effectuer une copie dans son dossier /home des scripts de génération de clés :

cp /usr/share/doc/openvpn/examples/easy-rsa ~/openvpn/ -R

cd ~/openvpn/2.0

Il faut modifier le fichier vars :

Mettre un nombre de bit plus important à la taille des clés : Par défaut 1024 j'ai choisit 2048 , diminuer la période de validité : 3650 par défaut.

export KEY_SIZE=2048
export KEY_EXPIRE=365
export CA_EXPIRE=365
.......
export KEY_COUNTRY=FR
export KEY_PROVINCE=Rhône
export KEY_CITY=Lyon
export KEY_ORG=SLN
export KEY_EMAIL=votreadressemail

On initialise les variables :

. ./vars

On nettoie toutes les clés et certificats existants :

./clean-all

Puis, nous créons le certificat et la clé de l’Autorité de Certification Maitre (master Certificate Authority (CA) :

./build-ca

La dernière commande (build-ca) va construire le certificat de l’Autorité de Certification et la clé en utilisant la commande interactive openssl et sortira :

./build-ca
Generating a 4096 bit RSA private key
........++
..................++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [FR]:
State or Province Name (full name) [Rhône]:
Locality Name (eg, city) [Lyon]:
Organization Name (eg, company) [SLN]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [SLN CA]:debian
Email Address [lolo]:

Générer un certificat et une clé pour le serveur :

Nous allons générer un certificat et une clé privée pour le serveur :

Dans cet exemple, le nom de notre serveur est : debian

./build-key-server debian

Quand le Common Name est demandé, il faut entrer « debian» comme le dernier paramètre entré dans la commande précédente. Puis il faut mettre un mot de passe et un nom d’entreprise (facultatif).

Suivent deux dernières questions qui requièrent des réponses positives :

Certificate is to be certified until Oct 26 21:48:37 2017 GMT (3650 days)
Sign the certificate ? [y/n] :y
1 out of 1 certificate requests certified, commit ? [y/n] y

Le certificat et la clé du serveur sont à présent créés : debian.crt et debian.key.

Générer les certificats et les clés pour 3 clients :

Générer des certificats et des clés pour les clients est une étape similaire à l’étape précédente.

  • Pour protéger avec un mot de passe la clé, il faut utiliser ./build-key-pass au lieu de ./build-key.
  • Si possible faire un couple "utilisateur" / "clés"

Ce qui élèvera le niveau de sécurité, dans le cadre de perte de donné, de matériel, ou tout simplement à cause d'une erreur humaine.

Exemple avec un client nommé client1 :

./build-key client1

Quand le Common Name est demandé, il faudra donc entrer « client1 »

./build-key client2

./build-key client3

Il faut toujours se rappeler que pour chaque client, le champ Common Name doit être renseigné et unique.

Les certificats et les clés des clients sont créés.

Générer des paramètres Diffie-Hellman :

Les paramètres Diffie Hellman doivent être générés pour le serveur OpenVPN :

./build-dh

Ce qui donne :

Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
.................+...........................................
...................+.............+.................+.........
......................................
etc...

Les paramètres Diffie Hellman sont copiés dans le répertoire keys : dh1024.p

Les fichiers clés :

Maintenant, nous pouvons trouver les clés et les certificats fraichement générés dans le dossier keys. Suit une explication de ce que contiennent les fichiers du dossier keys.

Nom de fichier Utilisé par Utilité Secret ?
ca.crt Serveur et tous les clients Certificat racine CA Non
ca.key Clé signant la machine seulement Clé racine CA Oui
dh{n}.pem Serveur seulement Paramètres Diffie Hellman Non
debian.crt Serveur seulement Certificat debian Non
debian.key Serveur seulement Clé debian Oui
client1.crt Client1 seulement Certificat Client1 Non
client1.key Client1 seulement Clé Client1 Oui
client2.crt Client2 seulement Certificat Client2 Non
client2.key Client2 seulement Clé Client2 Oui

L’étape finale dans ce processus de génération de clés est de copier tous les fichiers sur la machine qui en a besoin, en prenant soin de les copier à travers un tunnel sûr.

Copie des fichiers serveur :

cp keys/dh*.pem keys/ca.crt keys/debian.crt keys/debian.key /etc/openvpn/

Création des fichiers de configuration pour le serveur et les clients :

Obtenir les fichiers d’exemple de configuration

Dans le répertoire /usr/share/doc/openvpn/examples/sample-config-files/, vous trouverez des fichiers de configuration client.conf et server.conf qui peuvent vous servir de base pour la configuration de votre serveur ou de vos clients.
Si vous devez travailler avec des machines sous Windows l'extension ".conf" doit être changée en ".ovpn" sur le pc Windows.

Configuration du serveur

Attention pour le serveur le fichier d'exemple est compressé : server.conf.gz, il faut le gunzipper comme suit:

cd /usr/share/doc/openvpn/examples/sample-config-files

sudo gunzip server.conf.gz

puis exécuter la commande ci dessous

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/debian.conf

Il faut donc éditer le fichier/etc/openvpn/server.conf

Le fichier d’exemple de configuration pour le serveur est un point de départ pour une configuration serveur d’OpenVPN. Il va créer un VPN utilisant une interface réseau virtuel TUN (pour le routage), écouter les connections clients sur le port UDP 1194 (port officiel d’OpenVPN), et distribuer des adresses virtuelles aux clients se connectant depuis le réseau 10.8.0.0/24.

À présent, le fichier de configuration serveur est utilisable. Néanmoins, il est toujours possible de modifier le fichier plus en détail :

  • En cas d’utilisation d’Ethernet bridgé, il faut utiliser server-bridge et dev tap au lieu de server et dev tun
  • Si le serveur doit écouter sur un port TCP au lieu d’UDP, il faut mettre proto tcp au lieu de proto udp (si OpenVPN doit écouter sur les deux, il faut créer deux instances séparées d’OpenVPN)
  • Si l’adresse IP virtuelle utilisée doit être différente de 10.8.0.0/24, il faut modifier la directive server. Ne jamais oublier que la plage d’adresse IP virtuelles doit être inutilisée sur les réseaux de chaque côté du VPN.
  • Pour que les clients soient capables de s’atteindre à travers le VPN, il faut décommenter la directive client-to-client. Par défaut, les clients ne peuvent atteindre que le serveur.
Pour augmenter la sécurité, il est possible de dé-commenter les directives user nobody et group nobody. Diverses options de cryptage et de sécurité peuvent aussi être modifiées. (Le groupe nobody n'existe pas dans ubuntu, il faut donc mettre nogroup)
Voici mon fichier de configuration :
# Which local IP address should OpenVPN
# listen on? (optional)
port 1194
management localhost 1195
proto udp
dev tun
ca ca.crt
cert debian.crt
key debian.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
duplicate-cn
keepalive 10 120
;cipher BF-CBC # Blowfish (default)
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
;cipher AES-256-CFB8
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn-append.log
verb 9
# Ajouter cette route pour un VPN distant
# Quand l'adresse réseau est 10.1.1.0/24
push "route 10.1.1.0 255.255.255.0"
# Celle-ci pour le réseau VPN
push "route 10.8.1.0 255.255.255.0"
# Option type DNS, serveur WINS
push "dhcp-option DNS 10.1.1.1"
push "dhcp-option WINS 10.1.1.1"
# Ici la partie afin d'avoir l'authentification Radius
username-as-common-name
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf

Pour faire fonctionner plusieurs instances d’OpenVPN sur la même machine, chacune utilisant un fichier de configuration différent, il faut :

  • Utiliser un port différent pour chaque instances (les protocoles UDP et TCP utilisent différent espaces de port, donc un processus peut écouter le port UDP-1194 et un autre le port TCP-1194)
  • Faire attention, lorsque les instances d’OpenVPN utilisent le même dossier, que chacune n’écrive pas sur les mêmes sorties. C'est-à-dire qu’il faut modifier les directives log, log-append, status et ifconfig-pool-persist.

Configuration du fichier radiusplugin.cnf

Ce fichier est suffisament commenté pour être compréhensible, je vous présente le miens sans commentaire.

NAS-Identifier=OpenVpn
Service-Type=5
Framed-Protocol=1
NAS-Port-Type=5
NAS-IP-Address=10.1.1.254
OpenVPNConfig=/etc/openvpn/debian.conf
subnet=255.255.255.0
overwriteccfiles=true
server
{
# The UDP port for radius accounting.
acctport=1813
# The UDP port for radius authentication.
authport=1812
# The name or ip address of the radius server.
name=10.1.1.254
# How many times should the plugin send the if there is no response?
retry=1
# How long should the plugin wait for a response?
wait=1
# The shared secret.
sharedsecret= cleprepartageesecrete
}

Configuration du client

Le fichier d’exemple de configuration du client client.conf reflète les directives mises dans le fichier debian.conf.

  • Comme le fichier de configuration du serveur, éditez d’abord les paramètres ca, cert et key pour pointer vers les fichiers générés précédemment. Chaque client doit avoir sa propre paire cert/key. Seul le fichier ca est universel à travers le VPN (le serveur et tous les clients).
  • Éditez ensuite la directive remote pour indiquer l’adresse IP/nom d’hôte et le port du serveur OpenVPN (s’il est derrière un routeur, il faut indiquer l’adresse publique et le port sur lequel le routeur transfert vers le serveur OpenVPN)

Voici le miens :

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client
dev tun
proto udp
remote 10.1.1.254 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3
auth-user-pass
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 10.1.1.1"
push "dhcp-option WINS 10.1.1.1"

Configuration du client Windows

Il faut télécharger la dernière version de OpenVPN en GUI : http://openvpn.net/release/openvpn-2.1.3-install.exe

sur http://openvpn.net/index.php/open-source/downloads.html

Démarrage automatique d’OpenVPN au lancement du système

Pour qu’OpenVPN se lance au démarrage du serveur ou du client, il faut placer le fichier de configuration au bon endroit.

  • Pour le serveur, copiez le fichier server.conf dans le répertoire /etc/openvpn
  • Pour les clients, copiez le fichier client.conf dans /etc/openvpn

Il faut également déplacer les clés et certificats dans le dossier /etc/openvpn. Sont concernés :

  • ca.crt : pour le serveur et le client
  • pour le serveur :
    • server.crt
    • server.key
    • dh1024.pem
  • Pour le client :
    • client.crt
    • client.key

Démarrage du serveur

Premièrement, il faut vérifier que le serveur OpenVPN sera accessible depuis Internet. Ce qui signifie que :

  • le port 1194 UDP (ou celui configuré) est bien ouvert sur le pare-feu
  • une règle de transfert pour transférer le port 1194 UDP depuis le firewall vers le serveur OpenVPN est bien établie

Ensuite, il faut vérifier que l’interface TUN/TAP n’est pas derrière un pare-feu.

Pour simplifier la recherche de problèmes, il est préférable de démarrer le serveur OpenVPN depuis la ligne de commande plutôt que de démarrer le démon. Dans un terminal :

cd /etc/openvpn
sudo openvpn server.conf

Un démarrage normal ressemble à ça :

Oct 13 00:55:53 localhost ovpn-debian[4713]: OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Sep 18 2008
Oct 13 00:55:53 localhost ovpn-debian[4713]: MANAGEMENT: TCP Socket listening on 127.0.0.1:1195
Oct 13 00:55:53 localhost ovpn-debian[4713]: WARNING: --ifconfig-pool-persist will not work with --duplicate-cn
Oct 13 00:55:53 localhost ovpn-debian[4713]: PLUGIN_INIT: POST /etc/openvpn/radiusplugin.so '[/etc/openvpn/radiusplugin.so] [/etc/openvpn/radiusplugin.cnf]' intercepted=PLUGIN_AUTH_USER_PASS_VERIFY|PLUGIN_CLIENT_CONNECT|PLUGIN_CLIENT_DISCONNECT
Oct 13 00:55:54 localhost ovpn-debian[4713]: Diffie-Hellman initialized with 2048 bit key
Oct 13 00:55:54 localhost ovpn-debian[4713]: /usr/bin/openssl-vulnkey -q -b 2048 -m <modulus omitted>
Oct 13 00:55:54 localhost ovpn-debian[4713]: TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Oct 13 00:55:54 localhost kernel: [148302.357708] tun0: Disabled Privacy Extensions
Oct 13 00:55:54 localhost ovpn-debian[4713]: ROUTE default_gateway=10.1.1.1
Oct 13 00:55:54 localhost ovpn-debian[4713]: TUN/TAP device tun0 opened
Oct 13 00:55:54 localhost ovpn-debian[4713]: TUN/TAP TX queue length set to 100
Oct 13 00:55:54 localhost ovpn-debian[4713]: /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Oct 13 00:55:54 localhost ovpn-debian[4713]: /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Oct 13 00:55:54 localhost ovpn-debian[4713]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Oct 13 00:55:54 localhost ovpn-debian[4723]: Socket Buffers: R=[111616->131072] S=[111616->131072]
Oct 13 00:55:54 localhost ovpn-debian[4723]: UDPv4 link local (bound): [undef]:1194
Oct 13 00:55:54 localhost ovpn-debian[4723]: UDPv4 link remote: [undef]
Oct 13 00:55:54 localhost ovpn-debian[4723]: MULTI: multi_init called, r=256 v=256
Oct 13 00:55:54 localhost ovpn-debian[4723]: IFCONFIG POOL: base=10.8.0.4 size=62
Oct 13 00:55:54 localhost ovpn-debian[4723]: IFCONFIG POOL LIST
Oct 13 00:55:54 localhost ovpn-debian[4723]: Initialization Sequence Completed

Démarrage du client

Comme dans la configuration serveur, il est préférable de démarrer le client OpenVPN depuis une ligne de commande. Exemple pour le client1 configuré plus haut :

cd /etc/openvpn && sudo openvpn client.conf

Configuration et fonctionnement du client OpenVPN Windows

Voir : http://www.system-linux.net/config/Linux-OpenVPN-client-windows/

Attention avec l'authentification il y a une boite de dialogue qui s'ouvre afin d'indiquer quel couple {login/mdp} entrer !

Il faut bien entendu entrer un couple contenu dans LDAP !

Linux_OpenVPN_client_windows_09a.png

Lors de la connexion au VPN voici quelques traces permettant de voir le passage du login/mdp :

Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 PLUGIN_CALL: POST /etc/openvpn/radiusplugin.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 TLS: Username/Password authentication succeeded for username 'lolo' [CN SET]
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Oct 13 01:19:45 localhost ovpn-debian[6054]: 10.1.1.251:1033 [lolo] Peer Connection Initiated with 10.1.1.251:1033
Oct 13 01:19:45 localhost ovpn-debian[6054]: lolo/10.1.1.251:1033 PLUGIN_CALL: POST /etc/openvpn/radiusplugin.so/PLUGIN_CLIENT_CONNECT status=0
Oct 13 01:19:45 localhost ovpn-debian[6054]: lolo/10.1.1.251:1033 MULTI: Learn: 10.8.0.6 -> lolo/10.1.1.251:1033
Oct 13 01:19:45 localhost ovpn-debian[6054]: lolo/10.1.1.251:1033 MULTI: primary virtual IP for lolo/10.1.1.251:1033: 10.8.0.6

Maintenant le serveur ayant l'adresse IP : 10.8.0.1 devrait pinguer l'adresse IP : 10.8.0.X

Linux_OpenVPN_client_windows_12.png

Voilà 🙂

Discussion autour de la limitaion en adresse IP (push "route") :

Comment en effet faire en sorte de limiter les adresses accessibles par le client connecté en VPN à votre réseau ? Là notre ami se trouve dans "push route" !

Comme nous l'avons vu ce paramètre permet d'ajouter des routes, mais rien ne vous oblige à implémenter des routes donnant à votre réseau privé de façon total.

Partons du principe que le réseau privé derrière le VPN soit 10.1.1.0/24 (10.1.1.1 à 10.1.1.254) qui par définition est un sous-réseau de sa classe (10.0.0.0/8).

Imaginons un cas où deux plages d'adresses correspondent l'une à une partie commerciale RZ1=(10.1.1.1 à 10.1.1.126) et une autre disons technique RZ2=(10.1.1.129 à 10.1.1.254).

Voici ce que donne la commande ipcalc :

$ ipcalc 10.1.1.0/24 25
Address: 10.1.1.0 00001010.00000001.00000001. 00000000
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 10.1.1.0/24 00001010.00000001.00000001. 00000000
HostMin: 10.1.1.1 00001010.00000001.00000001. 00000001
HostMax: 10.1.1.254 00001010.00000001.00000001. 11111110
Broadcast: 10.1.1.255 00001010.00000001.00000001. 11111111
Hosts/Net: 254 Class A, Private Internet

Subnets after transition from /24 to /25

Netmask: 255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard: 0.0.0.127 00000000.00000000.00000000.0 1111111

1.
Network: 10.1.1.0/25 00001010.00000001.00000001.0 0000000
HostMin: 10.1.1.1 00001010.00000001.00000001.0 0000001
HostMax: 10.1.1.126 00001010.00000001.00000001.0 1111110
Broadcast: 10.1.1.127 00001010.00000001.00000001.0 1111111
Hosts/Net: 126 Class A, Private Internet

2.
Network: 10.1.1.128/25 00001010.00000001.00000001.1 0000000
HostMin: 10.1.1.129 00001010.00000001.00000001.1 0000001
HostMax: 10.1.1.254 00001010.00000001.00000001.1 1111110
Broadcast: 10.1.1.255 00001010.00000001.00000001.1 1111111
Hosts/Net: 126 Class A, Private Internet

Ces deux sous réseaux sont RZ1 10.1.1.0/25 et RZ2 10.1.1.128/25.

Pour mettre en place cela on montera deux instances d'OpenVPN, l'un sur le port 1194 et l'autre 1196

# Which local IP address should OpenVPN
# listen on? (optional)
port 1194
management localhost 1195
proto udp
dev tun
ca ca.crt
cert debian-commerciale.crt
key debian-commerciale.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status-rz1.log
log openvpn-rz1.log
log-append openvpn-append-rz1.log
verb 9
push "route 10.1.1.0  255.255.255.128"  # RZ1
push "route 10.8.1.0 255.255.255.0"
push "dhcp-option DNS 10.1.1.1"
push "dhcp-option WINS 10.1.1.1"
# Ici la partie afin d'avoir l'authentification Radius
username-as-common-name
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf

Et une autre en :

[codesyntax lang="bash"]# Which local IP address should OpenVPN
# listen on? (optional)
port 1196
management localhost 1197
proto udp
dev tun
ca ca.crt
cert debian-technique.crt
key debian-technique.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status-rz2.log
log openvpn-rz2.log
log-append openvpn-append-rz2.log
verb 9
push "route 10.1.1.128  255.255.255.128" # RZ2
push "route 10.1.1.1 255.255.255.255" # pour accéder au DNS....
push "route 10.8.1.0 255.255.255.0"
push "dhcp-option DNS 10.1.1.1"
push "dhcp-option WINS 10.1.1.1"
# Ici la partie afin d'avoir l'authentification Radius
username-as-common-name
plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf

[/codesyntax]
Un petit outil permet de calculer les sous réseaux ou subnet et vous aider à avancer sur ce point : http://jodies.de/ipcalc

Remarque : La connexion est stable +6 heures !

cd /etc/openvpn/ ; openvpn client1.conf
Wed Oct 13 08:52:54 2010 OpenVPN 2.1_rc10 i586-mandriva-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Nov 21 2008
Enter Auth Username:lolo
Enter Auth Password:
Enter Private Key Password:
Wed Oct 13 08:53:02 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 08:53:02 2010 WARNING: file 'client1.key' is group or others accessible
Wed Oct 13 08:53:02 2010 LZO compression initialized
Wed Oct 13 08:53:02 2010 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Oct 13 08:53:02 2010 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Wed Oct 13 08:53:02 2010 Local Options hash (VER=V4): '41690919'
Wed Oct 13 08:53:02 2010 Expected Remote Options hash (VER=V4): '530fdded'
Wed Oct 13 08:53:02 2010 Socket Buffers: R=[112640->131072] S=[112640->131072]
Wed Oct 13 08:53:02 2010 UDPv4 link local: [undef]
Wed Oct 13 08:53:02 2010 UDPv4 link remote: 82.xx.yy.zzz:1194
Wed Oct 13 08:53:02 2010 TLS: Initial packet from 82.xx.yy.zzz:1194, sid=f52dfece d5027423
Wed Oct 13 08:53:02 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 08:53:03 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 08:53:03 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 08:53:03 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 08:53:04 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 08:53:04 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 08:53:04 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 08:53:04 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 08:53:04 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 08:53:04 2010 [debian] Peer Connection Initiated with 82. xx.yy.zzz:1194
Wed Oct 13 08:53:05 2010 SENT CONTROL [debian]: 'PUSH_REQUEST' (status=1)
Wed Oct 13 08:53:05 2010 PUSH: Received control message: 'PUSH_REPLY,route 10.1.1.0 255.255.255.0,route 10.8.0.0 255.255.255.0,dhcp-option DNS 10.1.1.1,dhcp-optio
n WINS 10.1.1.1,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Wed Oct 13 08:53:05 2010 OPTIONS IMPORT: timers and/or timeouts modified
Wed Oct 13 08:53:05 2010 OPTIONS IMPORT: --ifconfig/up options modified
Wed Oct 13 08:53:05 2010 OPTIONS IMPORT: route options modified
Wed Oct 13 08:53:05 2010 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Oct 13 08:53:05 2010 ROUTE default_gateway=10.0.3.254
Wed Oct 13 08:53:05 2010 TUN/TAP device tun0 opened
Wed Oct 13 08:53:05 2010 TUN/TAP TX queue length set to 100
Wed Oct 13 08:53:05 2010 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Wed Oct 13 08:53:05 2010 /sbin/route add -net 10.1.1.0 netmask 255.255.255.0 gw 10.8.0.5
Wed Oct 13 08:53:05 2010 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
Wed Oct 13 08:53:05 2010 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
SIOCADDRT: File exists
Wed Oct 13 08:53:05 2010 ERROR: Linux route add command failed: external program exited with error status: 7
Wed Oct 13 08:53:05 2010 Initialization Sequence Completed
Wed Oct 13 09:53:03 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 09:53:04 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 09:53:04 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 09:53:04 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 09:53:05 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 09:53:05 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 09:53:05 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 09:53:05 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 09:53:05 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 10:53:03 2010 TLS: tls_process: killed expiring key
Wed Oct 13 10:53:04 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 10:53:04 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 10:53:04 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 10:53:04 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 10:53:05 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 10:53:05 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 10:53:05 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 10:53:05 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 10:53:05 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 11:53:04 2010 TLS: tls_process: killed expiring key
Wed Oct 13 11:53:05 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 11:53:05 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 11:53:05 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 11:53:05 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 11:53:06 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 11:53:06 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 11:53:06 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 11:53:06 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 11:53:06 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 12:53:05 2010 TLS: tls_process: killed expiring key
Wed Oct 13 12:53:06 2010 TLS: soft reset sec=0 bytes=78958/0 pkts=884/0
Wed Oct 13 12:53:06 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 12:53:06 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 12:53:06 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 12:53:06 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 12:53:07 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 12:53:07 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 12:53:07 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 12:53:07 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 12:53:07 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 13:53:07 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 13:53:07 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 13:53:07 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 13:53:07 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 13:53:08 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 13:53:08 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 13:53:08 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 13:53:08 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 13:53:08 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Wed Oct 13 14:53:07 2010 TLS: tls_process: killed expiring key
Wed Oct 13 14:53:08 2010 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Oct 13 14:53:08 2010 VERIFY OK: depth=1, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 14:53:08 2010 VERIFY OK: nsCertType=SERVER
Wed Oct 13 14:53:08 2010 VERIFY OK: depth=0, /C=FR/ST=Rh_xC3_xB4ne/L=Lyon/O=SLN/CN=debian/emailAddress=lolo
Wed Oct 13 14:53:09 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 14:53:09 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 14:53:09 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Wed Oct 13 14:53:09 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Oct 13 14:53:09 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA

Références :

  1. http://www.freebsddiary.org/ipsec-wireless-xp.php
  2. http://www.enterprisenetworkingplanet.com/netsecur/article.php/3489911/Implement-IPSec-on-Windows-Server-2003.htm
  3. http://www.vogelweith.com/debian_server/11_racoon.php
  4. http://www.vogelweith.com/debian_server/10_openvpn.php
  5. http://rootmanager.com/ubuntu-ipsec-l2tp-windows-domain-auth/setting-up-openswan-xl2tpd-with-native-windows-clients.html
  6. http://www.jacco2.dds.nl/networking/openswan-l2tp.html
  7. http://www.jacco2.dds.nl/networking/win2000xp-freeswan.html
  8. http://wiki.openswan.org/index.php/Openswan/Windows
  9. http://pptpclient.sourceforge.net/howto-diagnosis.phtml
  10. http://net.its.hawaii.edu/advanced/make_work/IPSec/Openswan_Windows_x509/index.html
  11. http://poptop.sourceforge.net/dox/skwok/poptop_ads_howto_a5.htm
  12. http://lists.cistron.nl/pipermail/freeradius-users/2008-January/msg00915.html
  13. http://www.jacco2.dds.nl/networking/freeswan-l2tp.html
  14. http://poptop.sourceforge.net/dox/radius_mysql.html
  15. http://network.epfl.ch/vpn/L2TP/WinXP/
  16. http://www.jacco2.dds.nl/networking/openswan-l2tp.html#Openswanconfig
  17. http://www.technos-sources.com/tutorial-vpn-l2tp-layer-tunneling-protocol-ietf-47.aspx
  18. http://www.linktionary.com/l/l2tp.html
  19. http://wiki.freeradius.org/Mac-Auth#raddb.2Fpolicy.conf
  20. http://www.mighty-studio.net/wp-content/uploads/2007/02/vpn-l2tp.pdf
  21. http://y3sy3s.lafibre.org/?q=node/24
  22. http://www.mighty-studio.net/monter-un-vpn-l2tpipsec-avec-certificat-x509/
  23. http://www.wlanfr.net/contenus.php?id=100
  24. http://poptop.sourceforge.net/dox/replacing-windows-pptp-with-linux-howto.phtml
  25. http://sqls.net/wiki/howto:gentoo_linux_l2tp_ipsec_vpn_w_active_directory_radius_x.509_serving_windows_xp_vista_clients
  26. http://wiki.debuntu.org/wiki/OpenVPN/Installation#Authenticating_with_LDAP
  27. http://code.google.com/p/openvpn-auth-ldap/
  28. http://code.google.com/p/openvpn-auth-ldap/wiki/Configuration
Voilà....!
😉
-- FIN --
Print Friendly, PDF & Email

Posted in Debian, Linux, Technique, Toutes. Tagged with , , , .

9 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Hey, something is wrong with your site in Opera, you should check into it.

  2. admin said

    No trouble for me with opera under Linux !?
    What happen for you ?

  3. djibril said

    hi its okay
    but where are the radius and the ldap config ?
    pls tell me more about them
    thanks for your work

  4. admin said

    Hello,

    As the article say in the very begining, it's in :
    http://monblog.system-linux.net/blog/2008/10/28/borne-dacces-avec-authentification-radius-et-un-annuaire-ldap-comptabilite-radius/

    But if it's not so clear i'm going to rewrite this to make it more explicite ! 🙂

    Thank's for comment

  5. admin said

    It's done !
    😉

  6. Wow, I like your blog !

  7. wak kesuwon gambare tak download pak,,,
    salam kenal.
    Rofianto - Indonesia

  8. admin said

    Indonésie ?
    But what mean "kesuwon" ?

    The english translate gives me : "no download time kesuwon picture pack" !
    ... 🙂

Continuing the Discussion

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.

Time limit is exhausted. Please reload CAPTCHA.


/* */
Creative Commons License
Cette création par Laurent Besson est mise à disposition selon les termes de la licence Creative Commons Paternité-Partage des Conditions Initiales à l'Identique 2.0 France.