[How To] VPN IPSEC - Linux

Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par Zedoune »

Bonjour,

un petit tuto très court sur "comment je fais un VPN IPSEC de ma box linux (debian) (chez OVH par exemple), vers mon LAN qui a un Zyxel (ça marchera avec à peu près n'importe quel routeur, normalement))

Attention ! Dans ce cas, la machine Linux possède l'ip publique sur son interface par défaut ! Si vous êtes derrière un routeur, je suppose que rediriger les ports UDP 500 et 4500 (pour IPSEC) devraient suffire à connecter le système au VPN. Mais si vous vous éclatez avec de l'IPSEC, ce serait plutot au routeur de le faire. En plus, après faudrait déclarer la route sur toutes les machines du LAN pour les faire passer par le VPN. Donc on va dire, si vous voulez faire du VPN site à site, vous faites le VPN depuis le bidule qui est connecté en frontal à internet ^^

Activez l'ip_forwarding si vous avez besoin

Dans mon exemple :

Box Linux :
- Ip publique : 192.62.42.88 sur eth0
- Réseau privé : 192.168.18.0/24
- Ip privée : 192.168.18.1

Routeur Zyxel :
- Ip publique : 91.58.24.15
- Réseau privé : 192.168.30.0/24


[*] Pré-requis :
- Avoir un système linux (ça peut marcher avec du BSD ou autre chose mais dans les exemples ce sera linux alors faites pas chier !)
- Avoir du matos qui fait de l'IPSEC (Zyxel ici)
- Avoir un papier et un crayon
- Connaître vos IP publiques et vos réseaux privés

[*] Etape 1 : (ne pas négliger !)
- Faire le schéma de votre réseau sur le papier, à l'aide du crayon
- Noter l'ip publique de chaque routeur et le réseau privé qu'il y a derrière

[*] Etape 2 : Configuration du système linux
- Installer ipsec-tools et racoon sur le système linux
- Debian utilise racoon-tool pour configurer la config (ouais !!) et lancer le service, moi non j'ai pas compris la syntaxe, adaptez le script de config.

Les fichiers importants sont au nombre de 3 :
- /etc/ipsec-tools.conf qui sert à déclarer les réseaux privés dans le kernel
- /etc/racoon/racoon.conf qui sert à dire comment on fait le VPN
- /etc/racoon/psk.txt qui sert à définir les clés d'authentification


/etc/ipsec-tools.conf
#!/usr/sbin/setkey -f
flush;
spdflush;

spdadd 192.168.18.0/24 192.168.30.0/24 any -P out ipsec
                esp/tunnel/192.62.42.88-91.58.24.15/require;

spdadd 192.168.30.0/24 192.168.18.0/24 any -P in ipsec
                esp/tunnel/91.58.24.15-192.62.42.88/require;
/etc/racoon/racoon.conf
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

remote 91.58.24.15 {
        exchange_mode main;
        nat_traversal on;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
        generate_policy off;
}

sainfo address 192.168.18.0/24 any address 192.168.30.0/24 any {
    pfs_group 2;
        lifetime time 8 hour ;
        encryption_algorithm aes, 3des, rijndael ;
        authentication_algorithm hmac_sha1, hmac_md5 ;
        compression_algorithm deflate ;
}
/etc/racoon/psk.txt
91.58.24.15 VOTRE_CLEF_AUTHENFICIATION
- Ajouter la route :

Code : Tout sélectionner

ip route add to 192.168.30.0/24 src 192.168.18.1 dev eth0


[*] Etape 3 : Configuration du routeur
- Créer la config pour la phase 1 (IKE) et NAT-T (transversal)
3DES - SHA1 - DH group 2

- Créer la config pour la phase 2 (déclaration des réseaux)
AES - SHA1 - DH group 2 et 28800 secondes

- Connecter
kalistyan
Messages : 14259
Inscription : ven. 12 janv. 2018 17:44
Localisation : LYON
Contact :

[How To] VPN IPSEC - Linux

Message par kalistyan »

:jap:
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

c'est con, je l'ai fait ya a peu près un an avec exactement la meme config (Zyxel et debian)
j'aurais du poster, ça t'aurait evité de chercher

mefie toi du Zyxel, j'ai eu (et j'ai toujours mais moins) des gros pbs de stabilité suite a la mise en place du tunnel.
le CPU passe a 100% du coup ya plus rien qui repond et le lan qui est derriere perd l'accès au net et bien sur le tunnel saute coté debian

si j'ai du temps demain, je complèterais le tuto pour ajouter un serveur l2tp en plus du tunnel si vous voulez attaquer directement le LAN derriere le linux sans passer par le tunnel

dans mon cas c'est
site A: principal (Zyxel)
site B: backup (ESXi, avec 1 PDC et 1 debian qui sert de routeur/firewall/tunnel IPSEC/serveur L2TP)

les utilisateurs sont sur le site A

si le site A est indispo, ils doivent pouvoir se connecter en VPN L2TP sur le site B (a partir de chez eux ou d'un cyber café), sachant qu'ils se connectent aussi sur le site A lorsqu'ils sont en mobilité (clef 3g)

si le PDC du site A tombe, tout le traffic passe par le tunnel IPSEC vers le site B, le tout en temps réel !
la seule limitation c'est le debit entre les 2 sites sinon, totalement transparent pour les users ;)
sylver52
Messages : 6003
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par sylver52 »

[*] Pré-requis :
- Avoir un système linux (ça peut marcher avec du BSD ou autre chose mais dans les exemples ce sera linux alors faites pas chier !)
- Avoir du matos qui fait de l'IPSEC (Zyxel ici)
- Avoir un papier et un crayon
- Connaître vos IP publiques et vos réseaux privés
Tu m'as fait rêver avec cette phrase :lol:
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

je confirme, c'est indispensable, je me suis arraché les cheveux pour le routage et le firewall :D
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par Zedoune »

Le Zyxel que j'utilise est déjà connecté à une dizaine de VPN, donc 1 qui utilise la même technologie mais c'est pas moi qui l'ai installé, pas de soucis ^^
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

USG 100 dans mon cas, c'est une petite infra mais je crois qu'avec tout ce que j'ai mis dessus, on arrive aux limites :D
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

comme son nom l'indique c'est un 100 connections simultanées mais les vpn prennent beaucoup plus de ress qu'un user lambda, donc forcément si tu commence à lui taper dessus :D
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

je depasse jamais les 50 simultanées ;)

et une fois que le CPU est passé a 100%, il redescend plus
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par Zedoune »

t'as essayé de mettre à jour le firmware ?
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

le vpn suivant les options ca peut bouffer pas mal, et puis niveau opti et fiabilité, les firm zyxel spa ca je trouve
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

en fait quand le le reboot, tout va bien, CPU
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

tu peux pas save le .conf et le recharger après? sur l'usg 1000 que l'on a, on peut le faire
kalistyan
Messages : 14259
Inscription : ven. 12 janv. 2018 17:44
Localisation : LYON
Contact :

[How To] VPN IPSEC - Linux

Message par kalistyan »

Idem.
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

tu peux pas save le .conf et le recharger après? sur l'usg 1000 que l'on a, on peut le faire
oui, on peut le faire.

mais le .conf n'est pas compatible entre les 2 versions.
je suis en V1.X actuellement (la derniere V1 en fait) la version suivante c'est V2 et faut tout se retaper
cf forum zyxell
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

erf pas cool :/

bon bas pas touche alors :D
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

dis nous en plus sur ton infra, pcq perso j'ai pas compris ;)
un petit shema fera pas de mal
steff00
Messages : 867
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par steff00 »

+1 avec dsebire
moi je suis vieux, je ne comprends pas sans un joli dessin (quoi que même avec parfois ...)
Avatar de l’utilisateur
Zedoune
Messages : 15343
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par Zedoune »

Salut,

Désolé pour détérage, mais je suis intéressé par ce tuto et j'ai une question :

J'ai deux connexions Wan sur mon serveur (pour le failover et routage sur l'une ou l'autre selon l'ip du client sur le LAN). Comment expliquer à la box qu'il faut utiliser une carte réseau en particulier pour aller taper dans le routeur VPN distant ?

Merci par avance ;)
tu dois pouvoir lui indiquer avec un paramètre en ligne de commande, du style "racoon -f /etc/racoon/racoon.conf -i eth1"

Si c'est un routeur dual wan, quand tu configures la phase 2 IPSEC, il te demande si tu veux utiliser le "Default port" ou "Optional port".
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

détérage!!!!!!!!!!!!!!!!!!


question:

ca change quelque chose si mon serveur ipsec est derrière un iptables et que les clients se co directement dessus? pas de site-to-site
Avatar de l’utilisateur
dsebire
Messages : 13158
Inscription : ven. 12 janv. 2018 17:44
Localisation : Loiret - entre la ville et les champs

[How To] VPN IPSEC - Linux

Message par dsebire »

:hello:

pas compris....

la methode donnée ici c'est pour du site to site
donc interco de 2 reseau au travers du VPN

si tu as 1 client qui veut se connecter et qui a une IP publique et pas d'ip locale, utilise un L2TP (surcouche sur de l'IPSEC)

je vois pas ce que le firewall viens faire la dedans.... (du moment que les bons ports/protocoles sont ouverts)
gizmo78
Messages : 20534
Inscription : ven. 12 janv. 2018 17:44

[How To] VPN IPSEC - Linux

Message par gizmo78 »

pas été clair autant pour moi.

j'aimerais me faire un vpn avec autre chose qu'openvpn (un truc que l'on peut mettre sur les terminaux mobiles sans root ni rien)

du coup l'ipsec/l2tp convient bien.

juste que le serveur vpn sera sur ma dedibox et donc derrière mon routeur/firewall qui utilise iptables voila tout.
Répondre