## page was renamed from RPV/Migration2ipsectools ## page was renamed from Migration2ipsectools <> Cette page présente la méthode de migration de `pipesecd` vers `ipsectools`. Cadre général RPV v1.5 -- FranckKouyami <> : 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 : * [[ProgFou|Jean Christophe André]] * [[MoussaNombre|Moussa Nombré]] 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 : {{{#!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 }}} === 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 : {{{#!shell pipsecd2ipsectools > /root/ipsec-tools.conf }}} . voici par exemple voici le fichier obtenu à Cotonou : {{{#!shell 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/16 any -P out ipsec esp/tunnel/81.91.236.1-199.84.140.82/require ; spdadd 10.36.0.0/16 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 : {{{#!shell 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 : {{{#!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 }}} * 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` * stopper le service `pipsecd` et purger le paquet `pipsecd` devenu inutile : {{{#!shell service 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 }}} * 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) * tester que tout fonctionne bien, depuis le pare-feu et depuis un poste client == Erreurs possibles == {{{#!shell 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 * BACGL (le bureau) * BC