Projet

Général

Profil

Wiki » Historique » Version 2

Guillaume LE GALL, 28/09/2017 16:29

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 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
$ sudo apt-get install wide-dhcpv6-relay radvd
104
</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>