Wiki » Historique » Version 9
Guillaume LE GALL, 28/09/2017 17:40
| 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 | 5 | Guillaume LE GALL | $ cd softwire-openl2tp |
| 27 | 1 | Guillaume LE GALL | </pre> |
| 28 | |||
| 29 | Faire un paquet binaire : |
||
| 30 | <pre> |
||
| 31 | $ dpkg-buildpackage --build=binary |
||
| 32 | </pre> |
||
| 33 | |||
| 34 | 6 | Guillaume LE GALL | Les paquets créés sont 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. |
| 35 | 1 | Guillaume LE GALL | |
| 36 | Installer les paquets créés : |
||
| 37 | <pre> |
||
| 38 | $ sudo dpkg -i openl2tp_1.8-1_amd64.deb openl2tp-dbgsym_1.8-1_amd64.deb openl2tp-dev_1.8-1_all.deb |
||
| 39 | $ sudo dpkg -i --force-overwrite openl2tp-ppp_1.8-1_amd64.deb |
||
| 40 | $ sudo dpkg -i openl2tp-ppp-dbgsym_1.8-1_amd64.deb |
||
| 41 | </pre> |
||
| 42 | |||
| 43 | Si il reste des problèmes de dépendances à ce stade, utiliser : |
||
| 44 | <pre> |
||
| 45 | $ sudo apt-get --fix-missing install |
||
| 46 | </pre> |
||
| 47 | |||
| 48 | Et enfin configurer les paquets "laissés non configurés" aux étapes précédentes |
||
| 49 | (nécessaire seulement si il y a eu des problèmes…). |
||
| 50 | |||
| 51 | Pratique pour demander à dpkg de configurer les paquest laissés non configurés : |
||
| 52 | <pre> |
||
| 53 | $ sudo dpkg --configure --pending |
||
| 54 | 2 | Guillaume LE GALL | </pre> |
| 55 | 1 | Guillaume LE GALL | |
| 56 | 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 : |
| 57 | 1 | Guillaume LE GALL | |
| 58 | <pre> |
||
| 59 | OPENL2TPD_ARGS="-D -d API" |
||
| 60 | </pre> |
||
| 61 | |||
| 62 | h4. PPP |
||
| 63 | |||
| 64 | Si vous n'utilisez pas l'authentification Radius pour PPP, la version du système (actuellement 2.4.7.) devrait suffire. |
||
| 65 | |||
| 66 | *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. |
||
| 67 | |||
| 68 | Installation des dépendances : |
||
| 69 | |||
| 70 | <pre> |
||
| 71 | 8 | Guillaume LE GALL | $ sudo apt-get install libpcap0.8-dev libpam0g-dev zlib1g-dev dh-systemd |
| 72 | 1 | Guillaume LE GALL | </pre> |
| 73 | |||
| 74 | Cloner le dépôt : |
||
| 75 | <pre> |
||
| 76 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-ppp |
||
| 77 | 7 | Guillaume LE GALL | $ cd softwire-ppp |
| 78 | 1 | Guillaume LE GALL | </pre> |
| 79 | |||
| 80 | Se placer sur la branche « debian/stretch ». |
||
| 81 | 7 | Guillaume LE GALL | |
| 82 | <pre> |
||
| 83 | $ git checkout debian/stretch |
||
| 84 | </pre> |
||
| 85 | 1 | Guillaume LE GALL | |
| 86 | Pour construire le paquet, utiliser : |
||
| 87 | <pre> |
||
| 88 | 9 | Guillaume LE GALL | $ dpkg-buildpackage -b -rfakeroot -us -uc |
| 89 | 1 | Guillaume LE GALL | </pre> |
| 90 | |||
| 91 | 9 | Guillaume LE GALL | Installer les paquets créés, en utilisant « --force-overwrite » quand c'est nécessaire : |
| 92 | |||
| 93 | <pre> |
||
| 94 | $ sudo dpkg -i sudo dpkg -i ppp_2.4.7-1+5_amd64.deb |
||
| 95 | $ sudo dpkg -i ppp-dbgsym_2.4.7-1+5_amd64.deb |
||
| 96 | $ sudo dpkg -i ppp-dev_2.4.7-1+5_all.deb |
||
| 97 | </pre> |
||
| 98 | 1 | Guillaume LE GALL | |
| 99 | h3. Softwire-concentrator |
||
| 100 | |||
| 101 | Ce logiciel joue le rôle de « serveur » |
||
| 102 | |||
| 103 | Cloner les dépôts : |
||
| 104 | <pre> |
||
| 105 | $ git clone https://redmine.telecom-bretagne.eu/git/softwire-concentrator |
||
| 106 | </pre> |
||
| 107 | |||
| 108 | Installer les dépendances : |
||
| 109 | <pre> |
||
| 110 | 4 | Guillaume LE GALL | $ sudo apt-get install wide-dhcpv6-relay radvd procmail |
| 111 | 1 | Guillaume LE GALL | </pre> |
| 112 | |||
| 113 | Compiler (c'est un projet autotools) : |
||
| 114 | <pre> |
||
| 115 | $ autoreconf -i -v |
||
| 116 | </pre> |
||
| 117 | |||
| 118 | 2 | Guillaume LE GALL | Si le système se plaint que le fichier "missing" est trop vieux, le supprimer et recommencer. |
| 119 | 1 | Guillaume LE GALL | |
| 120 | Ensuite : |
||
| 121 | |||
| 122 | <pre> |
||
| 123 | $ ./configure |
||
| 124 | $ make |
||
| 125 | </pre> |
||
| 126 | |||
| 127 | Pour obtenir un paquet Debian: |
||
| 128 | |||
| 129 | <pre> |
||
| 130 | $ dpkg-buildpackage --build=binary |
||
| 131 | </pre> |
||
| 132 | |||
| 133 | 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. |
| 134 | 1 | Guillaume LE GALL | |
| 135 | Installer le paquet créé. |
||
| 136 | |||
| 137 | 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. |
| 138 | 1 | Guillaume LE GALL | |
| 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> |