Projet

Général

Profil

Routage » Historique » Version 42

Matthieu Herrb, 03/03/2016 09:13
version qui marche pour OpenBSD 5.9

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 6 Mehdi Abaakouk
h1. Routage
4 1 Laurent GUERBY
5 21 Matthieu Herrb
h2. Étape pour un changement d'adresse ipv6 sans indisponibilité temporaire:
6 5 Mehdi Abaakouk
7 21 Matthieu Herrb
  * mettre les deux adresses dans /etc/network/interface (ou similaire)
8 16 Mehdi Abaakouk
  * mettre que la nouvelle adresse dans votre zone DNS (sauf l'enregistrement SPF qui devra contenir l'ancienne et la nouvelle adresse)
9 5 Mehdi Abaakouk
  * si serveur mail/web mettre l'ancienne et la nouvelle adresse dans le fichier /etc/hosts
10 5 Mehdi Abaakouk
  * si serveur de mail, mettre à jour les ips du domain local (ie: mynetworks pour postfix)
11 5 Mehdi Abaakouk
12 21 Matthieu Herrb
On attends ensuite quelque jours que le DNS se propage, puis.
13 1 Laurent GUERBY
14 21 Matthieu Herrb
  * Virer la vielle adresse de partout.
15 1 Laurent GUERBY
  * Nettoyer l'enregistrement SPF
16 5 Mehdi Abaakouk
17 6 Mehdi Abaakouk
h2. Routage
18 1 Laurent GUERBY
19 2 Laurent GUERBY
Coté Adhérent-e :
20 1 Laurent GUERBY
21 1 Laurent GUERBY
<pre>
22 1 Laurent GUERBY
# IPv4 Adherent
23 1 Laurent GUERBY
ip addr add IP/32 dev eth0
24 1 Laurent GUERBY
ip route add default via 91.224.148.0 dev eth0 onlink
25 1 Laurent GUERBY
26 1 Laurent GUERBY
# IPv6 adherent
27 1 Laurent GUERBY
ip -6 addr add fe80::XX:YY/64 dev eth0
28 1 Laurent GUERBY
ip -6 route add default via fe80::31 dev eth0
29 1 Laurent GUERBY
ip -6 addr add IP/NN...
30 1 Laurent GUERBY
</pre>
31 1 Laurent GUERBY
32 2 Laurent GUERBY
Et coté routeur :
33 2 Laurent GUERBY
34 1 Laurent GUERBY
<pre>
35 1 Laurent GUERBY
# IPv4 routeur
36 1 Laurent GUERBY
ip addr add 91.224.148.0/32 dev lo 
37 1 Laurent GUERBY
ip route add IP/32 dev eth0.NNN
38 1 Laurent GUERBY
39 1 Laurent GUERBY
# IPv6 routeur
40 1 Laurent GUERBY
ip -6 addr add fe80::31/64 dev eth0.NNN
41 1 Laurent GUERBY
ip route add IP/56 vi fe80:XX:YY dev eth0.NNN
42 1 Laurent GUERBY
</pre>
43 1 Laurent GUERBY
44 6 Mehdi Abaakouk
h2. Adressage
45 1 Laurent GUERBY
46 1 Laurent GUERBY
<pre>
47 1 Laurent GUERBY
PA 2a01:6600:8000::/40 LIR fullsave
48 3 Laurent GUERBY
2a01:6600:8080:HH00::/56 => 91.224.148.DDD  fe80::80:HH PI tetaneutral.net
49 3 Laurent GUERBY
2a01:6600:8081:HH00::/56 => 91.224.149.DDD  fe80::81:HH PI tetaneutral.net
50 3 Laurent GUERBY
2a01:6600:8082:HH00::/56 => 80.67.182.DDD   fe80::82:HH PA gitoyen
51 3 Laurent GUERBY
2a01:6600:8083:HH00::/56 => 89.234.156.DDD  fe80::83:HH PA opdop
52 3 Laurent GUERBY
2a01:6600:8084:HH00::/56 => 89.234.157.DDD  fe80::84:HH PA opdop
53 3 Laurent GUERBY
2a01:6600:8085:HH00::/56 => 185.119.168.DDD fe80::85:HH PA tetaneutral.net
54 3 Laurent GUERBY
2a01:6600:8085:HH00::/56 => 185.119.169.DDD fe80::86:HH PA tetaneutral.net
55 3 Laurent GUERBY
2a01:6600:8085:HH00::/56 => 185.119.170.DDD fe80::87:HH PA tetaneutral.net
56 3 Laurent GUERBY
2a01:6600:8085:HH00::/56 => 185.119.171.DDD fe80::88:HH PA tetaneutral.net
57 1 Laurent GUERBY
58 1 Laurent GUERBY
PA 2a03:7220::/32 LIR tetaneutral.net
59 1 Laurent GUERBY
2a03:7220:8080:HH00::/56 => 91.224.148.DDD fe80::80:HH
60 1 Laurent GUERBY
...
61 2 Laurent GUERBY
</pre>
62 2 Laurent GUERBY
63 6 Mehdi Abaakouk
h2. Migration
64 2 Laurent GUERBY
65 2 Laurent GUERBY
<pre>
66 2 Laurent GUERBY
91.224.149.DDD/24 gw 91.224.149.254
67 2 Laurent GUERBY
=>
68 2 Laurent GUERBY
91.224.149.DDD/32 gw 91.224.148.0 onlink
69 2 Laurent GUERBY
</pre>
70 2 Laurent GUERBY
71 2 Laurent GUERBY
Sur VM
72 2 Laurent GUERBY
73 2 Laurent GUERBY
<pre>
74 2 Laurent GUERBY
# cat /etc/network/interfaces
75 2 Laurent GUERBY
auto lo
76 2 Laurent GUERBY
iface lo inet loopback
77 2 Laurent GUERBY
auto eth0
78 2 Laurent GUERBY
iface eth0 inet6 static
79 2 Laurent GUERBY
    pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0
