Nmap, Wireshark, TCPdump, IPTraf, IPerf, Nast, Ettercap

 Charge moyenne sur 1mn : 0.31 Charge moyenne sur 5mn : 0.46 Charge moyenne sur 15mn : 0.47


Blocs utilisateurs du site : Infos du compte / droits utilisateurs / récapitulatif

Identifiez-vous

Authentifiez-vous avec votre compte ZW3B et profitez des services membres.

Identifiant :
Mot de passe :
  
  

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
  • Publication : Vendredi 27 mars 2020
  • Modification : Lundi 13 avril 2020

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 :

ip link set eth1 promisc on
ifconfig eth1 promisc

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

ip link set eth1 promisc off
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 !

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 :

#################################################################################
option dhcp6.domain-search "lab3w.fr";
option domain-name-servers ns2.lab3w.fr, dns.lab3w.fr;

max-lease-time 60;
default-lease-time 60;

ddns-update-style none;

log-facility local7;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

# User-conf-definition
option dhcp6.next-hop code 242 = ip6-address;
option dhcp6.next-server code 242 = ip6-address;
#################################################################################

#################################################################################
# VMBR1
############

shared-network network-br1 {

        subnet6 2607:5300:0060:9389:1ab3:003b:0100:0000/104 {

                range6 2607:5300:0060:9389:1ab3:003b:0100:0000 2607:5300:0060:9389:1ab3:003b:0100:ffff;

                # Prefix range for delegation to sub-routers
                prefix6 2607:5300:0060:9389:1ab3:003b:0100:0000 2606:5300:0060:9389:1ab3:003b:01ff:ff00 /120;
#               prefix6 2607:5300:0060:9389:1ab3:003b:0150:0000 2606:5300:0060:9389:1ab3:003b:0150:ff00 /120;

                option dhcp6.domain-search "zw3b.net";
                option dhcp6.name-servers
                        2607:5300:0060:9389:1ab3:003b:0100:0001,
                        2001:0db8:25bb:ff52:1ab3:003b:1ac0:0201,
                        2001:4860:4860::8888,
                        2620:0:ccc::2;

                host zw3b_ipv6 {
                        host-identifier option dhcp6.client-id 00:01:00:01:26:1d:30:f2:c6:31:2b:76:f3:a2;
                        fixed-address6 2607:5300:0060:9389:1ab3:003b:0100:0001;
#                       fixed-prefix6 2607:5300:0060:9389:1ab3:003b:0150:0000/104;
                }

                # User-conf-options
#               option dhcp6.next-hop 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
#               option dhcp6.next-server 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;

        }

}
#################################################################################

#################################################################################
# VMBR2
############

shared-network network-br2 {

        subnet6 2607:5300:0060:9389:1ab3:003b:0200:0000/104 {

#                range6 2607:5300:0060:9389:1ab3:003b:0200:0000 2607:5300:0060:9389:1ab3:003b:02ff:ffff;
                range6 2607:5300:0060:9389:1ab3:003b:0200:0000 2607:5300:0060:9389:1ab3:003b:0200:ffff;
                # Prefix range for delegation to sub-routers
#               prefix6 2607:5300:0060:9389:1ab3:003b:0200:0000 2606:5300:0060:9389:1ab3:003b:02ff:ff00 /120;
#               prefix6 2607:5300:0060:9389:1ab3:003b:0250:0000 2606:5300:0060:9389:1ab3:003b:0250:ff00 /120;

                option dhcp6.domain-search "zw3b.net";
                option dhcp6.name-servers
                        2607:5300:0060:9389:1ab3:003b:0100:0001,
                        2001:0db8:25bb:ff52:1ab3:003b:1ac0:0201,
                        2001:4860:4860::8888,
                        2620:0:ccc::2;

                # AVEC RADVD SANS AdvRASrcAddress
                host mail_DHCPv6 {
                        host-identifier option dhcp6.client-id 00:02:00:00:ab:11:bc:c5:6e:eb:01:0b:f0:d7;
                        fixed-address6 2607:5300:0060:9389:1ab3:003b:0200:0001;
                }

                # AVEC RADVD AVEC AdvRASrcAddress
                host mail_AdvRASrcAddress {
                        host-identifier option dhcp6.client-id 00:02:00:00:ab:11:bc:c5:6e:eb:01:0b:f0:d7;
                        fixed-address6 2607:5300:0060:9389:1ab3:003b:0200:0001;
                }


                # User-conf-options
#               option dhcp6.next-hop 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;
#               option dhcp6.next-server 2001:0bc8:25bb:ff58:1ab3:003a:8f00:f;

        }
}
#################################################################################

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

# Interface vers le réseau Internet (OVH)
interface vmbr0 {

        AdvSendAdvert on; # Le routeur envoie les avertissements
        AdvManagedFlag on;
        AdvRASolicitedUnicast on; # default
        AdvOtherConfigFlag on;

        AdvRASrcAddress {
                fe80::1:1;
        };

        prefix 2607:5300:0060:9389:0000:0000:0000:0000/64 {

                AdvRouterAddr on;       # par défaut à off
                AdvOnLink on;
                AdvAutonomous on;

        };

#       RDNSS 2607:5300:60:9389::1 {};
#       DNSSL lab3w.fr ipv10.net {};

};

# Interface vers une VM avec des containers (lxc)
interface vmbr1 {

        AdvSendAdvert on;
        AdvManagedFlag on;
        AdvRASolicitedUnicast on; # default
        AdvOtherConfigFlag on;

        AdvRASrcAddress {
                fe80::1:1;
        };

        prefix 2607:5300:0060:9389:1ab3:003b:01ff:00ff/104 {
                AdvRouterAddr on;
                AdvAutonomous on;
        };

};

# Interface vers une VM simple
interface vmbr2 {
        AdvSendAdvert on;
        AdvManagedFlag on;

        prefix 2607:5300:0060:9389:1ab3:003b:02ff:00ff/104 {
                AdvRouterAddr on;

        };

};

# Interface de Test vers containers (lxc) sur l'hôte
interface vmbr3 {
        AdvSendAdvert on;
        AdvManagedFlag on;

        prefix 2607:5300:0060:9389:1ab3:003b:abcd:000f/112 {
                AdvRouterAddr on;

        };

};

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 :

alias tcpd_ipv6="tcpdump -s0 -t -n ip6 or proto ipv6 and port ! 22 -i ${1}"
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 :

# HOST > INTERNET ---------------------
# -------------------------------------
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
# -------------------------------------

# -------------------------------------
# HOST > BR_1
# -------------------------------------
vmbr1 : fe80::5059:adff:fe2c:f03a/64	2607:5300:0060:9389:1ab3:003b:01ff:00ff/104
vmbr1 : fe80::c887:34ff:fec7:b515/64
# -------------------------------------

# VM_1 --------------------------------

# BR_0 > HOST--------------------------
vmbr0 : fe80::c431:2bff:fe76:f3a2/64	2607:5300:0060:9389:1ab3:003b:0100:0001/104

# BR_1 > CT ---------------------------
vmbr1 : fe80::fc57:6dff:feda:ec6d/64	2607:5300:0060:9389:1ab3:003b:0150:00ff/112

# CT_DNS ------------------------------
eth0  : fe80::f0a5:68ff:fed8:4c2a/64	2607:5300:0060:9389:1ab3:003b:0150:0001/112

# CT_WW1 ------------------------------
eth0  : fe80::50de:c4ff:fef6:666a/64	2607:5300:0060:9389:1ab3:003b:0150:0001/112

# CT_SMB ------------------------------
eth0  : fe80::e8ed:c3ff:fe13:23bb/64	2607:5300:0060:9389:1ab3:003b:0150:0002/112

# -------------------------------------
# HOST > BR_2
vmbr2 : fe80::3ca0:c3ff:feb4:6b92/64	2607:5300:0060:9389:1ab3:003b:02ff:00ff/104
vmbr2 : fe80::2831:feff:fe3f:2f0d/64
# -------------------------------------

# BR_2 CT_DNS -------------------------
eth0  : fe80::f0a5:68ff:fed8:4c2a/64	2607:5300:0060:9389:1ab3:003b:0150:0001/112

# -------------------------------------
# HOST > BR_3
# -------------------------------------
vmbr3 : fe80::74ef:10ff:fe8c:908f/64	2607:5300:0060:9389:1ab3:003c:abcd:000f/116
vmbr3 : fe80::fcc1:2ff:fe61:507d/64
# -------------------------------------

# HOST CT_100 -------------------------
eth0  : fe80::ca9:afff:fef3:a4c2/64	2607:5300:0060:9389:1ab3:003c:abcd:0001/116

# HOST CT_101 -------------------------
eth0  : fe80::9cf9:dbff:fee7:5462/64	2607:5300:0060:9389:1ab3:003c:abcd:0002/116
# -------------------------------------

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 :




Autheur de la page

LAB3W.ORJ

LAB3W.ORJ

  • Prénom : Olivier Romain Luc
  • Nom : Jaillet-ramey
  • Arrivé le mardi 19 octobre 1976 (1976/10/19 00:00)
    43 ans d'activité !

Firefox Nighlty

Nos amis de Framasoft s'intéressent à Mozilla et leur ont posé des questions à propos de Nightly : Firefox Night-club, entrée libre !






Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready