Modifications entre les versions 1 et 10 (s'étendant sur 9 versions)
Version 1 à la date du 2013-07-02 11:53:35
Taille: 4860
Éditeur: FranckKouyami
Commentaire:
Version 10 à la date du 2013-08-12 07:00:08
Taille: 5417
Éditeur: WillyManga
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was renamed from Projet/SemaineTech/Ateliers/ModèleAtelierN
Ligne 4: Ligne 3:
= Migration de pipesecd vers ipsectools = Cette page présente la méthode de migration de `pipesecd` vers `ipsectools`.
Ligne 6: Ligne 6:
-- 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 12:
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 16:
et Impérativement le RTR de la région et impérativement le RTR de la région.
Ligne 18: Ligne 20:
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 rouet 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 32:
 * Installer gawk
 * Installer toutes les maj
 * Installer `gawk` (optionnel, permet juste d'éviter un avertissement)
 * Installer toutes les mises à jour
Ligne 33: Ligne 38:
 * 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 42:
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 45:
   # 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 49:
/!\ 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/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`)
Ligne 72: Ligne 76:
 * 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 81:
 * ajouter les routes statiques recommandées en commentaire dans le résultat du lancement du script, soit dans /etc/network/interface, 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 96:
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 98:
{{{
   #!/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 103:
 * 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 109:
 * 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 111:
 * demander le redémarrage du Netopia correspondant à Montréal
Ligne 112: Ligne 114:
{{{
   awk: cmd. line:4: warning: escape sequence `\.' treated as plain `.'

{{{#!shell
awk: cmd. line:4: warning: escape sequence `\.' treated as plain `.'
Ligne 116: Ligne 119:
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 124:
 * ProgFou
 * MoussaNombre
 * FranckKouyami
 * toute la région Asie-Pacifique
 * CNF de Cotonou
 * CNF de Ngaoundéré
 * CNF de Bujumbura
 * BACGL (le bureau)

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/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 :

    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
  • BACGL (le bureau)

Projet/RPV/Migration2ipsectools (dernière édition le 2014-10-16 18:31:17 par JeanChristopheAndré)