Magazine Internet

Tunnel IPSec sous Linux avec OpenSwan

Publié le 10 mars 2008 par Nicolargo

Le but de ce tutoriel est de créer un tunnel IPSec entre deux réseaux privées (chez vous et chez un pote pas exemple) reliés par une connexion Internet publique. La solution proposée se base sur OpenSwan (exemple de configuration sous Ubuntu mais applicable sous n’importe quel Unix et BSD like)

vpn.png

Infrastructure servant de base au tutoriel:

PRIVEE_A — ROUTEUR VPN A — PUBLIQUE_A — INTERNET — PUBLIQUE_B — ROUTEUR VPN B — PRIVEE_B

Installation de OpenSwan

# sudo apt-get install openswan

Génération des clés:

# ipsec ranbits 256
0×02e91301_438852a5_da987f97_762d2c97_22f0b9c9_8fe399c6_49b81858_603d90fe

Puis édition du fichier /etc/ipsec.secrets sur le ROUTEUR VPN A:

# sudo vi /etc/ipsec.secrets
PUBLIQUE_A PUBLIQUE_B “0×02e91301_438852a5_da987f97_762d2c97_22f0b9c9_8fe399c6_49b81858_603d90fe”

PS: remplacer PUBLIQUE_A et PUBLIQUE_B par les adresses IP publiques de vos routeurs

Copie de la clés sur le ROUTEUR VPN B:

# scp /etc/ipsec.secrets root@PUBLIQUE_B:/etc/ipsec.secrets

PS: si besoin, remplacer root par un compte administrateur valide

Configuration du tunnel IPSec

Configuration sur le ROUTEUR VPN A (exemple adresse IP réseaux PRIVEE_A=192.168.1.0/24 et PRIVEE_B=192.168.2.0/24):

# vi /etc/ipsec.conf

version 2.0

config setup

nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,!%v4:192.168.1.0/24

conn tas2tno
type=tunnel
authby=secret
left=PUBLIQUE_A
leftsubnet=vhost:%no,%priv
right=PUBLIQUE_B
rightsubnet=192.168.2.0/24
auto=start

Configuration sur le ROUTEUR VPN B (exemple adresse IP réseaux PRIVEE_A=192.168.1.0/24 et PRIVEE_B=192.168.2.0/24):

# vi /etc/ipsec.conf

version 2.0

config setup

nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,!%v4:192.168.2.0/24

conn tas2tno
type=tunnel
authby=secret
left=PUBLIQUE_B
leftsubnet=vhost:%no,%priv
right=PUBLIQUE_A
rightsubnet=192.168.1.0/24
auto=start

Quelques commandes utiles

Démarrer le daemon IPSec (à faire sur les deux serveurs VPN)

# sudo /etc/init.d/ipsec start

Redémarrer le daemon IPSec (en cas de modification d’un des fichiers de configuration):

# sudo /etc/init.d/ipsec restart

Status des tunnels VPN:

# sudo ipsec whack –status

Debug:

# tail -f /var/log/messages | grep pluto


Retour à La Une de Logo Paperblog

LES COMMENTAIRES (2)

Par sympaval
posté le 14 septembre à 20:06
Signaler un abus

En fait j'avais mal commenté les informations sur mon premier tunel "tunel1". Là j'ai enlevé et le démarrage prend bien, mais les informations de la commande ipsec showdefaults reste pareil.

ipsec showdefaults routephys=eth0 routevirt=ipsec0 routeaddr=41.204.94.18 routenexthop=41.204.94.17

no default route

no default route

J'aimerais savoir pourquoi il n'y a rien à propos de ipsec1 et eth1.

Merci

Par sympaval
posté le 14 septembre à 19:07
Signaler un abus

Salut!

Moi j'ai un souci, je suis sous debian, j'utilise ipsec et je veux créer deux tunels.

J'ai donc configuré les interfaces ipsec0=eth0 pour ma première interface externe et ipsec1=eth1 pour la seconde interface externe.

Quand je lance la commande ipsec showdefaults , elle ne m'affiche que les informations du premier tunel.

Et au démarrage du système, dans les informations de démarragen, je ne vois que le nom du pemier tunel (tunel1).

J'ai commenté les ligne relative au deuxième tunel dans le fichier /etc/ipsec.conf, et lorsque redémarre ipsec, il m'affiche des erreu, et le commande ipsec showdefaults me donne les mêmes résultats sur l'interface eth0, et non eth1 pour le tunel "tunel2"

Pouvez-vous m'aider à créer et activer mes deuxtunels?

Merci.

A propos de l’auteur


Nicolargo 417 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog