Routage » Historique » Version 35
« Précédent -
Version 35/81
(diff) -
Suivant » -
Version actuelle
Matthieu Herrb, 02/03/2016 21:57
OpenBSD
- Contenu
- Routage
Routage¶
Étape pour un changement d'adresse ipv6 sans indisponibilité temporaire:¶
- mettre les deux adresses dans /etc/network/interface (ou similaire)
- mettre que la nouvelle adresse dans votre zone DNS (sauf l'enregistrement SPF qui devra contenir l'ancienne et la nouvelle adresse)
- si serveur mail/web mettre l'ancienne et la nouvelle adresse dans le fichier /etc/hosts
- si serveur de mail, mettre à jour les ips du domain local (ie: mynetworks pour postfix)
On attends ensuite quelque jours que le DNS se propage, puis.
- Virer la vielle adresse de partout.
- Nettoyer l'enregistrement SPF
Routage¶
Coté Adhérent-e :
# IPv4 Adherent ip addr add IP/32 dev eth0 ip route add default via 91.224.148.0 dev eth0 onlink # IPv6 adherent ip -6 addr add fe80::XX:YY/64 dev eth0 ip -6 route add default via fe80::31 dev eth0 ip -6 addr add IP/NN...
Et coté routeur :
# IPv4 routeur ip addr add 91.224.148.0/32 dev lo ip route add IP/32 dev eth0.NNN # IPv6 routeur ip -6 addr add fe80::31/64 dev eth0.NNN ip route add IP/56 vi fe80:XX:YY dev eth0.NNN
Adressage¶
PA 2a01:6600:8000::/40 LIR fullsave 2a01:6600:8080:HH00::/56 => 91.224.148.DDD fe80::80:HH PI tetaneutral.net 2a01:6600:8081:HH00::/56 => 91.224.149.DDD fe80::81:HH PI tetaneutral.net 2a01:6600:8082:HH00::/56 => 80.67.182.DDD fe80::82:HH PA gitoyen 2a01:6600:8083:HH00::/56 => 89.234.156.DDD fe80::83:HH PA opdop 2a01:6600:8084:HH00::/56 => 89.234.157.DDD fe80::84:HH PA opdop 2a01:6600:8085:HH00::/56 => 185.119.168.DDD fe80::85:HH PA tetaneutral.net 2a01:6600:8085:HH00::/56 => 185.119.169.DDD fe80::86:HH PA tetaneutral.net 2a01:6600:8085:HH00::/56 => 185.119.170.DDD fe80::87:HH PA tetaneutral.net 2a01:6600:8085:HH00::/56 => 185.119.171.DDD fe80::88:HH PA tetaneutral.net PA 2a03:7220::/32 LIR tetaneutral.net 2a03:7220:8080:HH00::/56 => 91.224.148.DDD fe80::80:HH ...
Migration¶
91.224.149.DDD/24 gw 91.224.149.254 => 91.224.149.DDD/32 gw 91.224.148.0 onlink
Sur VM
# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet6 static pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0 pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0 up ip addr add fe80::YY:XX/64 dev eth0 address 2a01:6600:80YY:XX00::1 netmask 56 gateway fe80::31 iface eth0 inet manual up ip link set eth0 up down ip link set eth0 down pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0 pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0 up ip addr add 91.224.148.DDD/32 dev eth0 up ip route add 91.224.148.0/32 dev eth0 up ip route add default via 91.224.148.0 down ip route flush dev eth0 down ip addr flush dev eth0
Configuration openstack/bird¶
openstack ttnn route update <VM_NAME>
VM ipv6 only DNS 2a01:6600:8081:ffff:: et 2a01:6600:8081:ffff::2
Courriel¶
https://lists.tetaneutral.net/pipermail/technique/2016-February/002208.html
https://lists.tetaneutral.net/pipermail/technique/2016-March/002215.html
Sujet : Migration adressage IPv6 et changement de routage IPv4 de 91.224.149.DDD Bonjour Pour la partie adressage IPv6 maintenant que tetaneutral.net a sa plage IPv6 LIR 2a03:7220::/32 il est temps de migrer et rendre la plage IPv6 historique 2a01:6600:8000::/40 à Fullsave. Pour simplifier la migration nous avons juste substitué les 32 premiers bits du préfixe sans autre changement : 2a01:6600 => 2a03:7220 Les deux plages IPv6 sont actuellement routées en même temps, si vous avez un hébergement à tetaneutral.net il vous faut donc : 1/ Ajouter l'adresse 2a03:7220:xxx en plus de votre 2a01:6600:xxx par exemple sous debian votre /etc/network/interfaces doit ressembler à : iface eth0 inet6 static pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf address 2a03:7220:808X:YZ00::1 netmask 56 gateway fe80::31 up ip -6 addr add fe80::8X:YZ/64 dev $IFACE up ip -6 addr add 2a01:6600:808X:YZ00::1/56 dev $IFACE preferred_lft 0 # Legacy a enlever des que DNS ok Au passage un petit détail vous pouvez ajouter dans /etc/resolv.conf ou via dns-nameservers les IPv6 des resolveurs récursifs : nameserver 2a03:7220:8081:fe00::1 nameserver 2a03:7220:8080:0a00::1 Et rappel en IPv4 les résolveurs sont : nameserver 91.224.149.254 nameserver 91.224.148.10 2/ Migrer vos DNS forward AAAA toto.chezmoi.net de 2a01:6600:xxx vers 2a03:7220:xxx 3/ Si vous gérez vos reverse DNS il faut créer une nouvelle zone reverse 2a03:7220:xxx identique à celle 2a01:6600:xxx. La délégation de cette nouvelle zone à été faite vers les mêmes serveurs que pour l'ancienne. 4/ Une fois la propagation DNS terminée vous pouvez enlever 2a01:6600:xxx de vos AAAA et enlever la zone reverse 2a01:6600:xxx Pour les VM nous allons faire l'étape 1 automatiquement (ce qui implique un reboot), restera 2 à 4 à faire à votre charge Pour les accès internet nous allons mettre à jour votre routeur OpenWRT à distance quand nous y avons accès. Nous visons au plus tard dimanche 20 mars 2016 soit dans un peu moins d'un mois pour la suppression de l'ancienne plage 2a01:6600:8000::/40 et son retour à Fullsave, ce qui laisse un mois pour faire la migration IPv6. Coté routage en IPv4 nous allons profiter de cette migration pour passer les IP actuellement en 91.224.149.DDD/24 avec gateway 91.224.149.254 à un routage "/32" avec 91.224.149.DDD/32 et gateway 91.224.148.0 "onlink" comme pour le reste des IPv4 tetaneutral.net iface eth0 inet manual up ip link set eth0 up up ip addr add 91.224.149.DDD/32 dev eth0 up ip route add default via 91.224.148.0 dev eth0 onlink Nous allons faire automatiquement pour les VMs et OpenWRT ou nous avons accès, il restera à faire par les adhérent-e-s la où nous n'avons pas accès et sur les machines en hébergement Nous allons démarrer les travaux tôt le matin du lundi 29 février 2016
Questions¶
Gmail¶
Attention, gmail risque de refuser vos mails en vous criant dessus si vous
envoyez des mails depuis vos VM après ce changement, tant que les étapes
suivantes ne sont pas faites :
https://support.google.com/mail/answer/81126?p=ipv6_authentication_error&rd=1#authentication
(Ok, plus une remarque qu'une question :) )
Sans reboot¶
- Je veux eviter un reboot ou le risqué /etc/init.d/network restart comment faire ?
=> Comme suit :
ip addr add 2a03:7220:80YY:XX00::1/56 dev eth0 ip addr add fe80::8X:YZ/64 dev eth0 # si pas deja present ip addr del 2a01:6600:80YY:XX00::1/56 dev eth0
Interfaces¶
- Je veux etre bien sur d'avoir compris comment modifier mon /etc/network/interfaces :
AVANT ----- iface eth0 inet static address 91.224.149.40 netmask 255.255.255.0 network 91.224.149.0 broadcast 91.224.149.255 gateway 91.224.149.254 dns-* options are implemented by the resolvconf package, if installed dns-nameservers 91.224.149.254 APRES? (changement de routage) ------------------------------ iface eth0 inet manual up ip link set eth0 up up ip addr add 91.224.149.40/32 dev eth0 up ip route add default via 91.224.148.0 dev eth0 onlink dns-nameservers 91.224.149.254 91.224.148.10
=> Oui c'est bon :)
pre-up ou up¶
- équivalence des commandes pre-up
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/$IFACE/autoconf
et
pre-up /sbin/sysctl -w net.ipv6.conf.eth0.accept_ra=0
pre-up /sbin/sysctl -w net.ipv6.conf.eth0.autoconf=0
semblent équivalent, y a t'il un avantage à en utiliser une forme plutot que l'autre ?
=> c'est identique, on peut aussi les mettre dans sysctl.conf suivant le systeme
=> au passage $IFACE est un peu plus generique que eth0 sinon
pfsense¶
- Et si je suis avec un frontal pfSense devant mes VMs, je fais comment pour IPv4? (Yannick)
=> Je réponds à ma question, car cette histoire m'a bien pris le choux. (Yannick)
Vous avez des explications dans le lien qui suit.
http://blog.magiksys.net/pfsense-firewall-default-gateway-different-subnet
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.
Pas vu par contre d'option "onlink", si quelqu'un pouvait m'éclairer sur le sujet...
EN PREMIER LIEU, IL FAUT EFFACER TOUTES SES ROUTES PAR DEFAUT
Il faut figer son interface WAN en shell: (option 8)
ifconfig em0 91.224.XXX.YYY 255.255.255.255 (remplacer em0 par son nom d'interface WAN)
Il faut ensuite ajouter le chemin d'accès à la GW, car avec une @IP en /32, la GW est "unreachable":
route add -net 91.224.148.0/32 -iface em0 (remplacer em0 par son nom d'interface WAN)
Il faut enfin définir sa GW par défaut:
route add default 91.224.148.0
NE PLUS MODIFIER LES PARAMETRES RESEAUX DE L'INTERFACE WAN PAR LA CONSOLE OU LA WEB-UI (uniquement en shell)
Si vous aller dans la web UI puis dans "diagnostique>routage", vous devriez voir votre oeuvre.
OpenBSD¶
if représente le nom de l'interface à configurer.
5.8 et 5.7¶
dans /etc/hostname.if :
inet 91.224.149.DDD 255.255.255.255 NONE ! arp -F -s 91.224.148.0 bc:5f:f4:ee:0c:88 permanent
dans /etc/mygate :
91.224.148.0
commandes pour modifier la config sans reboot :
# arp -F -s 91.224.148.0 bc:5f:f4:ee:0c:88 permanent # route add default 91.224.148.0 # ifconfig if 91.224.149.DDD/32 # route delete default 91.224.149.254
La commande arp avec l'adresse MAC explicite du routeur est nécessaire à cause d'-un bug- une fonctionnalité du noyau qui ne fait pas 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.
patch¶
Avec ce patch :
http://marc.info/?l=openbsd-tech&m=145658298115360&w=2
on peut utiliser l'option -cloning comme le suggère Martin. (Attention typo 92.224 à remplacer par 91.224)