Taille: 4907
Commentaire:
|
Taille: 5391
Commentaire: révision de la doc par l'auteur de l'outil ;-) merci Franck pour le travail de fond
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
## page was renamed from Projet/SemaineTech/Ateliers/ModèleAtelierN | |
Ligne 3: | Ligne 2: |
Cette page présente la méthode de migration de `pipesecd` vers `ipsectools`. | |
Ligne 4: | Ligne 4: |
= Migration de pipesecd vers ipsectools = | |
Ligne 6: | Ligne 5: |
-- FranckKouyami <<DateTime(2013-07-02T11:53:34Z)>> : je l'ai fait dans le cadre d'un remplacement de machine. J'avais un nouveau FW à installer. | -- FranckKouyami <<DateTime(2013-07-02T11:53:34Z)>> : je l'ai fait dans le cadre d'un remplacement de machine. J'avais un nouveau FW à installer. |
Ligne 10: | Ligne 11: |
Au moins d'un des deux suivants : * Jean-Christophe André * Moussa Nombré |
Au moins d'un des deux suivants : * [[ProgFou|Jean Christophe André]] * [[MoussaNombre|Moussa Nombré]] |
Ligne 14: | Ligne 15: |
et Impérativement le RTR de la région | et impérativement le RTR de la région. |
Ligne 18: | Ligne 19: |
Il est à cette adresse [[http://git.auf.org/?p=progfou.git;a=blob_plain;f=ipsec/pipsecd2ipsectools|Le script de Migration]]. Ce script est à récupérer et à installer dans le répertoire root du FW. Les 04 variables suivantes sont à adapter : {{{ LOCALNET="10.XXX.0.0/20" #Le sous-réseau qui a été affecté au VPN de l'implantation LOCALIP="10.XXX.0.254" #L'adresse IP du FW dans ce sous réseau PUBLICIP="210.245.61.206" #L'adresse IP publique du FW. GW="118.70.0.243" #Le route par défaut donnée par la commande route -n |
Le script d'aide à la migration est à cette adresse : http://git.auf.org/?p=progfou.git;a=blob_plain;f=ipsec/pipsecd2ipsectools Ce script est à récupérer et à installer dans le répertoire `/root` du pare-feu. Les 4 variables suivantes sont à adapter : {{{#!shell LOCALNET="10.XXX.0.0/20" # le sous-réseau du RPV AUF qui a été attribué à l'implantation LOCALIP="10.XXX.0.254" # l'adresse IP du pare-feu dans ce sous-réseau PUBLICIP="210.245.61.206" # l'adresse IP publique du pare-feu GW="118.70.0.243" # la route par défaut du pare-feu, visible avec la commande suivante : route -n |
Ligne 27: | Ligne 31: |
* Installer gawk * Installer toutes les maj |
* Installer `gawk` (optionnel, permet juste d'éviter un avertissement) * Installer toutes les mises à jour |
Ligne 33: | Ligne 37: |
* lancer ce script, sous root, dans le serveur où est installé pipsecd et sauver le résultat dans un fichier, par exemple : {{{ pipsecd2ipsectools > /root/ipsec-tools.conf |
* lancer ce script, sous l'utilisateur `root`, dans le serveur où est installé `pipsecd` et sauver le résultat dans un fichier, par exemple : {{{#!shell pipsecd2ipsectools > /root/ipsec-tools.conf |
Ligne 38: | Ligne 41: |
Voici par exemple voici le fichier obtenu par Cotonou : {{{ root@fw:/root/# cat ipsec-tools.conf |
. voici par exemple voici le fichier obtenu à Cotonou : {{{#!shell root@fw:/root/# cat ipsec-tools.conf |
Ligne 43: | Ligne 44: |
# REMARQUES : # - l'ordre des règles spdadd est important et doit correspondrea l'ordre # des routes les plus précises vers les routes les plus générales # ne pas utiliser IPsec en réseau local spdadd 10.25.1.0/20 10.25.1.0/20 any -P out none ; spdadd 10.25.1.0/20 10.25.1.0/20 any -P in none ; #if 1 local_spi=1001 remote_spi=1001 #ip route add 10.36.0.0/20 via 10.216.33.101 src 10.25.1.254 spdadd 10.25.1.0/20 10.36.0.0/20 any -P out ipsec esp/tunnel/81.91.236.1-199.84.140.82/require ; spdadd 10.36.0.0/20 10.25.1.0/20 any -P in ipsec esp/tunnel/199.84.140.82-81.91.236.1/require ; add 81.91.236.1 199.84.140.82 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ; add 199.84.140.82 81.91.236.1 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ; }}} |
# REMARQUES : # - l'ordre des règles spdadd est important et doit correspondrea l'ordre # des routes les plus précises vers les routes les plus générales |
Ligne 69: | Ligne 48: |
/!\ NB : les clés correspondantes à des et hmac ne doivet jamais être transmise par un moyen non sécurisé (mail, forum). Préférez jabber en conversation privée avec votre interlocuteur (évitez les salons) /!\ | # ne pas utiliser IPsec en réseau local spdadd 10.25.1.0/20 10.25.1.0/20 any -P out none ; spdadd 10.25.1.0/20 10.25.1.0/20 any -P in none ; #if 1 local_spi=1001 remote_spi=1001 #ip route add 10.36.0.0/20 via 10.216.33.101 src 10.25.1.254 spdadd 10.25.1.0/20 10.36.0.0/20 any -P out ipsec esp/tunnel/81.91.236.1-199.84.140.82/require ; spdadd 10.36.0.0/20 10.25.1.0/20 any -P in ipsec esp/tunnel/199.84.140.82-81.91.236.1/require ; add 81.91.236.1 199.84.140.82 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ; add 199.84.140.82 81.91.236.1 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ; }}} . /!\ NB : les clés derrière `des-cbc` et `hmac-md5` ne doivent '''jamais''' être transmise par un moyen non sécurisé (courriel, forum). Préférez Jabber en conversation privée avec votre interlocuteur (évitez les salons) /!\ * cas particulier : corriger le CIDR pour Montréal qui doit être de 16 au lieu de 20 (= remplacer tous les `10.36.0.0/20` par `10.36.0.0/16`) |
Ligne 72: | Ligne 75: |
* vérifier la configuration des règles de pare-feu pour s'assurer de NE PAS faire de NAT en sortie vers 10.0.0.0/8, par exemple : {{{ iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j RETURN |
* vérifier la configuration des règles de pare-feu pour s'assurer de '''ne pas''' faire de NAT en sortie vers `10.0.0.0/8`, par exemple : {{{#!shell iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j RETURN |
Ligne 77: | Ligne 80: |
* ajouter les routes statiques recommandées en commentaire dans le résultat du lancement du script, soit dans /etc/network/interfaces, par exemple : {{{ up ip route replace 10.36.0.0/20 via 118.70.0.243 dev ppp0 src 10.230.0.254 |
* ajouter les routes statiques recommandées en commentaire dans le résultat du lancement du script * soit dans `/etc/network/interfaces`, par exemple : {{{#!shell up ip route replace 10.36.0.0/16 via 118.70.0.243 dev ppp0 src 10.230.0.254 }}} . /!\ remplacer ici aussi le `10.36.0.0/20` par `10.36.0.0/16` * soit dynamiquement au lancement d'une interface PPP, par exemple dans un fichier /etc/ppp/ip-up.d/0000iproute tel que suit : {{{#!shell #!/bin/sh IP="/sbin/ip" for net in `awk '/^spdadd .* out /{print $3}' /etc/ipsec-tools.conf` ; do $IP route replace "$net" via $PPP_REMOTE dev $PPP_IFACE src 10.230.0.254 done $IP route replace default via $PPP_REMOTE dev $PPP_IFACE src 210.245.61.206 |
Ligne 82: | Ligne 95: |
soit dynamiquement au lancement d'une interface PPP, par exemple dans un fichier /etc/ppp/ip-up.d/0000iproute tel que suit : | * convenir avec un des admins du RPV ([[ProgFou|Jean Christophe André]] ou [[MoussaNombre|Moussa Nombré]]) du moment de la bascule de `pipsecd` vers `ipsec-tools` |
Ligne 84: | Ligne 97: |
{{{ #!/bin/sh IP="/sbin/ip" for net in `awk '/^spdadd .* out /{print $3}' /etc/ipsec-tools.conf` ; do $IP route replace "$net" via $PPP_REMOTE dev $PPP_IFACE src 10.230.0.254 done $IP route replace default via $PPP_REMOTE dev $PPP_IFACE src 210.245.61.206 |
* stopper le service `pipsecd` et purger le paquet `pipsecd` devenu inutile : {{{#!shell service pipsecd stop aptitude purge pipsecd |
Ligne 93: | Ligne 102: |
* convenir avec un des admins du RPV (Jean Christophe André ou Moussa Nombré) du moment de la bascule de pipsecd vers ipsec-tools * stopper le service pipsecd et purger le paquet pipsecd devenu inutile : {{{ /etc/init.d/pipsecd stop aptitude purge pipsecd |
* installer le paquet `ipsec-tools` et la configuration IPsec natif, par exemple : {{{#!shell aptitude install ipsec-tools cat /root/ipsec-tools.conf >> /etc/ipsec-tools.conf service setkey restart |
Ligne 101: | Ligne 108: |
* installer le paquet ipsec-tools et la configuration IPsec natif, par exemple : {{{ aptitude install ipsec-tools cat /root/ipsec-tools.conf >> /etc/ipsec-tools.conf service setkey restart }}} |
* demander le redémarrage du Netopia correspondant à Montréal (donc à [[ProgFou|Jean Christophe André]] ou [[MoussaNombre|Moussa Nombré]], en précisant lequel, pour faciliter le travail) |
Ligne 108: | Ligne 110: |
* demander le redémarrage du Netopia correspondant à Montréal | |
Ligne 112: | Ligne 113: |
{{{ awk: cmd. line:4: warning: escape sequence `\.' treated as plain `.' |
{{{#!shell awk: cmd. line:4: warning: escape sequence `\.' treated as plain `.' |
Ligne 116: | Ligne 118: |
Ceci n'est pas véritablement une erreur. C'est du à la version de awk qui est installée. Donc ignorez cela. | Ceci n'est pas véritablement une erreur. C'est dû à la version de `awk` qui est installée. Donc ignorez cela. |
Ligne 121: | Ligne 123: |
* ProgFou * MoussaNombre |
* toute la région Asie-Pacifique |
Sommaire
Cette page présente la méthode de migration de pipesecd vers ipsectools.
Cadre général RPV v1.5
-- FranckKouyami 2013-07-02 11:53:34 : je l'ai fait dans le cadre d'un remplacement de machine. J'avais un nouveau FW à installer.
Prérequis
Personnes à contacter avant impérativement
Au moins d'un des deux suivants :
et impérativement le RTR de la région.
Le script
Le script d'aide à la migration est à cette adresse : http://git.auf.org/?p=progfou.git;a=blob_plain;f=ipsec/pipsecd2ipsectools
Ce script est à récupérer et à installer dans le répertoire /root du pare-feu.
Les 4 variables suivantes sont à adapter :
LOCALNET="10.XXX.0.0/20" # le sous-réseau du RPV AUF qui a été attribué à l'implantation LOCALIP="10.XXX.0.254" # l'adresse IP du pare-feu dans ce sous-réseau PUBLICIP="210.245.61.206" # l'adresse IP publique du pare-feu GW="118.70.0.243" # la route par défaut du pare-feu, visible avec la commande suivante : route -n
Autres
Installer gawk (optionnel, permet juste d'éviter un avertissement)
- Installer toutes les mises à jour
Procédure
Le script est très bien documenté. Ce qui va suivre est majoritairement issu de la doc présente dans le script.
lancer ce script, sous l'utilisateur root, dans le serveur où est installé pipsecd et sauver le résultat dans un fichier, par exemple :
pipsecd2ipsectools > /root/ipsec-tools.conf
voici par exemple voici le fichier obtenu à Cotonou :
root@fw:/root/# cat ipsec-tools.conf # REMARQUES : # - l'ordre des règles spdadd est important et doit correspondrea l'ordre # des routes les plus précises vers les routes les plus générales # ne pas utiliser IPsec en réseau local spdadd 10.25.1.0/20 10.25.1.0/20 any -P out none ; spdadd 10.25.1.0/20 10.25.1.0/20 any -P in none ; #if 1 local_spi=1001 remote_spi=1001 #ip route add 10.36.0.0/20 via 10.216.33.101 src 10.25.1.254 spdadd 10.25.1.0/20 10.36.0.0/20 any -P out ipsec esp/tunnel/81.91.236.1-199.84.140.82/require ; spdadd 10.36.0.0/20 10.25.1.0/20 any -P in ipsec esp/tunnel/199.84.140.82-81.91.236.1/require ; add 81.91.236.1 199.84.140.82 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ; add 199.84.140.82 81.91.236.1 esp-old 251 -m tunnel -E des-cbc XXXXXXXXXXXXXXXXXX -A hmac-md5 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ;
NB : les clés derrière des-cbc et hmac-md5 ne doivent jamais être transmise par un moyen non sécurisé (courriel, forum). Préférez Jabber en conversation privée avec votre interlocuteur (évitez les salons)
cas particulier : corriger le CIDR pour Montréal qui doit être de 16 au lieu de 20 (= remplacer tous les 10.36.0.0/20 par 10.36.0.0/16)
- vérifier le résultat obtenu avec votre RTR ou un autre collègue ayant déjà fait la migration
vérifier la configuration des règles de pare-feu pour s'assurer de ne pas faire de NAT en sortie vers 10.0.0.0/8, par exemple :
iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j RETURN
- ajouter les routes statiques recommandées en commentaire dans le résultat du lancement du script
soit dans /etc/network/interfaces, par exemple :
up ip route replace 10.36.0.0/16 via 118.70.0.243 dev ppp0 src 10.230.0.254
remplacer ici aussi le 10.36.0.0/20 par 10.36.0.0/16
soit dynamiquement au lancement d'une interface PPP, par exemple dans un fichier /etc/ppp/ip-up.d/0000iproute tel que suit :
#!/bin/sh IP="/sbin/ip" for net in `awk '/^spdadd .* out /{print $3}' /etc/ipsec-tools.conf` ; do $IP route replace "$net" via $PPP_REMOTE dev $PPP_IFACE src 10.230.0.254 done $IP route replace default via $PPP_REMOTE dev $PPP_IFACE src 210.245.61.206
convenir avec un des admins du RPV (Jean Christophe André ou Moussa Nombré) du moment de la bascule de pipsecd vers ipsec-tools
stopper le service pipsecd et purger le paquet pipsecd devenu inutile :
service pipsecd stop aptitude purge pipsecd
installer le paquet ipsec-tools et la configuration IPsec natif, par exemple :
aptitude install ipsec-tools cat /root/ipsec-tools.conf >> /etc/ipsec-tools.conf service setkey restart
demander le redémarrage du Netopia correspondant à Montréal (donc à Jean Christophe André ou Moussa Nombré, en précisant lequel, pour faciliter le travail)
- tester que tout fonctionne bien, depuis le pare-feu et depuis un poste client
Erreurs possibles
awk: cmd. line:4: warning: escape sequence `\.' treated as plain `.'
Ceci n'est pas véritablement une erreur. C'est dû à la version de awk qui est installée. Donc ignorez cela.
Reporting
Rajoutez ici le nom de votre implantation si vous avez fait la migration avec succès. Vous pourrez ainsi être contactés par d'autres pour les accompagner.
- toute la région Asie-Pacifique
- CNF de Cotonou
- CNF de Ngaoundéré
- CNF de Bujumbura