Comment faire : Nmap, Wireshark, TCPdump, IPTraf, IPerf, Nast, Ettercap...
 Charge moyenne sur 1mn : 0.40 Charge moyenne sur 5mn : 0.21 Charge moyenne sur 15mn : 0.07




Configuration d'IPV6 avec RADVD / DHCPDv6

Liens Web pour la configuration d'IPV6 avec RADVD / DHCPCD5 + Man FR radvd.conf 2.17 (5) + dhcpd.conf (5) - RDNSSD : IPv6 Recursive DNS Server Discovery

Informations

Dates
  • Création : Vendredi 27 mars 2020
  • Publication : Vendredi 27 mars 2020
  • Modification : Lundi 13 avril 2020

Partager

Traduire la page

NdM : 2020/03/27 - Cette page est en cours de complément rédactionnel...

Cette documentation n'est pas fonctionnelle.

J'écris les informations sur des tests de configuration que j'essaie moi-même et cela pour comprendre/apprendre RADvD / DHCPv6 et les autres services dont j'aurais besoin pour configurer un réseau IPv6 de manière automatique.

Ci-joint quelques liens Web pour la configuration d'IPV6 avec RADVD / DHCPCD5.

J'ai traduis la documentation de radvd.conf en français à default que man --locale=fr radvd.conf me retourne la doc en EN.
J'ai traduis la documentation de dhcpd.conf en français à default que man --locale=fr dhcpd.conf me retourne la doc en EN.

Ces services / serveurs logiciels permettent de configurer un réseau IPv6 récursif de manière automatique avec l'aide du démon rdnssd (IPv6 recursive DNS server discovery daemon).
Il permettent aux adminstrateurs réseaux de configurer les adresses IPv6, les serveurs DNS, les routes IPv6 et pleins d'autres options IPv6.

  • Soit configurer des adresses IPv6 UNICAST-GLOBALES (2001:db8:beef:42::/64),
  • soit configurer des adresses IPv6 LAN (fc00::/7 et fd00::/8 : ULA: Unique Locales Address),
  • soit configurer des adresses IPv6 de liens local (fe80::/64).

On recevra des IPv6 Router Advertisement Options for DNS Configuration (RFC 8106) via l'ICMPv6 selon comment les variables du système sur les cartes réseaux sont configurées :

Les variables système (sysctl -a)

Les valeurs sont net.ipv6.conf.ETH.* (carte),
il y aussi les valeurs par default net.ipv6.conf.default.*
et celles pour toutes les cartes réseaux net.ipv6.conf.all.* :

  • disable_ipv6 = 0|1 (Activer/Désactiver l'IPv6)
  • forwarding = 0|1 (Activer/Désactiver le transfert entre les cartes réseaux)
  • accept_ra = 0|1|2
    0 = ne pas accepter les annonces du routeur
    1 = accepter les annonces du routeur
    2 = accepter les annonces du routeur seulement et si la variable système forwarding de la carte est configurée à 1
  • proxy_ndp = 0|1 (Activer/Désactiver le Network Discovery Protocol)
  • autoconf = 0|1 (Activer/Désactiver l'Auto-configuration de la carte réseau)
  • accept_dad = 0|1 (Activer/Désactiver l'envoie d'informations si l'adresse IPv6 est dupliquée)
  • accept_redirects = 0|1 (0 default)
  • accept_source_route = 0|1 (0 default)

Il ne faut pas oublier les valeurs de net.ipv6.route.* (itinéraire) et net.ipv6.neigh.* (voisins) et les autres net.ipv6.* ^^ :)

Pour configurer ces variables à la volé, on execute la ligne de commande sysctl -w net.ipv6.conf.vmbr0.forwarding=1, par exemple pour activer le transfert entre les cartes réseaux (ici le bridge vmbr0) ou en éditant le fichier /etc/sysctl.conf pour que les valeurs sont prises en compte dès le démarage de la machine (sysctl -f par executer les variables système du fichier).

Les variables matériels des cartes réseau (netstats -i)

Je fait un aparté sur le mode promiscuous des cartes réseaux qui sert à envoyer toutes les requêtes sur toutes les cartes (au lieu d'aller directement où il faut - cela permet d'écouter tout le réseau (pour snifer les reqêtes depuis un endroit/une carte)).

Les Flag/drapeaux sont :

  • B flag is for broadcast
  • M flag is for multicast
  • P flag is for promisc mode
  • R is for running
  • U is for up

Pour activer le mode promiscuous utiliser une (1) des 2 commandes ci-dessous :

001 ip link set eth1 promisc on
002 ifconfig eth1 promisc

Pour désactiver le mode promiscuous utiliser une (1) des 2 commandes ci-dessous :

001 ip link set eth1 promisc off
002 ifconfig eth1 -promisc

Mode : Le réseau dit "host-only"

Dans ce mode de fonctionnement, seul l'hôte à accès au réseau. De ce fait, la machine virtuelle n'aura pas accès au support physique local (ce qui empêchera notamment l'accès à Internet).

Mode : Promiscuous

Promiscuous mode (traduit de temps en temps en « mode promiscuité »), en informatique, se réfère à une configuration de la carte réseau, qui permet à celle-ci d'accepter tous les paquets qu'elle reçoit, même si ceux-ci ne lui sont pas adressés. Ce mode est une fonctionnalité généralement utilisée pour écouter le trafic réseau.

Installation des paquets (radvd et isc-dhcp-server)

On installe les paquets radvd et isc-dhcp-server sur le serveur (les clients pouraient installer dhcpcd5) pour récupérer plus de paramètres qu'avec la commande dhclient -6 - À tester !

001 apt install radvd isc-dhcp-server

On édite/crée les fichiers /etc/radvd.conf et /etc/dhcp/dhcpd6.conf et on configure /etc/default/isc-dhcp-server.

Et on suit les docs man ;)


Fichiers de configuration radvd.conf et dhcpd6.conf

Pour l'instant mon fichier sur l'hôte /etc/dhcp/dhcpd6.conf est configuré comme cela :

001 #################################################################################
002 option dhcp6.domain-search "lab3w.fr";
003 option domain-name-servers ns2.lab3w.fr, dns.lab3w.fr;
004 
005 max-lease-time 60;
006 default-lease-time 60;
007 
008 ddns-update-style none;
009 
010 log-facility local7;
011 
012 # If this DHCP server is the official DHCP server for the local
013 # network, the authoritative directive should be uncommented.
014 authoritative;
015 
016 # User-conf-definition
017 option dhcp6.next-hop code 242 = ip6-address;
018 option dhcp6.next-server code 242 = ip6-address;
019 #################################################################################
020 
021 #################################################################################
022 # VMBR1
023 ############
024 
025 shared-network network-br1 {
026 
027         subnet6 2607:5300:0060:9389:1ab3:003b:0100:0000/104 {
028 
029                 range6 2607:5300:0060:9389:1ab3:003b:0100:0000 2607:5300:0060:9389:1ab3:003b:0100:ffff;
030 
031                 # Prefix range for delegation to sub-routers
032                 prefix6 2607:5300:0060:9389:1ab3:003b:0100:0000 2606:5300:0060:9389:1ab3:003b:01ff:ff00 /120;
033 #               prefix6 2607:5300:0060:9389:1ab3:003b:0150:0000 2606:5300:0060:9389:1ab3:003b:0150:ff00 /120;
034 
035                 option dhcp6.domain-search "zw3b.net";
036                 option dhcp6.name-servers
037                         2607:5300:0060:9389:1ab3:003b:0100:0001,
038                         2001:0db8:25bb:ff52:1ab3:003b:1ac0:0201,
039                         2001:4860:4860::8888,
040                         2620:0:ccc::2;
041 
042                 host zw3b_ipv6 {
043                         host-identifier option dhcp6.client-id 00:01:00:01:26:1d:30:f2:c6:31:2b:76:f3:a2;
044                         fixed-address6 2607:5300:0060:9389:1ab3:003b:0100:0001;
045 #                       fixed-prefix6 2607:5300:0060:9389:1ab3:003b:0150:0000/104;
046                 }
047 
048                 # User-conf-options
049 #               option dhcp6.next-hop 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
050 #               option dhcp6.next-server 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
051 
052         }
053 
054 }
055 #################################################################################
056 
057 #################################################################################
058 # VMBR2
059 ############
060 
061 shared-network network-br2 {
062 
063         subnet6 2607:5300:0060:9389:1ab3:003b:0200:0000/104 {
064 
065 #                range6 2607:5300:0060:9389:1ab3:003b:0200:0000 2607:5300:0060:9389:1ab3:003b:02ff:ffff;
066                 range6 2607:5300:0060:9389:1ab3:003b:0200:0000 2607:5300:0060:9389:1ab3:003b:0200:ffff;
067                 # Prefix range for delegation to sub-routers
068 #               prefix6 2607:5300:0060:9389:1ab3:003b:0200:0000 2606:5300:0060:9389:1ab3:003b:02ff:ff00 /120;
069 #               prefix6 2607:5300:0060:9389:1ab3:003b:0250:0000 2606:5300:0060:9389:1ab3:003b:0250:ff00 /120;
070 
071                 option dhcp6.domain-search "zw3b.net";
072                 option dhcp6.name-servers
073                         2607:5300:0060:9389:1ab3:003b:0100:0001,
074                         2001:0db8:25bb:ff52:1ab3:003b:1ac0:0201,
075                         2001:4860:4860::8888,
076                         2620:0:ccc::2;
077 
078                 # AVEC RADVD SANS AdvRASrcAddress
079                 host mail_DHCPv6 {
080                         host-identifier option dhcp6.client-id 00:02:00:00:ab:11:bc:c5:6e:eb:01:0b:f0:d7;
081                         fixed-address6 2607:5300:0060:9389:1ab3:003b:0200:0001;
082                 }
083 
084                 # AVEC RADVD AVEC AdvRASrcAddress
085                 host mail_AdvRASrcAddress {
086                         host-identifier option dhcp6.client-id 00:02:00:00:ab:11:bc:c5:6e:eb:01:0b:f0:d7;
087                         fixed-address6 2607:5300:0060:9389:1ab3:003b:0200:0001;
088                 }
089 
090 
091                 # User-conf-options
092 #               option dhcp6.next-hop 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
093 #               option dhcp6.next-server 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
094 
095         }
096 }
097 #################################################################################

Pour l'instant mon fichier sur l'hôte /etc/radvd.conf est configuré comme cela :

001 # Interface vers le réseau Internet (OVH)
002 interface vmbr0 {
003 
004         AdvSendAdvert on; # Le routeur envoie les avertissements
005         AdvManagedFlag on;
006         AdvRASolicitedUnicast on; # default
007         AdvOtherConfigFlag on;
008 
009         AdvRASrcAddress {
010                 fe80::1:1;
011         };
012 
013         prefix 2607:5300:0060:9389:0000:0000:0000:0000/64 {
014 
015                 AdvRouterAddr on;       # par défaut à off
016                 AdvOnLink on;
017                 AdvAutonomous on;
018 
019         };
020 
021 #       RDNSS 2607:5300:60:9389::1 {};
022 #       DNSSL lab3w.fr ipv10.net {};
023 
024 };
025 
026 # Interface vers une VM avec des containers (lxc)
027 interface vmbr1 {
028 
029         AdvSendAdvert on;
030         AdvManagedFlag on;
031         AdvRASolicitedUnicast on; # default
032         AdvOtherConfigFlag on;
033 
034         AdvRASrcAddress {
035                 fe80::1:1;
036         };
037 
038         prefix 2607:5300:0060:9389:1ab3:003b:01ff:00ff/104 {
039                 AdvRouterAddr on;
040                 AdvAutonomous on;
041         };
042 
043 };
044 
045 # Interface vers une VM simple
046 interface vmbr2 {
047         AdvSendAdvert on;
048         AdvManagedFlag on;
049 
050         prefix 2607:5300:0060:9389:1ab3:003b:02ff:00ff/104 {
051                 AdvRouterAddr on;
052 
053         };
054 
055 };
056 
057 # Interface de Test vers containers (lxc) sur l'hôte
058 interface vmbr3 {
059         AdvSendAdvert on;
060         AdvManagedFlag on;
061 
062         prefix 2607:5300:0060:9389:1ab3:003b:abcd:000f/112 {
063                 AdvRouterAddr on;
064 
065         };
066 
067 };

En activant les accept_ra=1 ou accept_ra=2 sur les machines clients je recois bien ma passerelle fe80::. Mais n'arrive pas à pinguer l'internet.

  • J'arrive bien à request mais çà ne reply pas (commande ping6).
  • J'arrive bien à request/reply sur le même réseau (lien local) mais pas sur les autres réseaux (commande ping6).

Je vous écris 2 alias de tcpdump pour visualiser les requêtes IPv6 et ICMPv6 :

001 alias tcpd_ipv6="tcpdump -s0 -t -n ip6 or proto ipv6 and port ! 22 -i ${1}"
002 alias tcpd_icmpv6="tcpdump -s0 -n 'icmp6 and (ip6[40+0]&0xFE == 128)' and port ! 22 -i ${1}"

À executer de cette manière : tcpd_icmpv6 vmbr0 par exemple.

CF : Voir aussi la commande radvdump qui dumps les Advertisements/Annonces du Router.


Mes cartes / bridges réseaux ont ses adresses de liens locales :

001 # HOST > INTERNET ---------------------
002 # -------------------------------------
003 vmbr0 : fe80::ec4:7aff:fe02:5fa4/64    2607:5300:0060:9389:0000:0000:0000:0001/64    2607:5300:0060:9389:00ff:00ff:00ff:00ff/128
004 # -------------------------------------
005 
006 # -------------------------------------
007 # HOST > BR_1
008 # -------------------------------------
009 vmbr1 : fe80::5059:adff:fe2c:f03a/64    2607:5300:0060:9389:1ab3:003b:01ff:00ff/104
010 vmbr1 : fe80::c887:34ff:fec7:b515/64
011 # -------------------------------------
012 
013 # VM_1 --------------------------------
014 
015 # BR_0 > HOST--------------------------
016 vmbr0 : fe80::c431:2bff:fe76:f3a2/64    2607:5300:0060:9389:1ab3:003b:0100:0001/104
017 
018 # BR_1 > CT ---------------------------
019 vmbr1 : fe80::fc57:6dff:feda:ec6d/64    2607:5300:0060:9389:1ab3:003b:0150:00ff/112
020 
021 # CT_DNS ------------------------------
022 eth0  : fe80::f0a5:68ff:fed8:4c2a/64    2607:5300:0060:9389:1ab3:003b:0150:0001/112
023 
024 # CT_WW1 ------------------------------
025 eth0  : fe80::50de:c4ff:fef6:666a/64    2607:5300:0060:9389:1ab3:003b:0150:0001/112
026 
027 # CT_SMB ------------------------------
028 eth0  : fe80::e8ed:c3ff:fe13:23bb/64    2607:5300:0060:9389:1ab3:003b:0150:0002/112
029 
030 # -------------------------------------
031 # HOST > BR_2
032 vmbr2 : fe80::3ca0:c3ff:feb4:6b92/64    2607:5300:0060:9389:1ab3:003b:02ff:00ff/104
033 vmbr2 : fe80::2831:feff:fe3f:2f0d/64
034 # -------------------------------------
035 
036 # BR_2 CT_DNS -------------------------
037 eth0  : fe80::f0a5:68ff:fed8:4c2a/64    2607:5300:0060:9389:1ab3:003b:0150:0001/112
038 
039 # -------------------------------------
040 # HOST > BR_3
041 # -------------------------------------
042 vmbr3 : fe80::74ef:10ff:fe8c:908f/64    2607:5300:0060:9389:1ab3:003c:abcd:000f/116
043 vmbr3 : fe80::fcc1:2ff:fe61:507d/64
044 # -------------------------------------
045 
046 # HOST CT_100 -------------------------
047 eth0  : fe80::ca9:afff:fef3:a4c2/64    2607:5300:0060:9389:1ab3:003c:abcd:0001/116
048 
049 # HOST CT_101 -------------------------
050 eth0  : fe80::9cf9:dbff:fee7:5462/64    2607:5300:0060:9389:1ab3:003c:abcd:0002/116
051 # -------------------------------------
052 

J'essaie de travailler sur les liens LOCals pour une fois (et non pas les adresses UNICAST GLOBALES (PUBLIQUES)).



Cordialement,
Romain

Liens Web : Documentations

Request For Comments : Documents officiels décrivant les aspects et spécifications techniques d'Internet


<< Comment-faire un réseau IPv6 ? Firewall ICMPv6

Comment-faire un réseau IPv6 - Introduction >>


Outils IPv6 :

Liens WikipediA : The Free Encyclopedia

Liens InterNetworks :

Liens Firewall IPv6 : Internet Protocol V6

Liens ZW3B.IPv6 : Internet Protocol V6

Liens qui peuvent aussi vous intéresser :


AUTEUR : LAB3W.ORJ Alias de O.Romain Jaillet-ramey (NOTIF LVL 7 - 43 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FACEBOOK - GOOGLE - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : Le samedi 06 janvier 1 (2001/01/06 15:31)
CONNEXION : il y a un peu plus 1 mois (2020/04/25 22:48)
DERNIERE VISITE : il y a un peu plus 1 mois (2020/04/28 00:00)

les réactions des ZW3B.Nautes (0 note)

Ajouter un commentaire

Avatar par default
Pseudo :
Email :
 
Ajouter la chaine de caractères (le code) ci-dessous dans le champ du dessous.
Captcha
Code :





Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready