Wiki » Historique » Version 1
Guillaume LE GALL, 28/09/2017 16:27
| 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 | La version actuelle n'utilise plus wide-dhcpv6, qui était utilisé notamment pour la délégation de préfixe au client. |
||
| 8 | |||
| 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 | Le paquet créé est dans le répertoire au niveau au dessus. Si il y a une |
||
| 39 | erreur comme quoi il manque une clé privée pour signer le fichier |
||
| 40 | ".buildinfo", ignorer le message. |
||
| 41 | |||
| 42 | Installer les paquets créés : |
||
| 43 | <pre> |
||
| 44 | $ sudo dpkg -i openl2tp_1.8-1_amd64.deb openl2tp-dbgsym_1.8-1_amd64.deb openl2tp-dev_1.8-1_all.deb |
||
| 45 | $ sudo dpkg -i --force-overwrite openl2tp-ppp_1.8-1_amd64.deb |
||
| 46 | $ sudo dpkg -i openl2tp-ppp-dbgsym_1.8-1_amd64.deb |
||
| 47 | </pre> |
||
| 48 | |||
| 49 | Si il reste des problèmes de dépendances à ce stade, utiliser : |
||
| 50 | <pre> |
||
| 51 | $ sudo apt-get --fix-missing install |
||
| 52 | </pre> |
||
| 53 | |||
| 54 | Et enfin configurer les paquets "laissés non configurés" aux étapes précédentes |
||
| 55 | (nécessaire seulement si il y a eu des problèmes…). |
||
| 56 | |||
| 57 | Pratique pour demander à dpkg de configurer les paquest laissés non configurés : |
||
| 58 | <pre> |
||
| 59 | $ sudo dpkg --configure --pending |
||
| 60 | |||
| 61 | En cas de problème, pour obtenir les messages de débug d'OpenL2TP dans le syslog, |
||
| 62 | modifier le fichier de configuration d'OpenL2TP en y mettant : |
||
| 63 | |||
| 64 | <pre> |
||
| 65 | OPENL2TPD_ARGS="-D -d API" |
||
| 66 | </pre> |
||
| 67 | |||
| 68 | h4. PPP |
||
| 69 | |||
| 70 | Si vous n'utilisez pas l'authentification Radius pour PPP, la version du système (actuellement 2.4.7.) devrait suffire. |
||
| 71 | |||
| 72 | *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. |
||
| 73 | |||
| 74 | Installation des dépendances : |
||
| 75 | |||
| 76 | <pre> |
||
| 77 | $ sudo apt-get install libpcap0.8-dev libpam0g-dev zlib1g-dev |
||
| 78 | </pre> |
||
| 79 | |||
| 80 | Cloner le dépôt : |
||
| 81 | <pre> |
||
| 82 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-ppp |
||
| 83 | </pre> |
||
| 84 | |||
| 85 | Se placer sur la branche « debian/stretch ». |
||
| 86 | |||
| 87 | Pour construire le paquet, utiliser : |
||
| 88 | <pre> |
||
| 89 | dpkg-buildpackage -b -rfakeroot -us -uc |
||
| 90 | </pre> |
||
| 91 | |||
| 92 | Installer les paquets créés, en utilisant « --force-overwrite » quand c'est nécessaire. |
||
| 93 | |||
| 94 | h3. Softwire-concentrator |
||
| 95 | |||
| 96 | Ce logiciel joue le rôle de « serveur » |
||
| 97 | |||
| 98 | Cloner les dépôts : |
||
| 99 | <pre> |
||
| 100 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-concentrator |
||
| 101 | </pre> |
||
| 102 | |||
| 103 | Installer les dépendances : |
||
| 104 | <pre> |
||
| 105 | $ sudo apt-get install wide-dhcpv6-relay radvd |
||
| 106 | </pre> |
||
| 107 | |||
| 108 | Compiler (c'est un projet autotools) : |
||
| 109 | <pre> |
||
| 110 | $ autoreconf -i -v |
||
| 111 | </pre> |
||
| 112 | |||
| 113 | Si le système se plaint que le fichier "missing" est trop vieux, le supprimer et |
||
| 114 | recommencer. |
||
| 115 | |||
| 116 | Ensuite : |
||
| 117 | |||
| 118 | <pre> |
||
| 119 | $ ./configure |
||
| 120 | $ make |
||
| 121 | </pre> |
||
| 122 | |||
| 123 | Pour obtenir un paquet Debian: |
||
| 124 | |||
| 125 | <pre> |
||
| 126 | $ dpkg-buildpackage --build=binary |
||
| 127 | </pre> |
||
| 128 | |||
| 129 | Le paquet créé est dans le répertoire au niveau au dessus. Si il y a une |
||
| 130 | erreur comme quoi il manque une clé privée pour signer le fichier |
||
| 131 | ".buildinfo", ignorer le message. |
||
| 132 | |||
| 133 | Installer le paquet créé. |
||
| 134 | |||
| 135 | Note : Après mise à jour du code du paquet, penser à mettre à jour le fichier |
||
| 136 | debian/changelog, à l'aide de l'outil dch, qui pré-remplit une nouvelle entrée |
||
| 137 | dans ce fichier. |
||
| 138 | |||
| 139 | h3. Softwire-initiator |
||
| 140 | |||
| 141 | Ce logiciel joue le rôle de « client » |
||
| 142 | |||
| 143 | Cloner les dépôts : |
||
| 144 | <pre> |
||
| 145 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-initiator |
||
| 146 | </pre> |
||
| 147 | |||
| 148 | Installer les dépendances : |
||
| 149 | <pre> |
||
| 150 | sudo apt-get install wide-dhcpv6-client radvd lsb-base debhelper dh-systemd |
||
| 151 | </pre> |
||
| 152 | |||
| 153 | Construire le paquet : |
||
| 154 | <pre> |
||
| 155 | $ dpkg-buildpackage |
||
| 156 | </pre> |
||
| 157 | |||
| 158 | Installer le paquet : |
||
| 159 | <pre> |
||
| 160 | $ cd .. |
||
| 161 | $ sudo dpkg -i softwire-client_2.0~beta2_all.deb |
||
| 162 | </pre> |
||
| 163 | |||
| 164 | h2. Mise en place (setup) |
||
| 165 | |||
| 166 | h3. Concentrator |
||
| 167 | |||
| 168 | Sur la machine hébergeant le Concentrator, vérifier que le forwaring est activé : |
||
| 169 | <pre> |
||
| 170 | $ cat /etc/sysctl.conf | grep net.ipv6.conf.all.forwarding |
||
| 171 | net.ipv6.conf.all.forwarding=1 |
||
| 172 | </pre> |
||
| 173 | |||
| 174 | De même pour IPv4. |
||
| 175 | |||
| 176 | Configurer Softwire, en mettant à jour son fichier de configuration : |
||
| 177 | <pre> |
||
| 178 | $ vim /etc/softwire/softwire-concentrator.conf |
||
| 179 | </pre> |