80 2 Laurent GUERBY
    pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
81 2 Laurent GUERBY
    up ip addr add fe80::YY:XX/64 dev eth0
82 2 Laurent GUERBY
    address 2a01:6600:80YY:XX00::1
83 2 Laurent GUERBY
    netmask 56
84 2 Laurent GUERBY
    gateway fe80::31
85 2 Laurent GUERBY
86 2 Laurent GUERBY
iface eth0 inet manual
87 2 Laurent GUERBY
    up ip link set eth0 up
88 2 Laurent GUERBY
    down ip link set eth0 down
89 2 Laurent GUERBY
    pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0
90 2 Laurent GUERBY
    pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
91 2 Laurent GUERBY
    up ip addr add 91.224.148.DDD/32 dev eth0
92 2 Laurent GUERBY
    up ip route add 91.224.148.0/32 dev eth0
93 1 Laurent GUERBY
    up ip route add default via 91.224.148.0
94 1 Laurent GUERBY
    down ip route flush dev eth0
95 1 Laurent GUERBY
    down ip addr flush dev eth0
96 2 Laurent GUERBY
</pre>
97 2 Laurent GUERBY
98 8 Laurent GUERBY
h2. Configuration openstack/bird
99 6 Mehdi Abaakouk
100 6 Mehdi Abaakouk
openstack ttnn route update <VM_NAME>
101 7 Laurent GUERBY
102 1 Laurent GUERBY
VM ipv6 only DNS 2a01:6600:8081:ffff:: et 2a01:6600:8081:ffff::2
103 8 Laurent GUERBY
104 8 Laurent GUERBY
h2. Courriel
105 8 Laurent GUERBY
106 32 Laurent GUERBY
https://lists.tetaneutral.net/pipermail/technique/2016-February/002208.html
107 34 Laurent GUERBY
https://lists.tetaneutral.net/pipermail/technique/2016-March/002215.html
108 32 Laurent GUERBY
109 8 Laurent GUERBY
<pre>
110 17 Laurent GUERBY
Sujet : Migration adressage IPv6 et changement de routage IPv4 de 91.224.149.DDD
111 14 Laurent GUERBY
112 8 Laurent GUERBY
Bonjour
113 8 Laurent GUERBY
114 14 Laurent GUERBY
Pour la partie adressage IPv6 maintenant que tetaneutral.net a sa plage
115 14 Laurent GUERBY
IPv6 LIR 2a03:7220::/32 il est temps de migrer et rendre la plage 
116 18 Matthieu Herrb
IPv6 historique 2a01:6600:8000::/40 à Fullsave.
117 8 Laurent GUERBY
118 18 Matthieu Herrb
Pour simplifier la migration nous avons juste substitué les 32 
119 18 Matthieu Herrb
premiers bits du préfixe sans autre changement :
120 14 Laurent GUERBY
121 8 Laurent GUERBY
2a01:6600 => 2a03:7220
122 8 Laurent GUERBY
123 18 Matthieu Herrb
Les deux plages IPv6 sont actuellement routées en même temps, si vous
124 18 Matthieu Herrb
avez un hébergement à tetaneutral.net il vous faut donc :
125 8 Laurent GUERBY
126 8 Laurent GUERBY
1/ Ajouter l'adresse 2a03:7220:xxx en plus de votre 2a01:6600:xxx
127 18 Matthieu Herrb
par exemple sous debian votre /etc/network/interfaces doit ressembler à :
128 8 Laurent GUERBY
129 8 Laurent GUERBY
iface eth0 inet6 static
130 22 Laurent GUERBY
 pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
