Openstuff Wiki : HowtoVPNPluto

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register

Revision [374]

Last edited on 2007-08-08 19:02:15 by StanKju
Additions:
Nous allons mettre en place un VPN IPsec en utilisant le démon IKE //pluto// du projet [[http://www.openswan.org/ OpenSwan]] ainsi que la pile IPsec par défaut du noyau: //NETKEY//. Nous aurons d'un coté un [[http://en.wikipedia.org/wiki/Remote_Access_Service RAS]] ou serveur d'accès distant, et de l'autre un //roadwarrior//, une personne amenée à voyager. Donc d'un coté un serveur bien identifié avec une adresse publique et de l'autre un client pouvant aussi bien avoir une adresse IP publique qu'être devant un équipement réalisant du [[http://en.wikipedia.org/wiki/Network_address_translation NAT]].
Nous utiliserons uniquement des certificats x509 pour des raisons de maintenance et de répudiation. Pas de secret partagé donc. La mise en place du VPN se fera en deux étapes : en utilisant des certificats x509 autosignés dans un premier temps, puis via une autorité de certification.
Sur une debian like, installation classique :
Durant l'installation on choisira :
Nous allons vérifier l'état du démon :
""OpenSwan"" fournit une commande permettant de réaliser un ensemble de tests basiques sur le noyau Linux et sur la configuration réseau de notre installation :
Il est possible que vous ayez une erreur du style :
Il faut désactiver les filtres anto-spoof et les redirections ICMP pour éviter que le noyau n'envoie des redirects pour les paquets provenant et à destination de la même interface. Ceci peut arriver avec l'utilisation de la pile NETKEY. De plus, l'//ip_forwarding// doit être activé au niveau du RAS. Ceci peut ce faire dynamiquement via la commande //sysctl//:
Le fichier ///etc/sysctl.conf// pourra contenir tous nos paramètres qui seront appliqués dès le démarrage du serveur :
Il est également possible de réaliser des tests avancés. L'idée est de lancer de nombreuse vérification sur un serveur de test public (livetest.xelerance.net) pour être sûr qu'il n'y est pas de problème de filtrage, etc ...
Lors de la rédaction de ce document, le serveur ne répondait pas.
Le ou les firewall devront ouvrir les flux suivants :
~- UDP (protocole numéro 17), port 4500 => ** high port IKE, ""ESPinUDP"" encapsulation**
=== 3.1 Organisations des fichiers ===
Deux fichiers de configuration sont utilisés :
~- **ipsec.secrets** qui contient les clés privées RSA ainsi que les secrets prés partagés (PSK)
~- **ipsec.conf** qui contient toute la configuration relative a IPsec
Au niveau des certificats, tout est classé dans des répertoires :
~- **/etc/ipsec.d/private** clés privées
Il reste deux autres répertoires :
Pour la génération des certificats, il possible de le faire en ligne de commande avec //""OpenSSL""// :
Sur le client (roadwarriors) :
Sur le RAS (serveur VPN) :
~& Note: //%any// signifie n'importe quelle adresse IP, //%defaultroute// signifie l'adresse IP courante utilisée pour sortir.
Relancer le démon pour prendre en compte les changements :
Regarder que pluto se lance bien :
Vérifier que les certificats sont bien présents :
Nous allons maintenant monter le VPN. Sur le client :
Une fois la SA établie, nous allons pouvoir tester: le roadwarrior ping une machine dans le subnet du RAS :
Du côté du RAS on vérifie que le flux est bien de l'IPsec :
Cette fois-ci, nous allons autoriser tous les certificats signés par l'autorité de certification et non plus un certificat donné autosigné. Nous allons créer nous même la CA pour les besoins du test, mais ceci ne remplacera pas une vraie PKI.
Création de l'autorité de certification :
Création des certificats par notre CA :
Copie des certificats sur le RAS :
De la même manière, sur le roadwarrior il faudra copier les fichiers suivants : //caCert.pem, ""RoadwarriorCert.pem"", Roadwarrior.key//
Chaque serveur possède une clé privée protégée par une //passphrase//, nous allons indiquer à //pluto// de nous les demander :
Il aurait été possible de mettre directement la //passphrase// dans //pluto// :
: RSA /etc/ipsec.d/private/Roadwarrior.key "passphrase super secrète"
La configuration du démon devient la suivante
~- Sur le client (roadwarriors) :
~- Sur le RAS (serveur VPN) :
Puis, nous relançons le démon et nous donnons la //passphrase// :
Vérification des clés: nous devons avoir la clé privée + certificat de la machine, mais aussi le CA
Puis enfin, la mise en place du VPN :
Si vous relancez un //ipsec auto --listall//, vous allez voir que le certificat de l'autre machine est apparu dans la partie //List of Public Keys//.
Deletions:
Nous allons mettre en place un VPN IPsec en utilisant le démon IKE //pluto// du projet [[http://www.openswan.org/ OpenSwan]] ainsi que la pile IPsec par défaut du noyau: //NETKEY//. Nous aurrons d'un coté un [[http://en.wikipedia.org/wiki/Remote_Access_Service RAS]] ou serveur d'accès distant, et de l'autre un //roadwarrior//, une personne amené à voyager. Donc d'un coté un serveur bien identifié avec une adresse publique et de l'autre un client pouvant aussi bien avoir une adresse IP publique qu'être devant un équipement réalisant du [[http://en.wikipedia.org/wiki/Network_address_translation NAT]].
Nous utiliserons uniquement des certificat x509 pour des raison de maintenance et de répudiation. Pas de secret partagé donc. La mise en place du VPN se fera en deux étapes: en utilisant des certificats x509 autosigné dans un premier temps, puis via une autorité de certification.
Sur une debian like, installation classique:
Durant l'installation on choisira:
Nous allons vérifier l'état du démon:
""OpenSwan"" fournis une commande permettant de réaliser un ensemble de tests basiques sur le noyau Linux et sur la configuration réseau de notre installation:
Il est possible que vous ayez une erreur du style:
Il faut désactiver les filtres anto-spoof et les redirection ICMP pour éviter que le noyau n'envoie des redirects pour les paquets provenant et à destination de la même interface. Ceci peut arriver avec l'utilisation de la pile NETKEY. De plus, l'//ip_forwarding// doit être activé au niveau du RAS. Ceci peut ce faire dynamiquement via la commande //sysctl//:
Le fichier ///etc/sysctl.conf// pourra contenir tous nos paramètres qui seront appliqués dès le démarrage du serveur:
Il est également possible de réaliser des test avancé. L'idée est de lancer de nombreuse vérification sur un serveur de test public (livetest.xelerance.net) pour être sur qu'il n'y est pas de problème de filtrage, etc ...
Lors de la rédaction de ce document le serveur ne répondait pas.
Le ou les firewall devrons ouvrir les flux suivant:
~- UDP (protocole numero 17), port 4500 => ** high port IKE, ""ESPinUDP"" encapsulation**
=== 3.1 Organisation des fichiers ===
Deux fichiers de configuration sont utilisés:
~- **ipsec.secrets** qui contient les clé privé RSA ainsi que les secret pré-partagé (PSK)
~- **ipsec.conf** qui contient toute la configuration ralatif a IPsec
Au niveau des certificats, tout est classé dans des répertoires propre:
~- **/etc/ipsec.d/private** clés privé
Il reste deux autres répertoire:
Pour la génération des certificats, il possible de le faire en ligne de commande avec //""OpenSSL""//:
Sur le client (roadwarriors):
Sur le RAS (serveur VPN):
~& Note: //%any// signifie n'importe quelle adresse IP, //%defaultroute// signifie l'adresse IP courante utilisé pour sortir.
Relancer le démon pour prendre en compte les changements:
Regarder que pluto se lance bien:
Vérifier que les certificats sont bien présent:
Nous allons maintenant monter le VPN. Sur le client:
Une fois la SA établi, nous allons pouvoir tester: le roadwarrior ping une machine dans le subnet du RAS:
Du coté du RAS on vérifie que le flux est bien de l'IPsec:
Cette fois ci, nous allons autorisé tous les certificats signé par l'autorité de certification et non plus un certificat donné auto-signé. Nous allons créer nous même la CA pour les besoins du test mais ceci ne remplacera pas une vrai PKI.
Création de l'autorité de certification:
Création des certificats par notre CA:
Copie des certificats sur le RAS:
De la même manière, sur le roadwarrior il faudra copier les fichier suivants: //caCert.pem, ""RoadwarriorCert.pem"", Roadwarrior.key//
Chaque serveur possède une clé privée protégé par une //passphrase//, nous allons indiquer à //pluto// de nous les demander :
Il aurait été possible de mettre directement la //passphrase// dans //pluto//:
: RSA /etc/ipsec.d/private/Roadwarrior.key "passphrase super secrete"
La configuration du démon devient la suivante:
~- Sur le client (roadwarriors):
~- Sur le RAS (serveur VPN):
Puis, nous relançons le démon et nous donnons la //passphrase//:
Vérification des clés: nous devons avoir la clé privé + certificat de la machine mais aussi le CA
Puis enfin, la mise en place du VPN:
Si vous relancez un //ipsec auto --listall//, vous allez voir que le certificat de l'autre machine est apparus dans la partie //List of Public Keys//.


Revision [372]

Edited on 2007-08-08 17:58:04 by StanKju
Additions:
Sur chaque machine, mettre les 2 certificats //RASCert.pem// et //""RoadwarriorCert.pem""// dans ///etc/ipsec.d/certs//. La clé privée, et uniquement celle correspondant au certificat de la machine, devra être dans ///etc/ipsec.d/private//.
Pour la génération des certificats, il possible de le faire en ligne de commande avec //""OpenSSL""//:
Passons à la configuration d'""OpenSwan"". Nous allons avoir l'ensemble de notre configuration dans le fichier //ipsec.conf//.
Nous allons maintenant monter le VPN. Sur le client:
Une fois la SA établi, nous allons pouvoir tester: le roadwarrior ping une machine dans le subnet du RAS:
Du coté du RAS on vérifie que le flux est bien de l'IPsec:
Deletions:
Sur chaque machine, mettre les 2 certificats dans ///etc/ipsec.d/certs//: //RASCert.pem ""RoadwarriorCert.pem""//. La clé privée devra être dans ///etc/ipsec.d/private//.
Pour la génération des certificats:
Puis, configurer ""OpenSwan"". Nous allons donc avoir l'ensemble de notre configuration dans le fichier //ipsec.conf//.
Sur le client:
Tests: le roadwarrior ping une machine dans le subnet du RAS:
Du coté du RAS on effectue vérifie que le flux est bien de l'IPsec:


Revision [371]

Edited on 2007-08-07 17:37:54 by StanKju
Additions:
Nous utiliserons uniquement des certificat x509 pour des raison de maintenance et de répudiation. Pas de secret partagé donc. La mise en place du VPN se fera en deux étapes: en utilisant des certificats x509 autosigné dans un premier temps, puis via une autorité de certification.
Deletions:
Nous utiliserons uniquement des certificat x509 pour des raison de maintenance et de répudiation. Pas de secret partagé donc. La mise en place du VPN se fera en plusieurs étapes:
~1) utilisation de certificats x509 autosigné
~1) utilisation d'une autorité de certification
~1) utilisation de Xauth
~1) problématique Windows


Revision [370]

Edited on 2007-08-07 13:56:24 by StanKju
Additions:
La configuration du démon devient la suivante:
~- Sur le client (roadwarriors):
rightid="C=FR, ST=France, O=OpenStuff, CN=, E="
~- Sur le RAS (serveur VPN):
leftrsasigkey=%cert
leftid="C=FR, ST=France, O=OpenStuff, CN=*, E=*"
rightnexthop=


Revision [369]

Edited on 2007-08-07 13:35:04 by StanKju
Additions:
Sur chaque machine, mettre les 2 certificats dans ///etc/ipsec.d/certs//: //RASCert.pem ""RoadwarriorCert.pem""//. La clé privée devra être dans ///etc/ipsec.d/private//.
Pour la génération des certificats:
$ sudo openssl genrsa -out RASCert.key 2048
$ sudo openssl req -new -key RASCert.key -x509 -out RAS.cert
Puis, configurer ""OpenSwan"". Nous allons donc avoir l'ensemble de notre configuration dans le fichier //ipsec.conf//.
~& Note: //%any// signifie n'importe quelle adresse IP, //%defaultroute// signifie l'adresse IP courante utilisé pour sortir.
Du coté du RAS on effectue vérifie que le flux est bien de l'IPsec:
=== 3.4 Utilisation d'une CA ===
Cette fois ci, nous allons autorisé tous les certificats signé par l'autorité de certification et non plus un certificat donné auto-signé. Nous allons créer nous même la CA pour les besoins du test mais ceci ne remplacera pas une vrai PKI.
Création de l'autorité de certification:
$ openssl req -x509 -days 3650 -newkey rsa:2048 -keyout caKey.pem -out caCert.pem
$ mkdir -p demoCA/newcerts/
$ touch demoCA/index.txt
$ echo "01" > demoCA/serial
Création des certificats par notre CA:
$ openssl req -newkey rsa:2048 -keyout RAS.key -out RASReq.pem
$ openssl ca -in RASReq.pem -days 365 -out RASCert.pem -notext -cert caCert.pem -keyfile caKey.pem
$ openssl req -newkey rsa:2048 -keyout Roadwarrior.key -out RoadwarriorReq.pe
$ openssl ca -in RoadwarriorReq.pem -days 365 -out RoadwarriorCert.pem -notext -cert caCert.pem -keyfile caKey.pem
Copie des certificats sur le RAS:
$ sudo cp caCert.pem /etc/ipsec.d/cacerts/
$ sudo cp RASCert.pem /etc/ipsec.d/certs/
$ sudo cp RAS.key /etc/ipsec.d/private/
De la même manière, sur le roadwarrior il faudra copier les fichier suivants: //caCert.pem, ""RoadwarriorCert.pem"", Roadwarrior.key//
Chaque serveur possède une clé privée protégé par une //passphrase//, nous allons indiquer à //pluto// de nous les demander :
$ sudo vi /etc/ipsec.secrets
: RSA /etc/ipsec.d/private/RAS.key %prompt
Il aurait été possible de mettre directement la //passphrase// dans //pluto//:
: RSA /etc/ipsec.d/private/Roadwarrior.key "passphrase super secrete"
Puis, nous relançons le démon et nous donnons la //passphrase//:
$ sudo ipsec auto --rereadsecrets
040 need passphrase for '/etc/ipsec.d/private/RAS.key'
Enter secret:
004 valid passphrase, private key loaded successfully
Vérification des clés: nous devons avoir la clé privé + certificat de la machine mais aussi le CA
000 Aug 07 13:26:59 2007, 2048 RSA Key AwEAAegd8, until Aug 06 10:59:05 2008 ok
[...CERTIFICAT DE LA MACHINE...]
000 Aug 07 13:26:59 2007, count: 1
[...CERTIFICAT DE LA MACHINE + CLE PRIVE... (pubkey: 2048 RSA Key AwEAAegd8, has private key)]
000 List of X.509 CA Certificates:
000 Aug 07 13:26:59 2007, count: 1
[...CERTIFICAT DU CA...]
Puis enfin, la mise en place du VPN:
$ sudo ipsec auto --up "roadwarrior-RAS"
003 "roadwarrior-RAS" #1: received Vendor ID payload [RFC 3947] method set to=110
004 "roadwarrior-RAS" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x1a751514 <0xd7d4da8e xfrm=AES_0-HMAC_SHA1 NATD=88.171.141.210:4500 DPD=none}
Si vous relancez un //ipsec auto --listall//, vous allez voir que le certificat de l'autre machine est apparus dans la partie //List of Public Keys//.
Deletions:
Sur chaque machine, mettre les 2 certificats dans /etc/ipsec.d/certs: RASCert.pem RoarwarriorCert.pem
Puis, configurer ""OpenSwan"". Nous allons donc avoir l'ensemble de notre configuration dans le fichier ipsec.conf.
~& Note: //%any// signifie n'importe quelle adresse IP, //%defaultroute// signifie l'adresse IP courante utilisé pour sortir
Du coté du RAS on effectue vérifie que le flux et bien de l'IPsec:


Revision [368]

Edited on 2007-08-07 09:50:35 by StanKju
Additions:
Nous allons mettre en place un VPN IPsec en utilisant le démon IKE //pluto// du projet [[http://www.openswan.org/ OpenSwan]] ainsi que la pile IPsec par défaut du noyau: //NETKEY//. Nous aurrons d'un coté un [[http://en.wikipedia.org/wiki/Remote_Access_Service RAS]] ou serveur d'accès distant, et de l'autre un //roadwarrior//, une personne amené à voyager. Donc d'un coté un serveur bien identifié avec une adresse publique et de l'autre un client pouvant aussi bien avoir une adresse IP publique qu'être devant un équipement réalisant du [[http://en.wikipedia.org/wiki/Network_address_translation NAT]].
Nous utiliserons uniquement des certificat x509 pour des raison de maintenance et de répudiation. Pas de secret partagé donc. La mise en place du VPN se fera en plusieurs étapes:
~1) utilisation de certificats x509 autosigné
~1) utilisation d'une autorité de certification
~1) utilisation de Xauth
~1) problématique Windows
~- le lancement **"Le plus tôt possible"**
~- la désactivation du **"Opportunistic Encryption"**
~- de générer un **certificat x509**
Il faut désactiver les filtres anto-spoof et les redirection ICMP pour éviter que le noyau n'envoie des redirects pour les paquets provenant et à destination de la même interface. Ceci peut arriver avec l'utilisation de la pile NETKEY. De plus, l'//ip_forwarding// doit être activé au niveau du RAS. Ceci peut ce faire dynamiquement via la commande //sysctl//:
Le fichier ///etc/sysctl.conf// pourra contenir tous nos paramètres qui seront appliqués dès le démarrage du serveur:
===== 3. Configuration d'""OpenSwan""=====
=== 3.1 Organisation des fichiers ===
=== 3.2 configuration ===
Sur chaque machine, mettre les 2 certificats dans /etc/ipsec.d/certs: RASCert.pem RoarwarriorCert.pem
conn roadwarrior-RAS
# RW
leftcert=RoadwarriorCert.pem
# RAS
right=
rightcert=RASCert.pem
conn roadwarrior-RAS
# RW
leftcert=RoadwarriorCert.pem
# RAS
right=
rightcert=RASCert.pem
rightnexthop=
=== 3.3 Mise en place du VPN===
$ sudo ipsec auto --up roadwarrior-RAS
104 "roadwarrior-RAS" #1: STATE_MAIN_I1: initiate
003 "roadwarrior-RAS" #1: received Vendor ID payload [Openswan (this version) 2.4.6 X.509-1.5.4 LDAP_V3 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR]
003 "roadwarrior-RAS" #1: received Vendor ID payload [Dead Peer Detection]
003 "roadwarrior-RAS" #1: received Vendor ID payload [RFC 3947] method set to=110
106 "roadwarrior-RAS" #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "roadwarrior-RAS" #1: NAT-Traversal: Result using 3: i am NATed
108 "roadwarrior-RAS" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "roadwarrior-RAS" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536}
117 "roadwarrior-RAS" #2: STATE_QUICK_I1: initiate
004 "roadwarrior-RAS" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x3bd2814d <0x1a87aed6 xfrm=AES_0-HMAC_SHA1 NATD=88.171.141.210:4500 DPD=none}
Deletions:
* le lancement **"Le plus tôt possible"**
* la désactivation du **"Opportunistic Encryption"**
* de générer un **certificat x509**
Il faut désactiver les filtres anto-spoof et les redirection ICMP pour éviter que le noyau n'envoie des redirects pour les paquets provenant et à destination de la même interface. Ceci peut arriver avec l'utilisation de la pile NETKEY. De plus, l'ip_forwarding doit être activer au niveau du RAS. Ceci peut ce faire dynamiquement via la commande sysctl:
Le fichier /etc/sysctl.conf pourra contenir tous nos paramètres qui seront appliqué dès le démarrage du serveur:
===== 2. Configuration d'""OpenSwan""=====
=== 2.1 Organisation des fichiers ===
=== 2.2 configuration ===
Sur chaque machine, mettre les 2 certificats dans /etc/ipsec.d/certs: galamusCert.pem openstuff.frCert.pem
conn merlin-galamus
# Merlin
leftcert=openstuff.frCert.pem
# Galamus
right=
rightcert=galamusCert.pem
conn merlin-galamus
# Merlin
leftcert=openstuff.frCert.pem
# Galamus
right=
rightcert=galamusCert.pem
rightnexthop=
# rightnexthop=%defaultroute
=== 2.3 Mise en place du VPN===
$ sudo ipsec auto --up merlin-galamus
104 "merlin-galamus" #1: STATE_MAIN_I1: initiate
003 "merlin-galamus" #1: received Vendor ID payload [Openswan (this version) 2.4.6 X.509-1.5.4 LDAP_V3 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR]
003 "merlin-galamus" #1: received Vendor ID payload [Dead Peer Detection]
003 "merlin-galamus" #1: received Vendor ID payload [RFC 3947] method set to=110
106 "merlin-galamus" #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "merlin-galamus" #1: NAT-Traversal: Result using 3: i am NATed
108 "merlin-galamus" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "merlin-galamus" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536}
117 "merlin-galamus" #2: STATE_QUICK_I1: initiate
004 "merlin-galamus" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x3bd2814d <0x1a87aed6 xfrm=AES_0-HMAC_SHA1 NATD=88.171.141.210:4500 DPD=none}


