Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
999-archives:tcp-ip:020tcp6ip:910_bonus_revolution [le 30/05/2025 à 13:47] – supprimée - modification externe (Date inconnue) 127.0.0.1 | 999-archives:tcp-ip:020tcp6ip:910_bonus_revolution [le 30/05/2025 à 13:47] (Version actuelle) – ↷ Page déplacée de 040-adresses:001-archives:020tcp6ip:910_bonus_revolution à 999-archives:tcp-ip:020tcp6ip:910_bonus_revolution prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Il était une fois... ====== | ||
+ | ===== La Freebox «Révolution» ===== | ||
+ | |||
+ | {{ 060-ipv6: | ||
+ | |||
+ | Cette page, accessible dans Freebox OS à partir du mode avancé des paramètres de la Freebox, au chapitre «Configuration IPv6» permet de définir un «next hop» pour chaque sous-réseau supplémentaire. L' | ||
+ | |||
+ | Nous allons exploiter deux sous-réseaux supplémentaires. | ||
+ | < | ||
+ | ====== La manip pour les Geeks ====== | ||
+ | Voici ce que nous allons faire: | ||
+ | {{ 060-ipv6: | ||
+ | Pourquoi pour les Geeks ? | ||
+ | |||
+ | Parce-qu' | ||
+ | |||
+ | * dans le sous-réseau de base, directement servi par la Freebox, nous avons: | ||
+ | * un serveur «ns1» qui nous sert de DNS-qui-ne-ment-pas pour nos recherches récursives et qui peut éventuellement gérer des domaines ou sous-domaines intranet. Il a aussi quelques autres fonctions, mais qui ne nous intéressent pas ici; | ||
+ | * un «routeur1» qui a un pied dans le sous-réseau de base et un pied dans chaque sous-réseau supplémentaire; | ||
+ | * ce qu'il peut y avoir de plus dans ce sous-réseau ne concerne pas cette étude; | ||
+ | * dans chaque sous-réseau supplémentaire, | ||
+ | ===== Sur la Freebox ===== | ||
+ | Il faut indiquer le routeur suivant (next hop) qui sera utilisé pour chaque sous-réseau que l'on désire exploiter, ici '' | ||
+ | |||
+ | Dans notre cas, comme c'est le même routeur qui va se taper le travail, le «next-hop» est le même dans les deux cas. | ||
+ | |||
+ | Du côté de la Freebox, il n'y a rien de plus à faire. | ||
+ | ===== Sur le routeur ===== | ||
+ | Le routeur est une machine Debian Jessie et là, pour faire quelque chose qui aille bien, il va y avoir un peu de travail. Comme c'est ici IPv6 qui nous intéresse, nous n' | ||
+ | |||
+ | ==== Sois un routeur ! ==== | ||
+ | En v6 comme en v4, le kernel ne routera pas par défaut. Il faut agir en dé-commentant dans ''/ | ||
+ | < | ||
+ | et rendre actif tout de suite: | ||
+ | < | ||
+ | ==== Les interfaces Ethernet ==== | ||
+ | Nous considérons ceci: | ||
+ | * eth0 sur 2a01: | ||
+ | * eth1 sur 2a01: | ||
+ | * eth2 sur 2a01: | ||
+ | |||
+ | En ce qui concerne les adresses de lien local, il n'y a pas de mystère, elle seront auto-configurées dans fe80::/64 avec un jeton calculé en mode EUI-64. | ||
+ | |||
+ | Ceci nous donne le fichier ''/ | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | iface eth0 inet6 auto | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet6 static | ||
+ | address 2a01: | ||
+ | |||
+ | auto eth2 | ||
+ | iface eth2 inet6 static | ||
+ | address 2a01: | ||
+ | </ | ||
+ | Après démarrage du routeur nous devons avoir sur les interfaces: | ||
+ | < | ||
+ | <pre class=" | ||
+ | < | ||
+ | eth0 Link encap: | ||
+ | <span class=" | ||
+ | <span class=" | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | RX packets: | ||
+ | TX packets:157 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes: | ||
+ | |||
+ | eth1 Link encap: | ||
+ | <span class=" | ||
+ | <span class=" | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | RX packets:73 errors:0 dropped:0 overruns:0 frame:0 | ||
+ | TX packets:266 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes:10893 (10.6 KiB) TX bytes:45488 (44.4 KiB) | ||
+ | |||
+ | eth2 Link encap: | ||
+ | <span class=" | ||
+ | <span class=" | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | RX packets:79 errors:0 dropped:0 overruns:0 frame:0 | ||
+ | TX packets:266 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes:11361 (11.0 KiB) TX bytes:45676 (44.6 KiB) | ||
+ | |||
+ | lo Link encap: | ||
+ | inet adr: | ||
+ | adr inet6: ::1/128 Scope:Hôte | ||
+ | UP LOOPBACK RUNNING | ||
+ | RX packets:56 errors:0 dropped:0 overruns:0 frame:0 | ||
+ | TX packets:56 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes:3582 (3.4 KiB) TX bytes:3582 (3.4 KiB) | ||
+ | </ | ||
+ | et si l'on recherche les routes: | ||
+ | < | ||
+ | <b>ip -6 route ls</ | ||
+ | 2a01: | ||
+ | 2a01: | ||
+ | 2a01: | ||
+ | fe80::/64 dev eth0 proto kernel | ||
+ | fe80::/64 dev eth1 proto kernel | ||
+ | fe80::/64 dev eth2 proto kernel | ||
+ | <span class=" | ||
+ | </ | ||
+ | La route par défaut pointe sur l' | ||
+ | |||
+ | Le problème c'est qu'il faudra s' | ||
+ | |||
+ | ==== Un proxy DNS ==== | ||
+ | C'est certes du luxe, puisque nous avons déjà un serveur DNS qui nous donne entière satisfaction, | ||
+ | |||
+ | '' | ||
+ | server=2a01: | ||
+ | Après avoir relancé le service, il devrait être opérationnel. | ||
+ | ==== Le «Router ADVertisement Daemon» ==== | ||
+ | Il s'agit de la pièce principale, celle qui va permettre à notre routeur d’envoyer les bonnes répondes aux requêtes ICMP6 des futurs clients. Il faut installer le paquet «radvd» dont la description est tout-à-fait explicite: | ||
+ | |||
+ | // | ||
+ | |||
+ | //Démon d' | ||
+ | IPv6 a beaucoup plus de capacité pour l' | ||
+ | | ||
+ | | ||
+ | |||
+ | // Sur Linux, ce programme est appelé radvd, qui signifie « Router ADVertisement Daemon », démon d' | ||
+ | | ||
+ | | ||
+ | |||
+ | L' | ||
+ | < | ||
+ | <span class=" | ||
+ | | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | }; | ||
+ | |||
+ | | ||
+ | { | ||
+ | | ||
+ | }; | ||
+ | |||
+ | | ||
+ | { | ||
+ | | ||
+ | }; | ||
+ | |||
+ | }; | ||
+ | |||
+ | <span class=" | ||
+ | | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | }; | ||
+ | |||
+ | RDNSS 2a01: | ||
+ | { | ||
+ | AdvRDNSSLifetime 120; | ||
+ | }; | ||
+ | |||
+ | DNSSL mondomaine.local | ||
+ | { | ||
+ | AdvDNSSLLifetime 120; | ||
+ | }; | ||
+ | |||
+ | }; | ||
+ | </ | ||
+ | La première chose à constater, c'est que les paragraphes concernant les deux interfaces '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * DNSSL annonce le ou les noms de domaines à utiliser par défaut dans les recherches DNS, si le domaine n'est pas indiqué dans la requête; | ||
+ | * '' | ||
+ | Nous aurions en réalité pu écrire un fichier plus simple, '' | ||
+ | |||
+ | Du côté du routeur, tout est normalement en ordre. Il faut juste s' | ||
+ | service radvd status | ||
+ | ===== Les clients ===== | ||
+ | pour tester le tout, nous ajoutons deux nouveaux nœuds comme ceci: | ||
+ | {{ 060-ipv6: | ||
+ | Les nœuds '' | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet6 auto | ||
+ | </ | ||
+ | ==== Divination ==== | ||
+ | Nous connaissons: | ||
+ | * l' | ||
+ | * le préfixe IPv6 normalement attribué à chacun d'eux. | ||
+ | Nous allons deviner leurs adresses IPv6. | ||
+ | === Pour host1 === | ||
+ | Dispose de l' | ||
+ | < | ||
+ | ipv6calc --action geneui64 --in mac --out eui64 00: | ||
+ | <span class=" | ||
+ | </ | ||
+ | Le préfixe de sons sous-réseau étant '' | ||
+ | * son adresse de «scope link» sera '' | ||
+ | * son adresse de «scope global» auto-configurée sera '' | ||
+ | === Pour host2 === | ||
+ | * adresse MAC : '' | ||
+ | * convertie EUI-64 : '' | ||
+ | * préfixe : '' | ||
+ | Donc: | ||
+ | * adresse «link» : '' | ||
+ | * adresse globale : '' | ||
+ | ==== Vérifications ==== | ||
+ | === Sur host1 === | ||
+ | Pour les adresses: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | eth0 Link encap: | ||
+ | adr inet6: <span class=" | ||
+ | adr inet6: <span class=" | ||
+ | UP BROADCAST RUNNING MULTICAST | ||
+ | RX packets:103 errors:0 dropped:0 overruns:0 frame:0 | ||
+ | TX packets:9 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions: | ||
+ | RX bytes:17433 (17.0 KiB) TX bytes:806 (806.0 B) | ||
+ | </ | ||
+ | |||
+ | Pour les routes: | ||
+ | < | ||
+ | <b>ip -6 route ls</ | ||
+ | |||
+ | 2a01: | ||
+ | fe80::/64 dev eth0 proto kernel | ||
+ | <span class=" | ||
+ | </ | ||
+ | Comme d' | ||
+ | |||
+ | Et tout ceci est obtenu par la découverte du voisinage qui est automatiquement menée au démarrage du nœud, mais que l'on peut forcer manuellement: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | Solicitation de ff02::2 (ff02::2) sur eth0... | ||
+ | |||
+ | Limite de saut (TTL) : 64 ( 0x40) | ||
+ | Conf. d’adresse par DHCP : Non | ||
+ | Autres réglages par DHCP : Non | ||
+ | Préférence du routeur | ||
+ | Durée de vie du routeur | ||
+ | Temps d’atteinte | ||
+ | Temps de retransmission | ||
+ | <span class=" | ||
+ | Durée de validité | ||
+ | Durée de préférence | ||
+ | <span class=" | ||
+ | | ||
+ | Validité des serveurs | ||
+ | | ||
+ | de fe80:: | ||
+ | </ | ||
+ | |||
+ | === Sur host2 === | ||
+ | Pas la peine de tout détailler, si ça fonctionne pour host1, ça fonctionne aussi pour host2. Il va tout de même apparaître comme un défaut dans les recherches DNS: | ||
+ | < | ||
+ | < | ||
+ | <span class=" | ||
+ | </ | ||
+ | La résolution ne se fait pas, aucun serveur ne peut-être atteint ! Pourtant nous savons que NBD fait son travail et annonce deux serveurs DNS... | ||
+ | |||
+ | Sachant que sur Debian, les serveurs DNS sont référencés dans le fichier ''/ | ||
+ | |||
+ | En réalité, il manque probablement le service spécialisé qui doit récupérer l' | ||
+ | ==== Le service " | ||
+ | < | ||
+ | < | ||
+ | |||
+ | Paquet : rdnssd | ||
+ | <span class=" | ||
+ | Version : 1.0.1-1+b1 | ||
+ | Priorité : | ||
+ | Section : net | ||
+ | Responsable : | ||
+ | Architecture : | ||
+ | Taille décompressée : | ||
+ | Dépend: libc6 (>= 2.4) | ||
+ | Pré-dépend: | ||
+ | Recommande: resolvconf | ||
+ | Suggère: ndisc6 | ||
+ | <span class=" | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | C'est exactement ce qu'il nous faut et ce n'est pas installé. Ce paquet recommande '' | ||
+ | aptitude install -R rdnssd | ||
+ | Bien entendu, il faut s' | ||
+ | |||
+ | Après résolution de la résolution des noms et installation du paquet, un: | ||
+ | rdisc6 eth0 | ||
+ | devrait permettre à '' | ||
+ | ===== Et ça marche ? ===== | ||
+ | Ping depuis '' | ||
+ | < | ||
+ | < | ||
+ | |||
+ | PING 2a01: | ||
+ | 64 bytes from 2a01: | ||
+ | 64 bytes from 2a01: | ||
+ | |||
+ | --- 2a01: | ||
+ | 2 packets transmitted, | ||
+ | rtt min/ | ||
+ | </ | ||
+ | Résolution d'un nom: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | orange.kame.net has address 203.178.141.194 | ||
+ | orange.kame.net has IPv6 address 2001: | ||
+ | </ | ||
+ | Itinéraire: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | traceroute vers orange.kame.net (2001: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 10 ae-2.r01.tokyjp01.jp.bb.gin.ntt.net (2001: | ||
+ | 11 ge-0-7-0-18.r01.tokyjp01.jp.ce.gin.ntt.net (2001: | ||
+ | 12 ve44.foundry6.otemachi.wide.ad.jp (2001: | ||
+ | 13 2001: | ||
+ | </ | ||
+ | - c'est notre routeur; | ||
+ | - c'est la Freebox. | ||
+ | Tout est en ordre. | ||
+ | ====== Conclusion ====== | ||
+ | Tous laisse penser que l' | ||
+ | |||
+ | En attendant, il faut continuer à maintenir les configurations IPv4 et leur parfois multiples translations d' | ||
+ | |||
+ | Le filtrage de paquets IPv6 n'a pas été abordé, mais il est bien sûr fonctionnel et se manipule avec la commande '' |
Il était une fois...: Dernière modification le: 01/01/1970 à 00:00 par