MOOC:Support Act36

From Livre IPv6

Revision as of 20:15, 11 November 2015 by Bstevant (Talk | contribs) (Configurer le serveur DHCPv6 sur R2)

Activité 35: Configurez d'un réseau IPv6 administré

Objectif de cette activité

L'objectif de cette activité pratique est de mettre en oeuvre un réseau IPv6 d'une façon proche de l'opérationnel. L'activité précédente vous a permis de configurer un réseau IPv6 de manière statique. Si cette méthode aboutie à un résultat fonctionnel, il n'est pas envisageable de l'appliquer à l'échelle d'un réseau de production, la tâche de configuration du réseau devenant alors trop importante si le nombre de machines grandit.

Les réseaux IPv6 opérationnels utilisent les mécanismes de configuration automatique des paramètres réseau pour simplifier la tâche de l'administrateur et améliorer l'expérience de l'utilisateur. Vous allez dans cette activité configurer un réseau pour mettre en oeuvre :

  • l'auto-configuration sans état à travers la découverte des voisins,
  • la configuration avec état par le protocole DHCPv6.

Déroulement de l'activité

La topologie du réseau que vous allez utiliser est identique à l'activité pratique de la séquence 2. Les 3 réseaux seront considérés de la façon suivante :

  • le réseau R1-R2 est un sous-réseau d'infrastructure, les mécanismes d'auto-configuration ne s'y appliquent pas,
  • les réseaux R1-PC1 et R2-PC2 sont 2 sous-réseaux destinés à recevoir des stations, les protocoles de configuration automatique y seront déployés.

MOOC Act35 Intro2.png

Le plan d'adressage pour les réseaux est identique à celui de l'activité précédente. Le préfixe fd75:e4d9:cb77::/48 disponible pour notre plateforme a été divisé de la manière suivante :

  • le préfixe fd75:e4d9:cb77::/64 est utilisé pour le sous-réseau d'infrastructure
  • le préfixe fd75:e4d9:cb77:1::/64 est utilisé pour le sous-réseau R1-PC1
  • le préfixe fd75:e4d9:cb77:2::/64 est utilisé pour le sous-réseau R2-PC2

Vous allez dans une première étape configurer le sous-réseau R1-PC1 pour mettre en oeuvre la configuration sans état. La seconde étape consistera à déployer le protocole DHCPv6 sur le sous-réseau R2-PC2. Pour la troisième étape, PC2 sera configuré pour servir de serveur DNS pour la plateforme. La disponibilité du service de nommage sera distribué sur les différents sous-réseaux en utilisant DHCPv6 dans la quatrième étape.

Etape 1 : Configurer l'auto-configuration sur le réseau R1-PC1

Démarrer la plateforme

  1. Démarrer la machine virtuelle MOOC_IPv6_Debian
  2. Ouvrir le dossier TP3 sur le bureau et double-cliquer sur l'icône Etape0
  3. Démarrer les machines de la plateforme par le bouton Start (icône triangle vert) et ouvrir les consoles des machines

Vérifier la configuration initiale du réseau

Sur R1, vérifier que l'interface eth0 est activée

vyos@vyos:~$ show interfaces detail

Les interfaces eth0 et eth1 doivent être activées et configurées.

Sur PC1, vérifier que l'interface eth0 de PC1 desactivée

apprenant@MOOCIPv6:~$ ifconfig

Seule l'interface lo doit s'afficher.

Lancer la capture réseau sur le réseau R1-PC1

  1. Faire un clic-droit sur l'une des interfaces du switch SW1
  2. Choisir dans le menu Start Network Capture
  3. L'outil de capture réseau doit s'afficher

Configurer les annonces de routeur sur R1

La configuration automatique sans état est contrôlée par la diffusion sur le réseau des messages d'annonce de routeur (Routeur Advertisement ou RA). Le routeur de ce réseau étant R1, c'est à lui de diffuser ces messages. Vous allez maintenant activer la diffusion des messages d'annonce sur l'interface eth0 du routeur R1.

vyos@vyos:~$ vtysh
vyos# configure terminal
vyos(config)# interface eth0
vyos(config-if)# no ipv6 nd suppress-ra
vyos(config-if)# ipv6 nd prefix fd75:e4d9:cb77:1::/64
vyos(config-if)# exit
vyos(config)# exit

