Un routeur doit-il utiliser SLAAC pour l'attribution d'adresses IPv6?

11

Je suis un peu confus par les 2 RFC suivants relatifs à IPv6:

  • RFC 4862 (autoconfiguration d'adresse sans état IPv6)
  • RFC 7084 (exigences du routeur CE IPv6)

La RFC 4862 déclare:

Le processus de configuration automatique spécifié dans ce document s'applique uniquement aux hôtes et non aux routeurs. Étant donné que la configuration automatique de l'hôte utilise les informations publiées par les routeurs, les routeurs devront être configurés par d'autres moyens.

La RFC 7084 répertorie l'une de ses exigences de configuration côté WAN pour l'attribution d'adresse comme suit:

WAA-1: Le routeur IPv6 CE DOIT prendre en charge la configuration automatique des adresses sans état (SLAAC) [RFC4862].

Y a-t-il une contradiction ici?

Un routeur doit-il être capable de configurer automatiquement une adresse IPv6 pour son interface WAN?


Pourquoi RFC 4862 dit

Étant donné que la configuration automatique de l'hôte utilise les informations publiées par les routeurs, les routeurs devront être configurés par d'autres moyens.

Si j'utilise un routeur pour connecter mon LAN à un FAI par exemple, n'y a-t-il pas un routeur dans le réseau du FAI qui parle à mon routeur?

J'aurais pensé qu'il était parfaitement raisonnable d'avoir 2 (ou plus) routeurs enchaînés ensemble. Dans ce cas, pourquoi ne pas utiliser SLAAC sur l'interface WAN du second routeur?


Peut-être que le problème se résume à la distinction artificielle entre hôtes et routeurs? De RFC 4862:

nœud - un périphérique qui implémente IP.

routeur - un nœud qui transfère les paquets IP qui ne lui sont pas explicitement adressés.

hôte - tout nœud qui n'est pas un routeur.

Mais un hôte (c'est-à-dire une machine qui héberge des serveurs ou des applications) ne peut-il pas également avoir une table de routage et fonctionner comme un routeur? Et nous enchaînons efficacement 2 routeurs à nouveau.


Edit : quelques informations supplémentaires que j'ai découvert plus tard ...

Le noyau Linux gère SLAAC et suit de près la RFC 4862. Jusqu'à la distinction entre hôtes et routeurs. Voir la documentation du noyau sur ip-sysctl :

  • Le comportement HOST est supposé. Ce qui signifie que les sollicitations de routeur seront envoyées et que les annonces de routeur seront utilisées pour la configuration automatique des adresses.
  • Ce n'est que si le transfert est activé ( /proc/sys/net/ipv6/conf/all/forwarding) que l'appareil est considéré comme un ROUTEUR . Ce qui signifie qu'aucune sollicitation de routeur ne sera envoyée et que les annonces de routeur seront ignorées.

Il s'avère que cette distinction remonte à loin, avant IPv6. Voir le paramètre /proc/sys/net/ipv4/ip_forward:

Cette variable est spéciale, sa modification réinitialise tous les paramètres de configuration à leur état par défaut ( RFC1122 pour les hôtes, RFC1812 pour les routeurs)

banjaxed
la source

Réponses:

7

Dans la RFC 7084, il indique également:

W-1: Lorsque le routeur est connecté à la liaison d'interface WAN, il DOIT agir comme hôte IPv6 aux fins de l'attribution d'adresse d'interface sans état [RFC4862] ou avec état [RFC3315].

Donc, en bref, oui - un routeur devrait être capable de configurer automatiquement une adresse IPv6 pour son interface WAN.

En réalité cependant, la plupart des FAI implémentent DHCPv6 et DHCPv6-PD ( RFC3633 ) pour l'allocation d'adresse en aval, ainsi que la délégation de préfixe.

Cela garantit que votre routeur reçoit non seulement une adresse sur son interface WAN, mais qu'il reçoit également un préfixe qu'il peut également utiliser sur son interface LAN interne.

Benjamin Dale
la source
6

La RFC 4862 décrit vraiment les routeurs dans un seul contrôle administratif. La RFC 7084 clarifie le comportement des routeurs clients. Cela donne à un FAI une certaine liberté dans la façon dont il prend en charge IPv6 pour ses clients.

Au routeur PE, le routeur CE est un hôte. Du point de vue d'un LAN (domaine de couche 2, y compris la liaison de PE à CE), un routeur n'est vraiment qu'un autre hôte sur le réseau. Dans la plupart des cas, les adresses de liaison WAN seront définies de manière statique, via DHCP ou via PPP, sans utiliser réellement SLAAC.

Je pense que vous avez raté la partie de la RFC 7084 qui précède ce que vous avez cité:

Exigences côté WAN:

W-1: Lorsque le routeur est connecté à la liaison d'interface WAN, il DOIT agir comme hôte IPv6 aux fins de l' attribution d'adresse d'interface sans état [ RFC4862 ] ou avec état [ RFC3315 ].

Ron Maupin
la source
1
De nombreux FAI exécutent également l'interconnexion WAN sans numéro (liaison locale uniquement). Tout ce qui se passe sur la liaison WAN est que le routeur ISP envoie des paquets au CPE et que le CPE envoie des paquets à la passerelle par défaut. Les deux utilisent généralement des adresses link-local.
Sander Steffann
5

Pourquoi la RFC 4862 indique-t-elle: «Étant donné que la configuration automatique de l'hôte utilise les informations publiées par les routeurs, les routeurs devront être configurés par d'autres moyens».

Les personnes qui ont écrit ce document (et son prédécesseur RFC 2462) avaient presque certainement une vision du monde selon laquelle il existait deux types d'appareils. des "hôtes" nombreux et lourds à gérer et des "routeurs" gérés par des administrateurs réseau compétents.

Au début des années 2000, nous avons connu une augmentation des connexions DSL / câble toujours actives et également une augmentation du nombre de personnes qui avaient plus d'un ordinateur à la maison pouvant utiliser une connexion Internet. Étant donné que de nombreux FAI ne donneraient qu'une seule adresse IP à un client (au moins sans frais supplémentaires), nous avons constaté une augmentation massive de l'utilisation de «routeurs domestiques» avec NAT pour masquer plusieurs ordinateurs derrière une telle connexion. Le NAT a permis au "routeur domestique" de cacher sa vraie nature au FAI, pour le FAI, le "routeur domestique" était comme un hôte.

Une telle utilisation n'était au début que "tolérée" par les FAI mais finalement ils ont décidé que ce n'était pas une si mauvaise chose après tout et ont commencé à donner / vendre les "routeurs domestiques" à leurs clients. En conséquence, nous nous sommes retrouvés avec un grand nombre de ces appareils assis dans des maisons et de petites entreprises.

Ce n'est que relativement récemment que l'IETF a commencé à explorer correctement comment les «routeurs domestiques» et les FAI qui les desservent devraient se comporter dans le contexte de l'IPv6. La réponse étant que l'interface "côté WAN" devrait se comporter un peu comme un hôte tandis que les interfaces "côté LAN" devraient se comporter comme un routeur normal. Puisqu'il n'y a pas de NAT, il est nécessaire de fournir des détails supplémentaires pour gérer la fourniture d'adresses pour le côté LAN.


En ce qui concerne le noyau Linux, il ignore en effet par défaut les RA lorsque le routage est activé, mais ce comportement peut être remplacé si nécessaire.

Peter Green
la source
Vous avez omis de mentionner comment remplacer. J'ai ce qui suit dans mon fichier / etc / network / interfaces post-up sysctl -w net.ipv6.conf.eth0.accept_ra = 2 qui, je crois, est le paramètre pour activer RA.
tgunr
Oui, 0 est désactivé, 1 est en mode normal (activé pour les hôtes mais pas pour les routeurs) et 2 est activé de force.
Peter Green