Projet

Général

Profil

Wiki » Historique » Version 12

Guillaume LE GALL, 28/09/2017 17:51

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 10 Guillaume LE GALL
h4. PPP
16
17
Si vous n'utilisez pas l'authentification Radius pour PPP, la version du système (actuellement 2.4.7.) devrait suffire.
18
19
Installation des dépendances :
20
21
<pre>
22
$ sudo apt-get install libpcap0.8-dev libpam0g-dev zlib1g-dev dh-systemd
23
</pre>
24
25
Cloner le dépôt :
26
<pre>
27
$ git clone https://redmine.telecom-bretagne.eu/git/softwire-ppp
28
$ cd softwire-ppp
29
</pre>
30
31
Se placer sur la branche « debian/stretch ».
32
33
<pre>
34
$ git checkout debian/stretch
35
</pre>
36
37
Pour construire le paquet, utiliser :
38
<pre>
39
$ dpkg-buildpackage -b -rfakeroot -us -uc
40
</pre>
41
42
Installer les paquets créés, en utilisant « --force-overwrite » quand c'est nécessaire :
43
44
<pre>
45
$ sudo dpkg -i sudo dpkg -i ppp_2.4.7-1+5_amd64.deb
46
$ sudo dpkg -i ppp-dbgsym_2.4.7-1+5_amd64.deb
47
$ sudo dpkg -i ppp-dev_2.4.7-1+5_all.deb
48
</pre>
49
50 1 Guillaume LE GALL
h4. OpenL2TP
51
52
Installer les paquets :
53
54
<pre>
55
sudo apt-get install flex bison libreadline-dev ppp-dev dpatch libtirpc1 rpcbind
56
</pre>
57
58
Cloner le dépôt :
59
<pre>
60
$ git clone https://redmine.telecom-bretagne.eu/git/softwire-openl2tp
61
$ cd softwire-openl2tp
62
</pre>
63
64
Faire un paquet binaire :
65
<pre>
66
$ dpkg-buildpackage --build=binary
67 8 Guillaume LE GALL
</pre>
68 1 Guillaume LE GALL
69
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.
70
71
Installer les paquets créés :
72
<pre>
73 7 Guillaume LE GALL
$ sudo dpkg -i openl2tp_1.8-1_amd64.deb openl2tp-dbgsym_1.8-1_amd64.deb openl2tp-dev_1.8-1_all.deb
74 1 Guillaume LE GALL
</pre>
75
76 10 Guillaume LE GALL
*Attention :* N'installez pas les paquets @openl2tp-ppp_1.8-1_amd64.deb@ et @openl2tp-ppp-dbgsym_1.8-1_amd64.deb@. Leur contenu est fourni par PPP, installé précédemment. Si jamais vous le faites, 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.
77
78 1 Guillaume LE GALL
Si il reste des problèmes de dépendances à ce stade, utiliser :
79 7 Guillaume LE GALL
<pre>
80
$ sudo apt-get --fix-missing install
81
</pre>
82
83 1 Guillaume LE GALL
Et enfin configurer les paquets "laissés non configurés" aux étapes précédentes
84
(nécessaire seulement si il y a eu des problèmes…).
85
86 9 Guillaume LE GALL
Pratique pour demander à dpkg de configurer les paquest laissés non configurés :
87 1 Guillaume LE GALL
<pre>
88
$ sudo dpkg --configure --pending
89 9 Guillaume LE GALL
</pre>
90
91
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 :
92
93
<pre>
94
OPENL2TPD_ARGS="-D -d API"
95
</pre>
96 1 Guillaume LE GALL
97
h3. Softwire-concentrator
98
99
Ce logiciel joue le rôle de « serveur »
100
101
Cloner les dépôts :
102
<pre>
103
$ git clone https://redmine.telecom-bretagne.eu/git/softwire-concentrator
104 11 Guillaume LE GALL
$ cd softwire-concentrator
105 1 Guillaume LE GALL
</pre>
106
107
Installer les dépendances :
108
<pre>
109 12 Guillaume LE GALL
$ sudo apt-get install radvd procmail
110 1 Guillaume LE GALL
</pre>
111
112
Pour obtenir un paquet Debian:
113
114
<pre>
115
$ dpkg-buildpackage --build=binary
116
</pre>
117
118 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.
119 1 Guillaume LE GALL
120
Installer le paquet créé.
121
122 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.
123 1 Guillaume LE GALL
124
h3. Softwire-initiator
125
126
Ce logiciel joue le rôle de « client »
127
128
Cloner les dépôts :
129
<pre>
130
$ git clone https://redmine.telecom-bretagne.eu/git/softwire-initiator
131
</pre>
132
133
Installer les dépendances :
134
<pre>
135
sudo apt-get install wide-dhcpv6-client radvd lsb-base debhelper dh-systemd
136
</pre>
137
138
Construire le paquet :
139
<pre>
140
$ dpkg-buildpackage
141
</pre>
142
143
Installer le paquet :
144
<pre>
145
$ cd ..
146
$ sudo dpkg -i softwire-client_2.0~beta2_all.deb
147
</pre>
148
149
h2. Mise en place (setup)
150
151
h3. Concentrator
152
153
Sur la machine hébergeant le Concentrator, vérifier que le forwaring est activé :
154
<pre>
155
$ cat /etc/sysctl.conf | grep net.ipv6.conf.all.forwarding
156
net.ipv6.conf.all.forwarding=1
157
</pre>
158
159
De même pour IPv4.
160
161
Configurer Softwire, en mettant à jour son fichier de configuration :
162
<pre>
163
$ vim /etc/softwire/softwire-concentrator.conf
164
</pre>