La commande no ipv6 nd suppress-ra est en fait la négation d'une configuration par défaut de VyOS qui désactive la diffusion des annonces de routeur. La commande suivante permet de préciser à VyOS le préfixe à diffuser dans ces messages. Ce préfixe va permettre aux stations qui se connectent sur le réseau de connaitre le préfixe à utiliser pour configurer leurs adresses.

Dans l'outil de capture réseau, vérifier la diffusion périodique des annonces de routeur sur le réseau. Quelle est la période de diffusion de ces messages ?

Analyser dans l'outil de capture le contenu des messages d'annonce de routeur pour identifier :

  • La source du message
  • La destination du message
  • Le protocole utilisé pour le transport des annonces au dessus d'IPv6
  • La valeur de la durée de validité de l'annonce
  • Le préfixe annoncé sur le réseau
  • La valeur des durées de préférence et de validité du préfixe

Connecter PC1 au réseau

Sur PC1, activer l'interface eth0 pour simuler la connexion d'une nouvelle station au réseau.

apprenant@MOOCIPv6:~$ sudo ifconfig eth0 up

Observez maintenant la configuration réseau de l'interface eth0 et celle de la table de routage IPv6.

apprenant@MOOCIPv6:~$ ifconfig
apprenant@MOOCIPv6:~$ route -A inet6

Quelles sont les configurations que PC1 a pu automatiquement effectuer grâce à la configuration sans état ?

Dans l'outil de capture, analyser les échanges entre R1 et PC1 pour identifier :

  • Les messages envoyés par PC1 pour solliciter la configuration sans état
  • Les messages envoyés par R1 en réponse à ces sollicitations
  • Les messages envoyés par PC1 pour valider les paramètres réseau configurés automatiquement

Valider la configuration en testant l'accessibilité de R1 et R2 depuis PC1.

apprenant@MOOCIPv6:~$ ping6 fd75:e4d9:cb77:1::ffff
apprenant@MOOCIPv6:~$ ping6 fd75:e4d9:cb77::1
apprenant@MOOCIPv6:~$ ping6 fd75:e4d9:cb77::2

Etape 2 : Configurer PC2 par la configuration automatique avec état

Vous allez maintenant mettre en oeuvre la configuration automatique avec état sur le sous-réseau R2-PC2. A l'instar de la configuration automatique sans état, ce mode de configuration permet de centraliser les paramètres réseau sur un équipement administré et d'automatiser leur mise en oeuvre sur la station se connectant au réseau.

La configuration avec état permet par contre à l'administrateur de mieux contrôler les adresses configurées par cette méthode. Il va ainsi pouvoir indiquer explicitement quelles adresses seront attribuées aux interfaces. Les adresses configurées au moment de la connexion sont donc stables, prévisibles et connues avant la première connexion de la station.

Dans cette activité pratique, vous allez utiliser ce mode de configuration pour PC2, qui va tenir lieu dans la suite de serveur de noms. L'adresse d'un tel serveur étant par la suite à configurer sur les autres machines de la plateforme, la stabilité de cette adresse est donc fortement recommandée.

Les fonctions du protocole DHCPv6 seront réparties sur le réseau de la manière suivante :

  • le serveur DHCPv6 sera déployé sur R2,
  • le client DHCPv6 sera déployé sur PC2.

L'étape 4 permettra de voir la mise en oeuvre d'un relai DHCPv6.

MOOC Act35 Etape2.png

Configurer le serveur DHCPv6 sur R2

Le serveur DHCPv6 a la possibilité d'attribuer les adresses selon 2 modes :

  • Statique : les adresses sont fixées au préalable par machine en fonction de leur DUID
  • Dynamique : l'adresse à attribuer est choisie à la première requête dans une plage d'adresse définie par l'administrateur. L'attribution sera ensuite enregistrée pour les prochaines demandes.

C'est le second mode d'attribution que vous allez mettre en oeuvre pour configurer le serveur DHCPv6 sur R2.

La plage d'adresse disponible pour l'attribution dynamique va s'étendre sur les 16 adresses possibles sur le préfixe fd75:e4d9:cb77:2::c0/124. La première adresse disponible sera donc fd75:e4d9:cb77:2::c0, la dernière fd75:e4d9:cb77:2::cf.

Le serveur DHCPv6 sous VyOS est un service qui se configure en mode Administrateur :

vyos@vyos:~$ configure
vyos@vyos# set service dhcpv6-server shared-network-name LAN subnet fd75:e4d9:cb77:2::/64 address-range start fd75:e4d9:cb77:2::c0 stop fd75:e4d9:cb77:2::cf
vyos@vyos# commit

La ligne configurant le service définit :

  • par le mot clé shared-network-name un identifiant pour le sous-réseau correspondant à la configuration
  • par le mot clé subnet un préfixe IPv6 permettant de déterminer l'interface sur lequel s'applique la configuration
  • par les mots clés address-range start ... stop la plage d'adresse pour l'attribution dynamique

La configuration générée par la commande peut être vérifiée par la commande

vyos@vyos# show running-config

La configuration automatique avec état nécessite toujours la diffusion des annonces de routeur, ne serait-ce que pour annoncer l'adresse du routeur par défaut. Il faut donc activez sur R2 les annonces de routeurs. Ces messages vont de plus présenter 2 drapeaux (flags) spécifiques à l'auto-configuration avec état :

vyos@vyos:~$ vtysh
vyos# configure terminal
vyos(config)# interface eth0
vyos(config-if)# no ipv6 nd suppress-ra
vyos(config-if)# ipv6 nd prefix fd75:e4d9:cb77:2::/64 no-autoconfig
vyos(config-if)# ipv6 nd managed-config-flag

La commande ipv6 nd prefix présente l'option no-autoconfig pour interdire aux stations se connectant de configurer leurs adresses à partir de ce préfixe. La commande ipv6 nd managed-config-flag va permettre d'indiquer aux stations que la configuration automatique avec état est disponible sur ce réseau.

Lancer la capture sur le réseau R2-PC2 et vérifier le contenu des messages d'annonce de routeur, notamment les drapeaux qui ont été positionnés par la configuration précédente.

Connecter PC2 au réseau

Activez l'interface eth0 de PC2

apprenant@MOOCIPv6:~$ sudo ifconfig eth0 up

Vérifiez la configuration réseau de PC2

apprenant@MOOCIPv6:~$ ifconfig
apprenant@MOOCIPv6:~$ route -A inet6

Analysez les échanges entre R2 et PC2. Expliquez les différences avec les échanges entre R1 et PC1

Lancez le client DHCPv6 sur PC2

apprenant@MOOCIPv6:~$ sudo dhclient -6 eth0

Vérifiez la configuration réseau de PC2

apprenant@MOOCIPv6:~$ ifconfig
apprenant@MOOCIPv6:~$ route -A inet6

Analysez les échanges entre R2 et PC2.

Validez la prise en compte des requêtes de PC2 sur le serveur DHCPv6 de R2

vyos@vyos# show services

Testez la connectivité entre PC1 et PC2

Etape 3 : Configurer un serveur de nom

Configurer le nommage direct

Sur PC2, modifier le fichier /usr/local/etc/bind/db.tp :

apprenant@MOOCIPv6:~$  sudo nano /usr/local/etc/bind/db.tp

Modifier

...
...
2015102200 ; serial    
... 
...
pc1         IN     AAAA    <adresse_PC1(Utiliser ifconfig dans PC1, fd75:e4d9:cb77:1::x)>
pc2         IN     AAAA   <adresse_PC2(Utiliser ifconfig dans PC2, fd75:e4d9:cb77:2::x)>
r1-eth1     IN     AAAA    fd75:e4d9:cb77::1
r2-eth1     IN     AAAA    fd75:e4d9:cb77::2


Exemple sur la modification du fichier /usr/local/etc/bind/db.tp :

...
...
2015102200 ; serial
...
...
pc1             IN     AAAA    fd75:e4d9:cb77:1:200:abff:fee2:8c00
pc2             IN     AAAA    fd75:e4d9:cb77:2::ce
r1-eth1         IN     AAAA    fd75:e4d9:cb77::1
r2-eth1         IN     AAAA    fd75:e4d9:cb77::2

Lancez BIND :

apprenant@MOOCIPv6:~$ sudo named -c /usr/local/etc/bind/named.conf

Testez la configuration en local sur PC2 :

apprenant@MOOCIPv6:~$ host pc1.tp
apprenant@MOOCIPv6:~$ ping6 pc1.tp

Configurer le nommage inversé

Pour calculer les noms inversés à partir des adresses IPv6, il est possible d'utiliser ipv6calc. Cet outil est disponible dans la machine virtuelle Debian qui vous sert à lancer l'outil GNS3.

Ouvrir le terminal sur la machine virtuelle Debian

apprenant@MOOCIPv6:~$ ipv6calc -a <@IPv6(PC1,R1,R2,PC2)>

Exemple :

apprenant@MOOCIPv6:~$  ipv6calc -a fd75:e4d9:cb77:1:200:abff:fe2d:bf00
No input type specified, try autodetection...found type: ipv6addr
0.0.f.b.d.2.e.f.f.f.b.a.0.0.2.0.1.0.0.0.7.7.b.c.9.d.4.e.5.7.d.f.ip6.arpa.

Modifier le fichier /usr/local/etc/bind/db.tp.ipv6.rev :

apprenant@MOOCIPv6:~$  sudo nano /usr/local/etc/bind/db.tp.ipv6.rev

Modifier

...
...
2015102200 ; serial
...
...
<l’adresse_pc1_REVERSE>          IN  PTR   pc1.tp
<l’adresse_pc2_REVERSE>          IN  PTR   pc2.tp
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0      IN  PTR   r1-eth1.tp.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0      IN  PTR   r2-eth1.tp.
                    

Exemple sur la modification du fichier /usr/local/etc/bind/db.tp.ipv6.rev :

...
...
2015102200 ; serial
...
...
0.0.c.8.2.e.e.f.f.f.b.a.0.0.2.0.1.0.0.0          IN  PTR   pc1.tp.
e.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0          IN  PTR   pc2.tp.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0          IN  PTR   r1-eth1.tp.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0          IN  PTR   r2-eth1.tp.

Lancez BIND :

apprenant@MOOCIPv6:~$ sudo named -c /usr/local/etc/bind/named.conf

Testez la configuration en local sur PC2 :

apprenant@MOOCIPv6:~$ dig -x <adresse_PC1>

Etape 4 : Configurer un relai DHCPv6

Configurer le serveur DHCPv6

Sur R2 :

vyos@vyos:~$ configure
vyos@vyos# set service dhcpv6-server shared-network-name LAN2 subnet fd75:e4d9:cb77:1::/64 address-range start fd75:e4d9:cb77:1::c1 stop fd75:e4d9:cb77:1::cf
vyos@vyos# set service dhcpv6-server shared-network-name LAN2 subnet fd75:e4d9:cb77:1::/64 name-server <adresse PC2>
vyos@vyos# set service dhcpv6-server shared-network-name INTERCO subnet fd75:e4d9:cb77::/64
vyos@vyos# commit

Expliquez la configuration (?)

Configurer le relai DHCPv6

Sur R1 :

vyos@vyos:~$ configure
vyos@vyos# set service dhcpv6‐relay listen-interface eth0
vyos@vyos# set service dhcpv6‐relay listen-interface eth1
vyos@vyos# set service dhcpv6-relay upstream-interface eth1 address fd75:e4d9:cb77::2
vyos@vyos# commit
vyos@vyos# exit

Expliquez la configuration (?)

Configurez les annonces de routeur

vyos@vyos:~$ vtysh
vyos# configure terminal
vyos(config)# interface eth0
vyos(config-if)# ipv6 nd other-config-flag
vyos(config-if)# exit
vyos(config)# exit

Expliquez la configuration (?)

Récupérer et tester l'obtention du DNS depuis PC1

apprenant@MOOCIPv6:~$ sudo dhclient -6 eth0
apprenant@MOOCIPv6:~$ vi /etc/resolv.conf
(Normalement nameserver est doit être celle de PC1) 

Testez la configuration en local sur PC1 :

apprenant@MOOCIPv6:~$ dig pc1.tp
apprenant@MOOCIPv6:~$ dig -x <adresse_PC1>
Personal tools