Revision [367]

Edited on 2007-08-06 17:56:10 by StanKju
Additions:
=== 2.1 Organisation des fichiers ===
=== 2.2 configuration ===
Sur chaque machine, mettre les 2 certificats dans /etc/ipsec.d/certs: galamusCert.pem openstuff.frCert.pem
Puis, configurer ""OpenSwan"". Nous allons donc avoir l'ensemble de notre configuration dans le fichier ipsec.conf.
Sur le client (roadwarriors):
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
# NAT-TRAVERSAL support
nat_traversal=yes
# connection definitions
conn merlin-galamus
# Merlin
left=%defaultroute
leftcert=openstuff.frCert.pem
# Galamus
right=
rightsubnet=192.168.1.0/24
rightcert=galamusCert.pem
# connection type
type=tunnel
auto=add
Sur le RAS (serveur VPN):
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
# NAT-TRAVERSAL support
nat_traversal=yes
virtual_private=%v4:192.168.128.0/24
# connection definitions
conn merlin-galamus
# Merlin
left=%any
leftcert=openstuff.frCert.pem
leftsubnet=vhost:%no,%priv
# Galamus
right=
rightsubnet=192.168.1.0/24
rightcert=galamusCert.pem
rightnexthop=
# rightnexthop=%defaultroute
# connection type
type=tunnel
auto=add
~& Note: //%any// signifie n'importe quelle adresse IP, //%defaultroute// signifie l'adresse IP courante utilisé pour sortir
Relancer le démon pour prendre en compte les changements:
$ sudo /etc/init.d/ipsec restart
Regarder que pluto se lance bien:
$ sudo tail -f /var/log/daemon.log
Aug 3 14:44:01 openstuff ipsec_setup: ...Openswan IPsec stopped
Aug 3 14:44:01 openstuff ipsec_setup: Stopping Openswan IPsec...
Aug 3 14:44:01 openstuff ipsec_setup: KLIPS ipsec0 on eth0 192.168.128.2/255.255.255.0 broadcast 192.168.128.255
Aug 3 14:44:02 openstuff ipsec_setup: ...Openswan IPsec started
Aug 3 14:44:02 openstuff ipsec_setup: Starting Openswan IPsec 2.4.6...
Aug 3 14:44:02 openstuff ipsec_setup: insmod /lib/modules/2.6.20-16-server/kernel/net/key/af_key.ko
Aug 3 14:44:02 openstuff ipsec_setup: insmod /lib/modules/2.6.20-16-server/kernel/net/ipv4/xfrm4_tunnel.ko
Aug 3 14:44:02 openstuff ipsec_setup: insmod /lib/modules/2.6.20-16-server/kernel/net/xfrm/xfrm_user.ko
Vérifier que les certificats sont bien présent:
$ sudo ipsec auto --listall
000
000 List of Public Keys:
000
000 Aug 06 17:08:48 2007, 2048 RSA Key AwEAAcqqr, until Sep 11 11:06:47 2011 ok
[...]
000 Aug 06 17:08:48 2007, 2048 RSA Key AwEAAfDWq, until Sep 02 14:59:42 2007 ok
[...]
000 List of X.509 End Certificates:
000
000 Aug 06 17:08:48 2007, count: 2
[...]
000 pubkey: 2048 RSA Key AwEAAcqqr, has private key
[...]
000 Aug 06 17:08:48 2007, count: 2
[...]
Ici nous avons bien les deux certificats et notre clé privée (private key).
=== 2.3 Mise en place du VPN===
Sur le client:
$ sudo ipsec auto --up merlin-galamus
104 "merlin-galamus" #1: STATE_MAIN_I1: initiate
003 "merlin-galamus" #1: received Vendor ID payload [Openswan (this version) 2.4.6 X.509-1.5.4 LDAP_V3 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR]
003 "merlin-galamus" #1: received Vendor ID payload [Dead Peer Detection]
003 "merlin-galamus" #1: received Vendor ID payload [RFC 3947] method set to=110
106 "merlin-galamus" #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "merlin-galamus" #1: NAT-Traversal: Result using 3: i am NATed
108 "merlin-galamus" #1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "merlin-galamus" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536}
117 "merlin-galamus" #2: STATE_QUICK_I1: initiate
004 "merlin-galamus" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x3bd2814d <0x1a87aed6 xfrm=AES_0-HMAC_SHA1 NATD=88.171.141.210:4500 DPD=none}
Tests: le roadwarrior ping une machine dans le subnet du RAS:
$ ping 192.168.1.3
Du coté du RAS on effectue vérifie que le flux et bien de l'IPsec:
$ sudo tcpdump -ni any host
tcpdump: WARNING: Promiscuous mode not supported on the "any" device
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
17:53:43.575893 IP .4500 > .4500: UDP-encap: ESP(spi=0x3bd2814d,seq=0xa), length 132
17:53:43.576335 IP .4500 > 4500: UDP-encap: ESP(spi=0x1a87aed6,seq=0xa), length 132
Deletions:
Nous allons donc avoir l'ensemble de notre configuration dans le fichier ipsec.conf.


Revision [366]

The oldest known version of this page was created on 2007-08-06 16:07:50 by StanKju
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.0955 seconds