Wiki » Historique » Version 4
Guillaume LE GALL, 28/09/2017 17:02
| 1 | 1 | Guillaume LE GALL | h1. Softwire |
|---|---|---|---|
| 2 | |||
| 3 | Softwire est un logiciel permettant de monter un tunnel IPv6 au dessus d'IPv4, ou l'inverse. Pour cela, il se base sur les technologies Layer Two Tunneling Protocol version 2 (L2TPv2) et Point-to-Point Protocol (PPP). |
||
| 4 | |||
| 5 | Softwire est une implémentation de "RFC 5571":https://tools.ietf.org/html/rfc5571 contenue dans ce projet et les projets associés. |
||
| 6 | |||
| 7 | 3 | Guillaume LE GALL | La version actuelle n'utilise plus "wide-dhcpv6":https://sourceforge.net/projects/wide-dhcpv6/, qui était utilisé notamment pour la délégation de préfixe au client. |
| 8 | 1 | Guillaume LE GALL | |
| 9 | h2. Installation |
||
| 10 | |||
| 11 | Ce guide est a été rédigé pour l'actuelle version stable de Debian, « "Stretch":https://wiki.debian.org/fr/DebianStretch ». |
||
| 12 | |||
| 13 | h3. Commun |
||
| 14 | |||
| 15 | h4. OpenL2TP |
||
| 16 | |||
| 17 | Installer les paquets : |
||
| 18 | |||
| 19 | <pre> |
||
| 20 | sudo apt-get install flex bison libreadline-dev ppp-dev dpatch libtirpc1 rpcbind |
||
| 21 | </pre> |
||
| 22 | |||
| 23 | Cloner le dépôt : |
||
| 24 | <pre> |
||
| 25 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-openl2tp |
||
| 26 | </pre> |
||
| 27 | |||
| 28 | Compiler OpenL2TP : |
||
| 29 | <pre> |
||
| 30 | $ make |
||
| 31 | </pre> |
||
| 32 | |||
| 33 | Faire un paquet binaire : |
||
| 34 | <pre> |
||
| 35 | $ dpkg-buildpackage --build=binary |
||
| 36 | </pre> |
||
| 37 | |||
| 38 | 2 | Guillaume LE GALL | Le paquet créé est dans le répertoire au niveau au dessus. Si il y a une erreur comme quoi il manque une clé privée pour signer le fichier ".buildinfo", ignorer le message. |
| 39 | 1 | Guillaume LE GALL | |
| 40 | Installer les paquets créés : |
||
| 41 | <pre> |
||
| 42 | $ sudo dpkg -i openl2tp_1.8-1_amd64.deb openl2tp-dbgsym_1.8-1_amd64.deb openl2tp-dev_1.8-1_all.deb |
||
| 43 | $ sudo dpkg -i --force-overwrite openl2tp-ppp_1.8-1_amd64.deb |
||
| 44 | $ sudo dpkg -i openl2tp-ppp-dbgsym_1.8-1_amd64.deb |
||
| 45 | </pre> |
||
| 46 | |||
| 47 | Si il reste des problèmes de dépendances à ce stade, utiliser : |
||
| 48 | <pre> |
||
| 49 | $ sudo apt-get --fix-missing install |
||
| 50 | </pre> |
||
| 51 | |||
| 52 | Et enfin configurer les paquets "laissés non configurés" aux étapes précédentes |
||
| 53 | (nécessaire seulement si il y a eu des problèmes…). |
||
| 54 | |||
| 55 | Pratique pour demander à dpkg de configurer les paquest laissés non configurés : |
||
| 56 | <pre> |
||
| 57 | $ sudo dpkg --configure --pending |
||
| 58 | 2 | Guillaume LE GALL | </pre> |
| 59 | 1 | Guillaume LE GALL | |
| 60 | 2 | Guillaume LE GALL | En cas de problème, pour obtenir les messages de débug d'OpenL2TP dans le syslog, modifier le fichier de configuration d'OpenL2TP en y mettant : |
| 61 | 1 | Guillaume LE GALL | |
| 62 | <pre> |
||
| 63 | OPENL2TPD_ARGS="-D -d API" |
||
| 64 | </pre> |
||
| 65 | |||
| 66 | h4. PPP |
||
| 67 | |||
| 68 | Si vous n'utilisez pas l'authentification Radius pour PPP, la version du système (actuellement 2.4.7.) devrait suffire. |
||
| 69 | |||
| 70 | *Attention :* PPP doit être installé après OpenL2TP, sans quoi le plugin PPP pour OpenL2TP ne sera pas à jour, et ne permettra pas de notifier OpenL2TP que le tunnel a été monté avec succès. Cela aura pour conséquence que OpenL2TP fermera le tunnel après un timeout de 2 minutes. |
||
| 71 | |||
| 72 | Installation des dépendances : |
||
| 73 | |||
| 74 | <pre> |
||
| 75 | $ sudo apt-get install libpcap0.8-dev libpam0g-dev zlib1g-dev |
||
| 76 | </pre> |
||
| 77 | |||
| 78 | Cloner le dépôt : |
||
| 79 | <pre> |
||
| 80 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-ppp |
||
| 81 | </pre> |
||
| 82 | |||
| 83 | Se placer sur la branche « debian/stretch ». |
||
| 84 | |||
| 85 | Pour construire le paquet, utiliser : |
||
| 86 | <pre> |
||
| 87 | dpkg-buildpackage -b -rfakeroot -us -uc |
||
| 88 | </pre> |
||
| 89 | |||
| 90 | Installer les paquets créés, en utilisant « --force-overwrite » quand c'est nécessaire. |
||
| 91 | |||
| 92 | h3. Softwire-concentrator |
||
| 93 | |||
| 94 | Ce logiciel joue le rôle de « serveur » |
||
| 95 | |||
| 96 | Cloner les dépôts : |
||
| 97 | <pre> |
||
| 98 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-concentrator |
||
| 99 | </pre> |
||
| 100 | |||
| 101 | Installer les dépendances : |
||
| 102 | <pre> |
||
| 103 | 4 | Guillaume LE GALL | $ sudo apt-get install wide-dhcpv6-relay radvd procmail |
| 104 | 1 | Guillaume LE GALL | </pre> |
| 105 | |||
| 106 | Compiler (c'est un projet autotools) : |
||
| 107 | <pre> |
||
| 108 | $ autoreconf -i -v |
||
| 109 | </pre> |
||
| 110 | |||
| 111 | 2 | Guillaume LE GALL | Si le système se plaint que le fichier "missing" est trop vieux, le supprimer et recommencer. |
| 112 | 1 | Guillaume LE GALL | |
| 113 | Ensuite : |
||
| 114 | |||
| 115 | <pre> |
||
| 116 | $ ./configure |
||
| 117 | $ make |
||
| 118 | </pre> |
||
| 119 | |||
| 120 | Pour obtenir un paquet Debian: |
||
| 121 | |||
| 122 | <pre> |
||
| 123 | $ dpkg-buildpackage --build=binary |
||
| 124 | </pre> |
||
| 125 | |||
| 126 | 2 | Guillaume LE GALL | Le paquet créé est dans le répertoire au niveau au dessus. Si il y a une erreur comme quoi il manque une clé privée pour signer le fichier ".buildinfo", ignorer le message. |
| 127 | 1 | Guillaume LE GALL | |
| 128 | Installer le paquet créé. |
||
| 129 | |||
| 130 | 2 | Guillaume LE GALL | *Note :* Après mise à jour du code du paquet, penser à mettre à jour le fichier debian/changelog, à l'aide de l'outil dch, qui pré-remplit une nouvelle entrée dans ce fichier. |
| 131 | 1 | Guillaume LE GALL | |
| 132 | h3. Softwire-initiator |
||
| 133 | |||
| 134 | Ce logiciel joue le rôle de « client » |
||
| 135 | |||
| 136 | Cloner les dépôts : |
||
| 137 | <pre> |
||
| 138 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-initiator |
||
| 139 | </pre> |
||
| 140 | |||
| 141 | Installer les dépendances : |
||
| 142 | <pre> |
||
| 143 | sudo apt-get install wide-dhcpv6-client radvd lsb-base debhelper dh-systemd |
||
| 144 | </pre> |
||
| 145 | |||
| 146 | Construire le paquet : |
||
| 147 | <pre> |
||
| 148 | $ dpkg-buildpackage |
||
| 149 | </pre> |
||
| 150 | |||
| 151 | Installer le paquet : |
||
| 152 | <pre> |
||
| 153 | $ cd .. |
||
| 154 | $ sudo dpkg -i softwire-client_2.0~beta2_all.deb |
||
| 155 | </pre> |
||
| 156 | |||
| 157 | h2. Mise en place (setup) |
||
| 158 | |||
| 159 | h3. Concentrator |
||
| 160 | |||
| 161 | Sur la machine hébergeant le Concentrator, vérifier que le forwaring est activé : |
||
| 162 | <pre> |
||
| 163 | $ cat /etc/sysctl.conf | grep net.ipv6.conf.all.forwarding |
||
| 164 | net.ipv6.conf.all.forwarding=1 |
||
| 165 | </pre> |
||
| 166 | |||
| 167 | De même pour IPv4. |
||
| 168 | |||
| 169 | Configurer Softwire, en mettant à jour son fichier de configuration : |
||
| 170 | <pre> |
||
| 171 | $ vim /etc/softwire/softwire-concentrator.conf |
||
| 172 | </pre> |