131 22 Laurent GUERBY
 pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
132 8 Laurent GUERBY
 address 2a03:7220:808X:YZ00::1
133 10 Laurent GUERBY
 netmask 56
134 1 Laurent GUERBY
 gateway fe80::31
135 1 Laurent GUERBY
 up ip -6 addr add fe80::8X:YZ/64 dev $IFACE
136 1 Laurent GUERBY
 up ip -6 addr add 2a01:6600:808X:YZ00::1/56 dev $IFACE preferred_lft 0 # Legacy a enlever des que DNS ok
137 1 Laurent GUERBY
138 14 Laurent GUERBY
Au passage un petit détail vous pouvez ajouter dans /etc/resolv.conf
139 18 Matthieu Herrb
ou via dns-nameservers les IPv6 des resolveurs récursifs  :
140 14 Laurent GUERBY
141 1 Laurent GUERBY
nameserver 2a03:7220:8081:fe00::1
142 15 Laurent GUERBY
nameserver 2a03:7220:8080:0a00::1
143 14 Laurent GUERBY
144 20 Matthieu Herrb
Et rappel en IPv4 les résolveurs sont :
145 1 Laurent GUERBY
146 1 Laurent GUERBY
nameserver 91.224.149.254
147 15 Laurent GUERBY
nameserver 91.224.148.10
148 15 Laurent GUERBY
149 14 Laurent GUERBY
150 8 Laurent GUERBY
2/ Migrer vos DNS forward AAAA toto.chezmoi.net de 2a01:6600:xxx vers 2a03:7220:xxx
151 8 Laurent GUERBY
152 20 Matthieu Herrb
3/ Si vous gérez vos reverse DNS il faut créer une nouvelle zone reverse 2a03:7220:xxx
153 19 Matthieu Herrb
identique à celle 2a01:6600:xxx. La délégation de cette nouvelle zone à été faite vers 
154 19 Matthieu Herrb
les mêmes serveurs que pour l'ancienne.
155 8 Laurent GUERBY
156 18 Matthieu Herrb
4/ Une fois la propagation DNS terminée vous pouvez enlever 2a01:6600:xxx de vos
157 1 Laurent GUERBY
AAAA et enlever la zone reverse 2a01:6600:xxx
158 8 Laurent GUERBY
159 20 Matthieu Herrb
Pour les VM nous allons faire l'étape 1 automatiquement (ce qui implique un reboot), 
160 18 Matthieu Herrb
restera 2 à 4 à faire à votre charge
161 1 Laurent GUERBY
162 18 Matthieu Herrb
Pour les accès internet nous allons mettre à jour votre routeur OpenWRT à distance
163 18 Matthieu Herrb
quand nous y avons accès.
164 8 Laurent GUERBY
165 14 Laurent GUERBY
Nous visons au plus tard dimanche 20 mars 2016 soit dans un peu moins d'un mois 
166 8 Laurent GUERBY
pour la suppression de l'ancienne plage 2a01:6600:8000::/40 
167 20 Matthieu Herrb
et son retour à Fullsave, ce qui laisse un mois pour
168 8 Laurent GUERBY
faire la migration IPv6.
169 12 Laurent GUERBY
170 14 Laurent GUERBY
Coté routage en IPv4 nous allons profiter de cette migration pour passer 
171 14 Laurent GUERBY
les IP actuellement en 91.224.149.DDD/24 avec gateway 91.224.149.254 
172 18 Matthieu Herrb
à un routage "/32" avec 91.224.149.DDD/32 et gateway 91.224.148.0 "onlink" 
173 14 Laurent GUERBY
comme pour le reste des IPv4 tetaneutral.net
174 12 Laurent GUERBY
175 12 Laurent GUERBY
iface eth0 inet manual
176 12 Laurent GUERBY
    up ip link set eth0 up
