20.4. Le Démon d'Annonce de Routeur (radvd)

Le Démon d'Annonce de Routeur est très utile sur un LAN, à partir du moment où les clients doivent être auto-configurés. Le démon lui-même doit tourner sur la passerelle par défaut IPv6 Linux (il n'est pas requis qu'elle soit aussi la passerelle IPv4, aussi prenez garde à qui émet des annonces de routeur sur votre LAN).

Vous avez à spécifier certaines informations et drapeaux qui doivent être compris dans l'annonce. Les plus employés sont

Après une configuration convenable, le démon émet des annonces au travers des interfaces spécifiées, dans l'espoir que les clients les reçoivent et auto-configurent comme par magie leurs adresses avec le préfixe reçu et le routeur par défaut.

20.4.1. Configurer radvd

20.4.1.1. Configuration simple

Le fichier de configuration de radvd est généralement /etc/radvd.conf. Un exemple simple ressemble à ce qui suit:

interface eth0 { 
        AdvSendAdvert on;
        MinRtrAdvInterval 3; 
        MaxRtrAdvInterval 10;
        prefix 3ffe:ffff:0100:f101::/64 { 
                AdvOnLink on; 
                AdvAutonomous on; 
                AdvRouterAddr on; 
        };
};

Ce qui a pour résultat côté client

# /sbin/ip -6 addr show eth0 
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 
    inet6 3ffe:ffff:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic 
       valid_lft 2591992sec preferred_lft 604792sec 
    inet6 fe80::2e0:12ff:fe34:1234/10 scope link

Parce qu'aucune limite de vie n'a été définie, une très grande valeur est utilisée.

20.4.1.2. Configuration spéciale 6to4

Les versions à partir de la 0.6.2pl3 supportent la (ré)génération des préfixes dépendant d'une adresse IPv4 propre à une interface spécifique. Ceci peut être utilisé afin de distribuer les annonces dans un LAN après que le tunnelage 6to4 ait changé. Surtout employé derrière un routeur de connexion dynamique à la demande (dial-on-demand). Avec l'assurance d'un temps de vie très bref pour un tel préfixe (après chaque reconnexion, dial-up, un autre préfixe est valide), la durée de vie est configurée aux valeurs minimales:

interface eth0 { 
        AdvSendAdvert on;
        MinRtrAdvInterval 3; 
        MaxRtrAdvInterval 10;
        prefix 0:0:0:f101::/64 { 
                AdvOnLink off; 
                AdvAutonomous on; 
                AdvRouterAddr on; 
                Base6to4Interface ppp0;
                AdvPreferredLifetime 20; 
                AdvValidLifetime 30;
        };
};

Il en résulte pour le client situé à l'intérieur (en considérant que ppp0 a actuellement 1.2.3.4 comme adresse IPv4 locale):

# /sbin/ip -6 addr show eth0 
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100 
   inet6 2002:0102:0304:f101:2e0:12ff:fe34:1234/64 scope global dynamic 
      valid_lft 22sec preferred_lft 12sec
   inet6 fe80::2e0:12ff:fe34:1234/10 scope link

Parce qu'un bref temps de vie a été défini, un tel préfixe sera rapidement jeté si aucune annonce s'y rapportant n'est reçue.

Note additionnelle: si vous n'utilisez pas de support spécifique 6to4 dans les scripts d'initialisation, vous avez à mettre en place une route spécifique sur l'interface interne du routeur, sinon vous aurez des problèmes de routage retour. En ce qui concerne l'exemple ci-après:

# /sbin/ip -6 route add 2002:0102:0304:f101::/64 dev eth0 metric 1

Cette route a besoin d'être remplacée chaque fois que le préfixe change, ce qui est le cas à chaque fois qu'une nouvelle adresse IPv4 est assignée à une interface numérotée automatiquement (dial-up interface).

20.4.2. Le déboguage

Un programme appelé ”radvdump” peut vous aider à observer les annonces émises ou reçues. Simple à utiliser:

# radvdump 
Router advertisement from fe80::280:c8ff:feb9:cef9 (hoplimit 255) 
        AdvCurHopLimit: 64 
        AdvManagedFlag: off 
        AdvOtherConfigFlag: off 
        AdvHomeAgentFlag: off 
        AdvReachableTime: 0 
        AdvRetransTimer: 0 
        Prefix 2002:0102:0304:f101::/64 
                AdvValidLifetime: 30 
                AdvPreferredLifetime: 20 
                AdvOnLink: off 
                AdvAutonomous: on 
                AdvRouterAddr: on 
        Prefix 3ffe:ffff:100:f101::/64 
                AdvValidLifetime: 2592000 
                AdvPreferredLifetime: 604800 
                AdvOnLink: on 
                AdvAutonomous: on 
                AdvRouterAddr: on 
        AdvSourceLLAddress: 00 80 12 34 56 78

Cette sortie vous montre que chaque paquetage d'annonce se présente dans un format lisible. Vous devriez voir à nouveau ici vos valeurs configurées, sinon, ce n'est peut-être pas votre radvd qui émet l'annonce... vérifiez s'il n'y a pas un autre routeur sur le lien (pour traquer ce routeur, prenez l'adresse LL, AdvSourceLLAddress, qui est son adresse MAC).