Project

General

Profile

Routage » History » Version 57

Matthieu Herrb, 03/06/2019 12:02 PM

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