177 1 Laurent GUERBY
    up ip addr add 91.224.149.DDD/32 dev eth0
178 1 Laurent GUERBY
    up ip route add default via 91.224.148.0 dev eth0 onlink
179 1 Laurent GUERBY
180 17 Laurent GUERBY
Nous allons faire automatiquement pour les VMs et OpenWRT ou nous
181 18 Matthieu Herrb
avons accès, il restera à faire par les adhérent-e-s la où nous 
182 18 Matthieu Herrb
n'avons pas accès et sur les machines en hébergement
183 17 Laurent GUERBY
184 18 Matthieu Herrb
Nous allons démarrer les travaux tôt le matin du lundi 29 février 2016
185 8 Laurent GUERBY
</pre>
186 23 Laurent GUERBY
187 23 Laurent GUERBY
h2. Questions
188 23 Laurent GUERBY
189 40 Laurent GUERBY
h3. Attention aux fichiers de configuration reseau
190 40 Laurent GUERBY
191 40 Laurent GUERBY
https://lists.tetaneutral.net/pipermail/technique/2016-March/002217.html
192 40 Laurent GUERBY
193 33 Mathieu Goessens
h3. Gmail
194 33 Mathieu Goessens
195 33 Mathieu Goessens
Attention, gmail risque de refuser vos mails en vous criant dessus si vous
196 33 Mathieu Goessens
envoyez des mails depuis vos VM après ce changement, tant que les étapes 
197 33 Mathieu Goessens
suivantes ne sont pas faites :
198 33 Mathieu Goessens
199 33 Mathieu Goessens
https://support.google.com/mail/answer/81126?p=ipv6_authentication_error&rd=1#authentication
200 33 Mathieu Goessens
201 33 Mathieu Goessens
(Ok, plus une remarque qu'une question :) )
202 33 Mathieu Goessens
203 31 Laurent GUERBY
h3. Sans reboot
204 31 Laurent GUERBY
205 24 Laurent GUERBY
* Je veux eviter un reboot ou le risqué /etc/init.d/network restart comment faire ?
206 29 Laurent GUERBY
207 29 Laurent GUERBY
=> Comme suit :
208 24 Laurent GUERBY
<pre>
209 24 Laurent GUERBY
ip addr add 2a03:7220:80YY:XX00::1/56 dev eth0
210 1 Laurent GUERBY
ip addr add fe80::8X:YZ/64 dev eth0 # si pas deja present
211 25 Laurent GUERBY
ip addr del 2a01:6600:80YY:XX00::1/56 dev eth0
212 25 Laurent GUERBY
</pre>
213 26 Nicolas BERTRAND
214 31 Laurent GUERBY
h3. Interfaces
215 31 Laurent GUERBY
216 26 Nicolas BERTRAND
* Je veux etre bien sur d'avoir compris comment modifier mon /etc/network/interfaces :
217 26 Nicolas BERTRAND
<pre>
218 26 Nicolas BERTRAND
AVANT
219 26 Nicolas BERTRAND
-----
220 26 Nicolas BERTRAND
iface eth0 inet static
221 26 Nicolas BERTRAND
    address 91.224.149.40
222 26 Nicolas BERTRAND
    netmask 255.255.255.0
223 26 Nicolas BERTRAND
    network 91.224.149.0
224 26 Nicolas BERTRAND
    broadcast 91.224.149.255
225 26 Nicolas BERTRAND
    gateway 91.224.149.254
226 26 Nicolas BERTRAND
    dns-* options are implemented by the resolvconf package, if installed
227 26 Nicolas BERTRAND
    dns-nameservers 91.224.149.254
228 26 Nicolas BERTRAND
229 26 Nicolas BERTRAND
230 26 Nicolas BERTRAND
APRES? (changement de routage)
231 26 Nicolas BERTRAND
------------------------------
232 26 Nicolas BERTRAND
iface eth0 inet manual
233 26 Nicolas BERTRAND
    up ip link set eth0 up
234 26 Nicolas BERTRAND
    up ip addr add 91.224.149.40/32 dev eth0
235 26 Nicolas BERTRAND
    up ip route add default via 91.224.148.0 dev eth0 onlink
236 26 Nicolas BERTRAND
    dns-nameservers 91.224.149.254 91.224.148.10
237 26 Nicolas BERTRAND
</pre>
238 1 Laurent GUERBY
239 28 Laurent GUERBY
=> Oui c'est bon :)
240 28 Laurent GUERBY
241 31 Laurent GUERBY
h3. pre-up ou up
242 31 Laurent GUERBY
243 27 bikepunk bikepunk
* équivalence des commandes pre-up
244 27 bikepunk bikepunk
245 27 bikepunk bikepunk
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
246 27 bikepunk bikepunk
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
247 27 bikepunk bikepunk
et
248 27 bikepunk bikepunk
pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0
249 27 bikepunk bikepunk
pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
250 27 bikepunk bikepunk
251 28 Laurent GUERBY
semblent équivalent, y a t'il un avantage à en utiliser une forme plutot que l'autre ?
252 28 Laurent GUERBY
253 28 Laurent GUERBY
=> c'est identique, on peut aussi les mettre dans sysctl.conf suivant le systeme
254 30 yannick deroche
=> au passage $IFACE est un peu plus generique que eth0 sinon
255 30 yannick deroche
256 1 Laurent GUERBY
257 31 Laurent GUERBY
h3. pfsense
258 31 Laurent GUERBY
259 30 yannick deroche
* Et si je suis avec un frontal pfSense devant mes VMs, je fais comment pour IPv4? (Yannick)
260 30 yannick deroche
261 30 yannick deroche
=> Je réponds à ma question, car cette histoire m'a bien pris le choux. (Yannick)
262 30 yannick deroche
Vous avez des explications dans le lien qui suit.
263 30 yannick deroche
http://blog.magiksys.net/pfsense-firewall-default-gateway-different-subnet
264 30 yannick deroche
265 30 yannick deroche
Mais en gros, ça se configure via le shell de la console pfSense, en utilisant une partie des commandes qui ont été citées plus haut.
266 30 yannick deroche
Pas vu par contre d'option "onlink", si quelqu'un pouvait m'éclairer sur le sujet...
267 30 yannick deroche
268 30 yannick deroche
EN PREMIER LIEU, IL FAUT EFFACER TOUTES SES ROUTES PAR DEFAUT
269 30 yannick deroche
270 30 yannick deroche
Il faut figer son interface WAN en shell: (option 8)
271 30 yannick deroche
272 30 yannick deroche
<pre>
273 30 yannick deroche
ifconfig em0 91.224.XXX.YYY 255.255.255.255 (remplacer em0 par son nom d'interface WAN)
274 30 yannick deroche
</pre>
275 30 yannick deroche
276 30 yannick deroche
Il faut ensuite ajouter le chemin d'accès à la GW, car avec une @IP en /32, la GW est "unreachable":
277 30 yannick deroche
278 30 yannick deroche
<pre>
279 30 yannick deroche
route add -net 91.224.148.0/32 -iface em0 (remplacer em0 par son nom d'interface WAN)
280 30 yannick deroche
</pre>
281 30 yannick deroche
282 30 yannick deroche
Il faut enfin définir sa GW par défaut:
283 30 yannick deroche
284 30 yannick deroche
<pre>
285 30 yannick deroche
route add default 91.224.148.0
286 30 yannick deroche
</pre>
287 30 yannick deroche
288 30 yannick deroche
NE PLUS MODIFIER LES PARAMETRES RESEAUX DE L'INTERFACE WAN PAR LA CONSOLE OU LA WEB-UI (uniquement en shell)
289 30 yannick deroche
290 30 yannick deroche
Si vous aller dans la web UI puis dans "diagnostique>routage", vous devriez voir votre oeuvre.
291 35 Matthieu Herrb
292 35 Matthieu Herrb
h3. OpenBSD
293 35 Matthieu Herrb
294 35 Matthieu Herrb
_if_ représente le nom de l'interface à configurer.
295 35 Matthieu Herrb
296 35 Matthieu Herrb
h4. 5.8 et 5.7
297 35 Matthieu Herrb
298 35 Matthieu Herrb
dans /etc/hostname.if :
299 35 Matthieu Herrb
<pre>
300 35 Matthieu Herrb
inet 91.224.149.DDD 255.255.255.255 NONE
301 39 Matthieu Herrb
! route add 91.224.148.0/32 -link -iface if
302 35 Matthieu Herrb
</pre>
303 35 Matthieu Herrb
304 35 Matthieu Herrb
dans /etc/mygate :
305 37 Matthieu Herrb
<pre>
306 35 Matthieu Herrb
91.224.148.0
307 36 Matthieu Herrb
</pre>
308 35 Matthieu Herrb
309 35 Matthieu Herrb
commandes pour modifier la config sans reboot :
310 35 Matthieu Herrb
<pre>
311 39 Matthieu Herrb
# route add 91.224.148.0/32 -link -iface if
312 35 Matthieu Herrb
# route add default 91.224.148.0
313 35 Matthieu Herrb
# ifconfig if 91.224.149.DDD/32
314 35 Matthieu Herrb
# route delete default 91.224.149.254
315 1 Laurent GUERBY
</pre>
316 1 Laurent GUERBY
317 36 Matthieu Herrb
h4. -current et 5.9 
318 39 Matthieu Herrb
319 42 Matthieu Herrb
La commande *arp* ci-dessous avec l'adresse MAC explicite du routeur est nécessaire à cause d'un bug du noyau qui ne fait plus la différence entre une route en /32 et une entrée ARP et l'expire donc en l'absence de trafic au bout d'un timeout de 20mn. Ça donne pour /etc/hostname.if:
320 38 Matthieu Herrb
321 1 Laurent GUERBY
<pre>
322 42 Matthieu Herrb
inet 91.224.149.DDD/32
323 42 Matthieu Herrb
!route add 91.224.148.0/32 -link -iface if
324 42 Matthieu Herrb
!route add default 91.224.148.0
325 42 Matthieu Herrb
!arp -F -s 91.224.148.0 bc:5f:f4:ee:0c:88 permanent
326 38 Matthieu Herrb
</pre>
327 42 Matthieu Herrb
et supprimer l'adresse IPv4 de /etc/mygate
328 35 Matthieu Herrb
329 1 Laurent GUERBY
Avec ce patch :
330 35 Matthieu Herrb
http://marc.info/?l=openbsd-tech&m=145658298115360&w=2
331 35 Matthieu Herrb
332 42 Matthieu Herrb
on peut utiliser l'option -cloning comme le suggère Martin avec la config de 5.8. (Attention typo 92.224 à remplacer par 91.224)