Comment puis-je «tremper mes orteils» dans l'adressage réseau IPv6 dynamique?

14

Existe-t-il un moyen dans IPv6 pour activer l'adressage dynamique et la configuration d'un sous-ensemble d'hôtes sur un réseau identifié par des adresses mac spécifiques?

Je travaille lentement à la configuration d'IPv6. Tous mes routeurs ont des adresses et des itinéraires statiques et quelques serveurs critiques sont adressés de manière statique. Maintenant, je veux commencer à tester certains clients, mais je ne veux pas simplement l'activer pour un réseau entier à la fois. J'aimerais pouvoir simplement l'activer pour quelques hôtes.

Dans le monde IPv4, je configurerais un serveur DHCP avec 0 adresses libres dans le champ d'application, et je configurerais simplement les réservations. Dans le monde IPv6, cela ne semble pas être une option car je ne peux pas définir une passerelle par défaut via DHCPv6, qui ne peut apparemment être apprise que via des publicités de routeur.

Comment est-ce abordé? N'est-il tout simplement pas possible d'activer sélectivement IPv6 sur un réseau?

Mes routeurs sont basés sur Linux et le serveur DHCPv6 fonctionnerait sur Linux si cela importait, et je cherche à activer des clients de toutes sortes (Windows / Linux / OSX).

Zoredache
la source
Pourquoi ne pouvez-vous pas faire de réservations DHCPv6? Même mon routeur domestique peut le faire.
Michael Hampton
@MichaelHampton, Oui DHCPv6 devrait être en mesure de fournir une adresse au client, mais comment puis-je obtenir le client d'avoir une route par défaut?
Zoredache
Sur le serveur DHCP, vous pouvez créer des règles iptables qui bloquent DHCPv6 de certaines adresses MAC et autorisent celles que vous souhaitez activer IPv6.
Atle
@Zoredache: la route par défaut est toujours communiquée par les messages Router Advertisement (RA). DHCPv6 n'échange pas les informations de routage.
Sander Steffann

Réponses:

7

Je ne vois pas pourquoi vous ne pouvez pas le faire sensiblement de la même manière avec IPv6 qu'avec IPv4 (bien que je recommanderai le déploiement par sous-réseaux plutôt que par des hôtes uniques; cela vous fera économiser beaucoup de temps et des maux de tête plus tard).

Voici comment IPv6 fonctionne ici (grandement simplifié; voir RFC 4861 pour les détails sanglants):

Le routeur par défaut envoie périodiquement une annonce de routeur ou lorsqu'il reçoit une sollicitation de routeur d'un nouvel hôte. La RA contient bien sûr l'adresse du routeur et divers drapeaux. Le drapeau M (géré) et le drapeau O (autre) nous intéressent ici. Ces indicateurs spécifient que l'hôte doit obtenir le reste de ses informations de configuration à partir d'un serveur DHCPv6:

  • Lorsque l'indicateur M est défini, toutes les informations de configuration (à l'exception des adresses de routeur) sont fournies par DHCPv6.
  • Lorsque l'indicateur O est défini, l'hôte configure sa propre adresse IPv6 avec SLAAC; toutes les autres informations de configuration (à l'exception des adresses de routeur) sont fournies par DHCPv6.

À ce stade, il s'agit simplement d'utiliser, par exemple fixed-address6dans votre dhcpd.confconfiguration pour définir des réservations; votre configuration DHCPv6 sera sensiblement similaire à la configuration DHCP pour IPv4.

J'ai également ignoré le cas où un sous-réseau pourrait avoir deux ou plusieurs routeurs gérant la route "par défaut"; dans ce cas, examinez la préférence du routeur IPv6 pour configurer cet aspect.

Michael Hampton
la source
Ok, ça sonne bien. Le défi est que j'expérimente actuellement l'utilisation de DnsMasq pour les publicités d'itinéraire. Ce qui semble manquer des fonctionnalités nécessaires pour permettre cela. Je suppose que je vais devoir passer à l'utilisation de radvd.
Zoredache
1
@Zoredache dnsmasq est assez minimal à cet égard, et je ne pense pas qu'il possède toutes les fonctionnalités nécessaires. J'utilise moi-même radvd. Si vous avez besoin de quelque chose de minimaliste, par exemple pour un système embarqué, pensez à 6relayd . Il s'agit d'un serveur et d'un relais de publicité / routeur DHCPv6 combinés qui ont été initialement écrits pour OpenWrt.
Michael Hampton
1

Vous pouvez configurer un serveur DHCPv6 (tel que WIDE ou ISC) pour une configuration avec état ou radvd pour une configuration automatique sans état. IPv6 spécifie la plage FC00 :: / 7 pour les adresses locales uniques (similaire aux plages d'adresses privées dans IPv4).

Mark Bidewell
la source
Et vous n'êtes pas censé utiliser fc00 :: ou fd00 :: comme je le vois certaines personnes. Vous êtes censé choisir un aléatoire / 48 dans cette plage.
Michael Hampton