Auteur:


Date:
10/03/2008

Catégories:
Open-source
Reseau

Tags:



Tunnel IPSec sous Linux avec OpenSwan

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
0x02e91301_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 "0x02e91301_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

19 commentaires/références

    On parle de ce billet (ping back):

    Commentaires (de mes chers lecteurs):


  1. polytan, le 10/03/2008 (#3474)

    Ca marche avec des ips dynamiques en mettant les noms de domaines ?


  2. NicoLargo, le 10/03/2008 (#3475)

    @polytan: je pense que oui mais je n’ai jamais testé. Il faut essayer de remplacer les adresses Ip par les noms DNS dans les deux fichiers (.conf et .secrets).
    Tiens nous au courant si tu arrives à faire marcher cette configuration.


  3. Samuel, le 18/03/2008 (#3501)

    Salut, super ce tutoriel : simple et efficace.
    Y aurait-il dans le meme genre un tuto pour un vpn IPSEC en mode road warrior ? (un serveur / plusieurs postes clients depuis plusieurs endroits (bureaux, domiciles, hotspots etc :-)


  4. NicoLargo, le 18/03/2008 (#3502)

    @Samuel: en faisant ce billet je suis tombé sur quelques configurations de type road warrior. Google devrait te trouver ca facilement.
    Bonne chasse !


  5. samuel2, le 2/04/2008 (#3645)

    bonjour :)

    pour passer a travers une freebox je vais galerer ? je voudrais faire un vpn entre mon serveur ovh et mon serveur dans le salon :p


  6. NicoLargo, le 2/04/2008 (#3652)

    @samuel2: la conf est un peu plus complexe car il faudra jouer avec les règles du firewall de la freebox. Mais je pense que c’est jouable.


  7. samuel2, le 3/04/2008 (#3663)

    openswan utilise quel port ?


  8. NicoLargo, le 3/04/2008 (#3664)

    @samuel2: c’est dans la doc… bon courage !


  9. idi, le 8/06/2009 (#6519)

    bonjour,
    voila j’ai le tuto simple et efficase.
    j’ai recontré un probléme au niveau du fechier du conf ( ipsec.conf)
    pouvez vous m’expliqué a quoi corresepond : conn tas2tno dans ipsec.conf,
    car au lencement des services /etc/init.d/ipsec restart
    j’au message d’erreur: “tas2tno” inconnu.
    merci pour votre aide.


  10. NicoLargo, le 8/06/2009 (#6520)

    @idi: c’est le nom de la connexion. Le nom doit être le même au niveau du client et du serveur.


  11. lamia, le 11/01/2011 (#11052)

    slt j ai un expose sur se titre vpn sou linux et je voulais les etapes pour la configuration sous linux de (a a z) plz help me if you can


  12. aina, le 14/06/2011 (#12631)

    Merci pour le tuto,
    vous avez un autre tuto pour une connexion server openswan ubuntu ou debian avec un client windows seven, xp, vista (roadwarior).
    merci.


  13. theladys, le 28/02/2012 (#15145)

    Bonjour NicoLargo, j’ai une question à propos d’ipsec/xl2tpd avec openswan, j’ai bien implémenté la solution sur un debian squeeze mais quand j’ai tenté sur un debian lenny ça n’a pa marché ainsi que sur un conteneur lxc, si vous pourriez me donner un coup de main je vous serai reconnaissante.
    Merci


  14. theladys, le 1/03/2012 (#15169)

    Il n’y a personne pour m’aider, je suis bloquée et je ne sais pas comment m’en sortir, j’attends tout de même votre aide


  15. theladys, le 1/03/2012 (#15170)

    “Bonjour NicoLargo, j’ai une question à propos d’ipsec/xl2tpd avec openswan, j’ai bien implémenté la solution sur un debian squeeze mais quand j’ai tenté sur un debian lenny ça n’a pa marché ainsi que sur un conteneur lxc, si vous pourriez me donner un coup de main je vous serai reconnaissante.
    Merci” c’est ma question du 28/02/2012 pls help


  16. Samuel, le 1/03/2012 (#15171)

    @theladys dsl pour moi Ipsec rime avec doliprane, mais je me permets de te suggérer d’abandonner Debian Lenny qui arrive en fin de support bientôt (ou il y a pas longtemps ?). c’est une méthode comme une autre pour résoudre ton pbl, puisque sous Squeeze tout semble fonctionner :)


    • theladys, le 2/03/2012 (#15180)

      @Samuel merci pour ta réponse, au fait l’entreprise dans laquelle je bosse ne veut pas changer de distribution (ils utilisent Debian Lenny) et du coup je suis un bloquée sur comment faire fonctionner ipsec sur cette distribution.mais merci quand d’avoir pris ton temps pour me répondre.


  17. theladys, le 14/03/2012 (#15301)

    Personne ne peut me répondre à propos d’ipsec, c’est dommage mais bon


Vous avez un compte Twitter ?

Cliquer sur le bouton ci-dessous pour vous enregistrer sur le blog en l'utilisant.

Laisser un message

Les informations saisies resteront privées