TP IPv6 TEV

De Le wiki des TPs RSM
TP
IPv6 : Déploiement et Intégration


TODO: Décrire la mise en place du matériel dans la salle. Photos ?
TODO: Vérifier que la version de l'IOS est bien C2801-ADVENTERPRISEK9-M

Architecture du TP

Au cours de ce TP, nous allons mettre en place 2 réseaux IPv6 sur votre banc, que nous allons interconnecter entre eux. Voici l'architecture réseau que vous allez mettre en place.

Architecture Niveau 3

IPv6 Archi L3 b.png

L'architecture niveau 3 nous montre les 2 réseaux IPv6 du banc. Sur le premier réseau, nous allons connecter le PC serveur, qui sera le PC à gauche de votre bac. Le PC à droite de votre banc sera le PC client, qui sera connecté au second réseau de votre banc.

Red arrow.png Repérez le PC serveur, situé à gauche de votre banc, et le PC client, situé à droite de votre banc.

Ces deux réseaux IPv6 seront gérés par un routeur Cisco 1800. Ce routeur sera connecté au réseau d'interconnexion de la salle pour fournir la connectivité IPv6 à votre banc.

Red arrow.png Repérez le routeur Cisco 1800.

Architecture Niveau 2

IPv6 Archi L2 b.png

Le routeur Cisco ne possède que 2 interfaces réseau. La première sera utilisée pour le réseau d'interconnexion. L'architecture réseau du TP nécessite donc la mise en place de VLANs. La seconde interface du routeur servira à diffuser 2 VLANs correspondant aux réseaux IPv6 de votre banc vers un commutateur Cisco 3560. Vous configurerez ce commutateur pour attribuer chacun de ces VLANs aux interfaces sur lesquelles seront connectés les 2 PCs.

Red arrow.png Repérez le switch Cisco 3650.

Architecture Niveau 1

Voici le schéma de câblage pour ce TP :

IPv6 Archi L1 f.png

L'interface Fe0/0 du routeur doit être connectée au réseau d'interconnexion de la salle.

Red arrow.png Repérez le câble du réseau d'interconnexion (bleu ou vert) qui descend sous votre banc. Connectez-le à l'interface Fa0/0 du routeur}

L'interface Fe0/1 du routeur doit être connectée à l'interface 1 du commutateur.

Red arrow.png Connectez par le câble rouge l'interface Fe0/1 du routeur à l'interface 1 du commutateur.

L'interface 2 du commutateur doit être connectée à l'interface eth0 du PC serveur (interface à gauche en regardant la face arrière).

Red arrow.png Connectez par un petit câble l'interface 2 du commutateur à l'interface eth0 du PC serveur.

L'interface 3 du commutateur doit être connectée à l'interface eth0 du PC client (interface à gauche en regardant la face arrière).

Red arrow.png Connectez par un petit câble l'interface 3 du commutateur à l'interface eth0 du PC client.

L'interface 4 du commutateur sera utilisée pour monitorer le trafic sur votre banc. Le moniteur se situera sur le PC serveur.

Red arrow.png Connectez par un petit câble l'interface 4 du commutateur à l'interface eth1 du PC serveur (interface à droite en regardant la face arrière).

Le PC serveur va servir à la configuration du commutateur par l'interface série.

Red arrow.png Connectez par le câble plat bleu l'interface série du PC serveur à l'interface console du commutateur

Le PC client va servir à la configuration du routeur par l'interface série.

Red arrow.png Connectez par le câble plat bleu l'interface série du PC client à l'interface console du routeur$$

Démarrage des PCs

Les deux PC doivent être sous tension. Une bannière de login doit être présente. Si ce n’est pas le cas, appelez votre encadrant.

Sur le commutateur et les PC:

Red arrow.png Vérifiez l’état des LED pour voir quels équipements sont "actifs" sur le réseau.

Sur chacun des PC :

Red arrow.png Dans la fenêtre de login PC, taper comme utilisateur : user

Red arrow.png Dans la fenêtre suivante taper le mot de passe : pass4user

Les outils utiles pour le TP sont présents dans le menu Applications en haut à gauche de l'écran, sous la rubrique TP Réseaux

MenuTP.png

Red arrow.png Lancer un terminal avec les droit administrateur en sélectionnant l'outil Terminal administrateur

Red arrow.png Le système demande le mot de passe de root: taper pass4root

Red arrow.png Réitérez cette manipulation pour le second PC.

Etape 1 : Configuration niveau 2 du banc de TP sur le commutateur

Vous allez tout d'abord configurer l'architecture Niveau 2 sur le commutateur de votre banc.

Red arrow.png Lancez le terminal série pour configurer le commutateur dans le menu TP Réseaux / Console Série

La console série ouverte sur le commutateur apparait.

Red arrow.png Tapez retour chariot, si vous voyez les lignes suivantes apparaître, repondez yes pour passer en mode configuration non assistée, sinon vous deviez voir directement l'invite Switch>

Would you like to terminate autoinstall? [yes]: yes


         --- System Configuration Dialog ---

Would you like to enter in the initial configuration dialog? [yes/no]: no
Switch>

Le commutateur est prêt à être configuré.

Comme pour une station de travail, un commutateur a deux mode de fonctionnement. Vous êtes pour l’instant connecté dans le mode utilisateur. Pour pouvoir configurer l’équipement, vous devez passer dans le mode super-utilisateur.

Red arrow.png Tapez la commande IOS (système d’exploitation des routeurs/commutateurs Cisco) :

Switch>enable

L’invite change pour :

Switch#

Le format de l’invite est important car il indiquera dans quel menu de configuration vous vous trouvez.

Attention.png SI VOUS RESTEZ TROP LONGTEMPS INACTIF SUR LE COMMUTATEUR. CELUI-CI REPASSERA EN MODE UTILISATEUR. POUR REVENIR EN MODE PRIVILÉGIÉ, IL FAUDRA RETAPER enable.

Pour connaître les interfaces disponibles sur le switch, tapez :

Switch#show interfaces status




Configuration du VLAN serveur

Dans l'architecture de niveau 2, nous avons défini 2 VLANs numérotés de la façon suivante :

  • 101 : VLAN du réseau serveur
  • 102 : VLAN du réseau client

L'interface Fa0/2 est connectée au PC serveur. Vous devez donc lui attribuer le VLAN 101.

Pour commencer la configuration des interfaces, vous devez passez en mode configuration

Switch# configure terminal


Red arrow.png Configurez sur le commutateur l'interface FastEthernet0/2 sur le vlan 101

Switch(config)# interface FastEthernet0/2
Switch(config-if)# switchport access vlan 101
Switch(config-if)# switchport mode access
Switch(config-if)# exit
Switch(config)# exit
Switch#

Red arrow.png Vérifiez la configuration de l'interface:

Switch#show interfaces status



Configuration du VLAN client

L'interface Fa0/3 est connectée au PC client. Vous devez donc lui attribuer le VLAN 102.

Red arrow.png Repassez en mode configuration :

Switch# configure terminal


Red arrow.png Configurez sur le commutateur l'interface FastEthernet0/3 sur le vlan 102

Switch(config)# interface FastEthernet0/3
Switch(config-if)# switchport access vlan 102
Switch(config-if)# switchport mode access
Switch(config-if)# exit
Switch(config)# exit
Switch#

Red arrow.png Vérifiez la configuration de l'interface:

Switch#show interfaces status



Configuration de l'interface vers le routeur

L'interface Fa0/1 est connectée au routeur. Elle doit être configurée comme trunk pour pouvoir agréger les deux VLANs 101 et 102 vers le routeur.

Red arrow.png Repassez en mode configuration :

Switch# configure terminal

Red arrow.png Configurez sur le commutateur l'interface FastEthernet0/1 comme trunk

Switch(config)# interface FastEthernet0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 101,102
Switch(config-if)# switchport mode trunk
Switch(config-if)# exit
Switch(config)# exit
Switch#

Red arrow.png Vérifiez la configuration de l'interface:

Switch#show interfaces status



Configuration du port moniteur

Nous allons passer en mode configuration pour placer le port 4 du commutateur en mode monitoring pour qu'il reçoive l'ensemble des trames émises par chacun des deux PC (vlan 101 et 102). Ce port sera connecté à l'interface eth1 du PC serveur, ce qui permettra d'observer les trames avec un analyseur.

Red arrow.png Tapez :

Switch# configure terminal
Switch(config)#monitor session 1 source vlan 101  , 102
Switch(config)#monitor session 1 destination interface Fa0/4
Switch(config)#exit
Switch#write
Building configuration...
[OK]


Red arrow.png vérifiez que la commande a bien été exécutée en tapant :

Switch# sh interfaces status



Mise en marche de l’analyseur réseau sur le PC serveur

Sur le PC serveur, nous allons utiliser le port eth1 pour écouter les trames qui circulent sur le réseau:

Afin que l'interface eth1 du PC serveur ne soit pas impactée par les messages de configuration IPv6 reçus, il faut désactiver l'autoconfiguration sur cette interface.

Red arrow.png Sur le PC serveur, activez l'interface eth1 et désactiver l'autoconfiguration :

# ifconfig eth1 up
# echo 0 > /proc/sys/net/ipv6/conf/eth1/accept_ra

Red arrow.png Lancez le programme d'analyse du trafic avec un accès root en sélectionnant dans le menu TP / Wireshark

La fenêtre suivante apparaît :

Wireshark2.png


Red arrow.png Lancez la capture des trames en sélectionnant l'interface eth1 et cliquez ensuite sur Start

Afin de ne voir que les messages IPv6 qui nous intéressent ici, vous pouvez utiliser le filtre de visualisation

Red arrow.png Dans le champ Filter en haut de la fenêtre de capture, entrez la valeur ipv6

Etape 2 : Etablissement du plan d'adressage

Le plan d'adressage utilisé pour ce TP suit la règle d'adressage hiérarchique mise en oeuvre depuis la politique d'allocation CIDR décidée au début des années 1990. Cette politique s'applique aussi bien en IPv4 qu'en IPv6 :

  • L'IANA, organisation mondiale de gestion des adresses, délègue des blocs d'adresses aux Registres Internet Régionaux (RIR).
  • Chaque RIR alloue des blocs d'adresses aux Registres Internet Locaux (LIR, typiquement des opérateurs/FAI) de sa région (en Europe, c'est le RIPE-NCC).
  • Chaque LIR attribue ensuite des blocs d'adresses à ses clients finaux (entreprises, particuliers...).
  • Chaque client gère enfin ces adresses pour les affecter à ses équipements/services réseaux.

Dans le cas de TELECOM Bretagne, le LIR est RENATER. Le préfixe IPv6 utilisé par RENATER est :

2001:660::/32
Stylo.png
Sachant que RENATER attribue des préfixes de 48 bits à ses clients, combien de clients RENATER peut il servir en adresses IPv6 sur ce bloc ?




RENATER a attribué à TELECOM Bretagne site de Rennes le préfixe suivant

2001:660:7301::/48
Stylo.png
Combien de préfixe de lien IPv6 (sous-réseau), de taille standard 64 bits, peut-on définir sur le site à partir de ce préfixe ?




Les administrateurs réseau du site de Rennes ont décidé d'adresser hiérarchiquement les salles de TP. À chaque salle est associé le préfixe IPv6 :

2001:660:7301:TP00::/56

TP est le numéro de la salle.

Question.jpg
Quel est le préfixe IPv6 associé à votre salle de TP ?




Stylo.png
Combien de lien IPv6 est-il possible de définir dans cette salle ?




Pour chaque salle le préfixe :

2001:660:7301:TP00::/64

est attribué au réseau d'interconnexion. Les préfixes à utiliser pour les deux réseaux de votre banc sont définis de la manière suivante :

2001:660:7301:TP_1::/64 Réseau serveur (vlan 101)
2001:660:7301:TP_2::/64 Réseau client (vlan 102)

_ représente votre numéro de banc


Question.jpg
Quels seront les 2 préfixes IPv6 à utiliser sur votre banc ?




Question.jpg
Si vous prévoyez de déployer jusqu'à 16 liens IPv6 par banc, numéroté de 0 à F, quel préfixe IPv6 peut agréger tous les préfixes de votre banc ?




Etape 3 : Connexion du routeur au réseau de la salle

La configuration Niveau 2 de votre banc étant terminée, vous n'avez plus de configuration à effectuer sur le commutateur. Vous allez maintenant configurer le routeur.

Red arrow.png Dans la fenêtre du PC client, ouvrez la console du routeur en sélectionnant dans le menu TP / Console Série

Red arrow.png Allumez le routeur.

Le routeur va normalement démarrer en mode configuration. Répondez à quelques questions (nom du routeur, mot de passe administrateur) et vous devriez arriver à l'invite de commande pour la configuration.

Red arrow.png Passez en mode administrateur

Routeur$ enable

Red arrow.png Vérifiez la configuration IPv6 des interface au démarrage du routeur

Routeur# show ipv6 interface brief 
Question.jpg
Combien d'adresses IPv6 sont configurées sur le routeur ?




Vous allez maintenant configurer l'interface FastEthernet0/0 du routeur, connectée au réseau d'interconnexion de la salle. Dans le plan d'adressage de l'école, ce réseau a pour préfixe :

2001:660:7301:TP00::/64

Vous allez donc configurer cette interface avec une adresse de ce lien. Pour construire cette adresse, il vous manque les 64 derniers bits. Ces bits seront fixés en fonction de votre banc :

0000:0000:0000:000_    _=numéro de banc
Question.jpg
Quelle sera l'adresse IPv6 de votre routeur ?




Red arrow.png Configurez sur le routeur l'interface FastEthernet0/0

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/0
Routeur(config-if)# no shutdown
Routeur(config-if)# ipv6 address 2001:660:7301:TP00::_/64
Routeur(config-if)# ipv6 enable
Routeur(config-if)# exit
Routeur(config)#

Red arrow.png Activez la fonction de routage du routeur

Routeur(config)# ipv6 unicast-routing
Routeur(config)# exit
Routeur#

Red arrow.png Vérifiez la configuration de l'interface

Routeur# show ipv6 interface brief
Question.jpg
Combien d'adresses IPv6 sont configurées sur le routeur ?




Vous allez maintenant tester la connectivité IPv6 de votre routeur.

Red arrow.png Essayez de joindre l'adresse du routeur d'un autre banc

Routeur# ping 2001:660:7301:TP00::x   x= numéro d'un autre banc

Red arrow.png Essayez de joindre une machine extérieure à la salle

Routeur# ping 2001:660:7301:1::1





Question.jpg
Pourquoi cette commande échoue-t-elle ? (indice: show ipv6 route)




Afin que le réseau soit informé des préfixes que vous allez déployer sur votre banc, votre routeur doit activer un processus de routage. Pour ce TP, nous utiliserons le protocole RIP.

Red arrow.png Activez le protocole RIP sur l'interface vers le réseau d'interconnexion

Routeur(config)# ipv6 router rip cisco
Routeur(config-router)# redistribute connected
Routeur(config-router)# exit
Routeur(config)# interface FastEthernet0/0
Routeur(config-if)# ipv6 rip cisco enable
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

Le protocole de routage RIP permet au routeur de votre banc de s'annoncer comme routeur pour tous les réseaux qu'il gère (redistribute connected). RIP permet aussi de récupérer des routes annoncées par d'autres routeurs.


Red arrow.png Vérifiez la table de routage IPv6 du routeur

Routeur# show ipv6 route
Question.jpg
Quelles routes ont été ajoutées à la table par l'activation du protocole RIP ?


Red arrow.png Essayez maintenant de joindre une machine extérieure à la salle

Routeur# ping 2001:660:7301:1::1




Question.jpg
Le résultat de ce test de joignabilité confirme-t-il votre hypothèse faite précédemment ?


Étape 4 : Mise en place du réseau serveur

Maintenant que votre routeur est connecté au réseau de la salle, vous allez configurer les réseaux de votre banc, en commençant par le réseau du PC serveur. Ce réseau va utiliser les fonctionnalités de configuration automatique des adresses.

Configuration du réseau serveur côté routeur

Vous allez maintenant configurer l'interface du routeur vers le réseau du serveur. Cette interface est virtuelle, car elle est connectée sur un des 2 VLANs qui sont remontés du commutateur vers le routeur par la même interface physique FastEthernet0/1. Le VLAN serveur étant numéroté 101, l'interface du routeur vers ce VLAN sera

FastEthernet0/1.101

Red arrow.png Activez l'interface physique et l'interface virtuelle du routeur vers le VLAN 101.

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/1
Routeur(config-if)# no shutdown
Routeur(config-if)# ipv6 enable
Routeur(config-if)# exit
Routeur(config)# interface FastEthernet0/1.101
Routeur(config-subif)# encapsulation dot1Q 101
Routeur(config-subif)# no shutdown
Routeur(config-subif)# ipv6 enable
Routeur(config-subif)# exit
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

Red arrow.png Vérifiez la configuration IPv6 des interfaces du routeur

Routeur# show ipv6 interface brief
Question.jpg
Combien d'adresses IPv6 sont configurées sur le routeur ?




Question.jpg
Pourquoi les adresses lien-local des interfaces physiques et virtuelles sont ici identiques ?




Question.jpg
Cela pose-t-il un problème d'avoir la même adresse sur ces deux interfaces ?





Regardons plus en détail la configuration de l'interface virtuelle

Routeur# show ipv6 interface FastEthernet0/1.101
Question.jpg
À quels groupes multicast est abonné le routeur ?




Question.jpg
Pourquoi est-il nécessaire d'avoir accès au groupe FF02::1




Question.jpg
Pourquoi est-il nécessaire d'avoir accès au groupe FF02::2




Question.jpg
La fonctionnalité DAD est activée par défaut. À quoi sert cette fonctionnalité ?




Question.jpg
La fonctionnalité Neighbor Discovery (ND) est activée par défaut. À quoi sert cette fonctionnalité ?




Vous allez maintenant configurer l'adresse IPv6 globale de l'interface FastEthernet0/1.101. Dans le plan d'adressage du TP, le préfixe IPv6 est le suivant :

2001:660:7301:TP_1::/64 _=numéro de banc

Les 64 derniers bits de l'adresse (identifiant d'interface) vont être déterminés à partir de l'identifiant matériel.

Red arrow.png Configurez l'interface du vlan 101 sur le routeur

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/1.101
Routeur(config-if)# ipv6 address 2001:660:7301:TP_1::/64 eui-64
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

Red arrow.png Vérifiez la configuration des adresses IPv6 sur le routeur

Routeur# show ipv6 interface brief
Question.jpg
Combien le routeur possède-t-il d'adresses globales ?




Vous allez maintenant configurer le mécanisme permettant la configuration automatique des "hosts" sur le réseau du PC serveur. Ce mécanisme permet au routeur d'annoncer sur le lien le préfixe IPv6 à utiliser pour fabriquer l'adresse, ainsi que d'autres paramètres comme le MTU. Ce mécanisme s'appelle Annonce de routeur (Routeur Advertisement ou RA).

Red arrow.png Configurer le mécanisme d'annonces de routeur sur le réseau serveur

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/1.101
Routeur(config-if)# ipv6 nd prefix 2001:660:7301:TP_1::/64 2592000 604800
Routeur(config-if)# ipv6 nd ra interval 30
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

Regardons plus en détail les paramètres renseignés par cette configuration :

ipv6 nd prefix 2001:660:7301:TP_1::/64 2592000 604800

Cette première ligne permet de fixer le préfixe IPv6 qui sera annoncé sur ce lien, conforme au plan d'adressage établi pour ce TP. Sont aussi renseignées 2 valeurs qui fixent pour ce préfixe sa durée de validité (durée en seconde pendant laquelle le host pourra considérer son adresse auto-configurée comme valide) et sa durée de préférence (durée en seconde pendant laquelle le host utilisera l'adresse auto-configurée de préférence par rapport à celles configurées à partir d'autres annonces).

ipv6 nd ra interval 30

Cette seconde ligne permet de fixer l'intervalle de ré-émission (en seconde) des messages d'annonce de routeur.

Ces messages sont maintenant diffusés sur le lien auquel le serveur est attaché.

Red arrow.png Vérifiez cette diffusion dans l'outil d'analyse de trame Wireshark

Question.jpg
Retrouvez les paramètres que vous avez configurés dans les messages en analysant les trames sous Wireshark

Configuration du PC serveur

Le réseau du PC serveur est maintenant configuré, il vous reste à configurer la machine.

Red arrow.png Vérifiez la configuration IPv6 initiale

Standard Linux
# ifconfig
# ip -6 addr
Question.jpg
Combien d'adresses IPv6 sont configurées sur la machine ?




Pour que le PC serveur se configure sur le réseau, il vous faut activer l'interface eth0 qui l'y connecte

Red arrow.png Activez l'interface eth0 de la machine serveur

# ifconfig eth0 up

Red arrow.png Vérifiez la configuration IPv6

Standard Linux
# ifconfig
# ip -6 addr
Question.jpg
Combien d'adresses IPv6 possède maintenant la machine ?




Red arrow.png Analysez les messages échangés à la configuration de l'interface avec l'outil d'analyse de trame

Question.jpg
Quels types de messages ont été capturés? Quel est leur objectif?





Red arrow.png Étudiez l'état de la table de routage

Standard Linux
# netstat -rn6
# ip -6 route
Question.jpg
Quels sont les paramètres obtenus par la configuration automatique ?




Red arrow.png Testez la connectivité acquise par l'auto-configuration

# ping6 2001:660:7301:TP00::_ _=numéro de votre banc
# ping6 2001:660:7301:TP00::_ _=numéro d'un autre banc
# ping6 2001:660:7301:1::1
# ping6 www.google.com
Question.jpg
Que manque-t-il pour que le dernier test de connectivité puisse réussir ?




La configuration du DNS n'est pas transmise par le message d'annonce de routeur.

Red arrow.png Ouvrez l'éditeur gedit dont l'icône se trouve sur le bureau

Red arrow.png Ouvrez le fichier /etc/resolv.conf et renseignez la valeur suivante, puis enregistrez

nameserver 2001:660:7301:1::1
TODO: Modifier /etc/resolvconf/resolvconf.d/base puis resolconf -u

Red arrow.png Vérifiez que le dernier test de connectivité fonctionne

La configuration automatique depuis le routeur permet de renseigner les paramètres nécessaires à la configuration de l'adresse d'une interface et de la table de routage. Par contre, ce mécanisme ne gère pas la configuration de paramètres des couches supérieures, comme par exemple la découverte automatique de l'adresse du serveur récursif DNS ("cache resolver"). Pour cela il est suggéré d'utiliser le service DHCPv6, que vous allez déployer en partie sur le réseau du PC client.

Etape 5 : Déploiement du réseau client

Vous allez maintenant mettre en place le réseau sur lequel est connecté le PC client. Au contraire du réseau serveur, ce réseau va assurer la configuration automatique des noeuds par le protocole DHCPv6.

L'architecture DHCP nécessite au minimum un client et un serveur. Dans le cadre de ce TP, vous allez déployer une architecture qui met aussi en oeuvre un relais, permettant ainsi au serveur DHCP de se situer dans n'importe quel réseau du site.

Dans le cadre de ce TP, l'architecture se représente de la manière suivante :

IPv6 Archi DHCPv6.png

  • Le PC serveur aura le rôle de serveur DHCPv6 ;
  • Le routeur aura le rôle de relais DHCPv6 ;
  • Enfin le PC client sera client DHCPv6.

Note : Une autre architecture peut être envisagée en utilisant le routeur comme serveur. Mais des limitations du microcode actuel ne nous permettent pas d'utiliser toutes les fonctionnalités de DHCPv6 sur ce matériel.

Stylo.png
Dans une architecture DHCPv6 avec relais, retrouvez les messages qui circulent dans les sens (1), (2), (3) et (4). Donnez les adresses source et destination de ces messages





Configuration de l'interface du routeur

Vous allez tout d'abord configurer l'interface du routeur vers le VLAN 102. D'après le plan d'adressage défini pour le TP, le préfixe utilisé pour ce réseau est :

2001:660:7301:TP_2::/64 _=numéro du banc

Cette interface sera configurée de la même manière que l'interface du VLAN 101, l'identifiant d'interface sera dérivé des paramètres matériel.

Red arrow.png Configurez l'interface du vlan 102 sur le routeur

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/1.102
Routeur(config-if)# no shutdown
Routeur(config-if)# encapsulation dot1Q 102
Routeur(config-if)# ipv6 address 2001:660:7301:TP_2::/64 eui-64
Routeur(config-if)# ipv6 enable

Vous allez maintenant configurer l'annonce de routeur sur ce réseau.

Question.jpg
Pour quelles raisons ces annonces sont toujours obligatoires sur un réseau utilisant DHCPv6 ?




Routeur(config-if)# ipv6 nd prefix 2001:660:7301:TP_2::/64 2592000 604800 no-autoconfig
Routeur(config-if)# ipv6 nd managed-config-flag
Routeur(config-if)# ipv6 nd ra interval 30
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

La configuration de l'annonce de préfixe diffère de deux façons de la première effectuée sur le VLAN serveur :

ipv6 nd prefix 2001:660:7301:TP_2::/64 2592000 604800 no-autoconfig

La mention no-autoconfig indique aux noeuds recevant cette annonce de ne pas utiliser ce préfixe pour la configuration automatique d'adresse.

ipv6 nd managed-config-flag

Cette configuration permet d'indiquer dans le message d'annonce que les noeuds doivent solliciter un serveur DHCP pour obtenir leur adresse.

Les annonces de routeur doivent être maintenant diffusées sur le lien

Red arrow.png Retrouvez ces messages dans l'outil d'analyse de trame

Question.jpg
Examiner les différences entre les annonces de routeur du VLAN serveur et client

Configuration du PC client

Vous allez maintenant activer l'interface eth0 du PC client et voir l'impact de cette annonce de routeur.

Red arrow.png Activez l'interface eth0 de la machine client

# ifconfig eth0 up

Red arrow.png Vérifiez la configuration IPv6 du client

Standard Linux
# ifconfig
# netstat -rn6
# ip -6 addr
# ip -6 route

Red arrow.png Analysez les messages échangés dans l'outil d'analyse de trame

Question.jpg
Quels sont les messages échangés ? Quel est leur objectif ?




Question.jpg
Le comportement du PC client est-il conforme à ce qui est attendu ?




Configuration de l'infrastructure DHCPv6

Vous allez maintenant mettre en place les éléments de l'architecture DHCPv6 qui vont permettre au PC client d'obtenir une adresse IPv6.

Sur le PC serveur, vous utiliserez l'implémentation WIDE-DHCPv6 en tant que serveur.

Red arrow.png Sur le PC serveur, ouvrez l'éditeur de fichier et entrez les configuration suivantes dans /etc/wide-dhcpv6/dhcp6s.conf :

option domain-name-servers 2001:660:7301:1::1;

interface eth0 {
       address-pool pool1 3600;
};

pool pool1 {
       range 2001:660:7301:TP_2::1000 to 2001:660:7301:TP_2::2000 ;
};

Red arrow.png Sauvegardez le fichier sous /etc/wide-dhcpv6/dhcp6s.conf

Cette configuration va permettre au serveur de distribuer des adresses sur le préfixe du VLAN client et de fournir aux clients l'adresse IPv6 du serveurs DNS récursif ("cache resolver") à utiliser.

Red arrow.png Démarrez le serveur

# dhcp6s -dDf -c /etc/wide-dhcpv6/dhcp6s.conf eth0

Red arrow.png Vérifiez l'écoute du serveur sur l'adresse multicast

# ip -6 maddr show
Question.jpg
Quelle est l'adresse multicast correspondant au serveur DHCPv6 ?




Vous allez maintenant configurer le relais DHCPv6 sur le routeur. Cette configuration va permettre d'indiquer au routeur sur quelle interface il doit jouer le rôle de relais DHCPv6 et à quelle destination relayer les requêtes.

Red arrow.png Configurez le relais DHCPv6 sur le routeur

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/1.102
Routeur(config-if)# ipv6 dhcp relay destination FF05::1:3 FastEthernet0/1.101
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#
Question.jpg
Comment est indiqué la destination des messages à relayer ? Quelle est l'autre option de configuration ?




Question.jpg
Quel est l'avantage de la solution choisie ?




Vous allez enfin configurer le client DHCPv6 sur le PC client. Vous utiliserez l'implémentation Dibbler.

Red arrow.png Sur le PC client, ouvrez l'éditeur de fichier et entrez les configuration suivantes dans /etc/dibbler/client.conf :

log-mode short
log-level 7
iface eth0
{
  ia {}
  option dns-server
}

Red arrow.png Sauvegardez le fichier sous /etc/dibbler/client.conf

Cette configuration permet d'indiquer au client DHCPv6 d'utiliser l'interface eth0 pour solliciter une adresse IPv6 (ia) et l'adresse du serveur DNS (option dns-server).

Red arrow.png Lancez le client DHCPv6

# dibbler-client run

Red arrow.png Sur le client, vérifiez le résultat de la configuration de l'interface et du DNS

Standard Linux
# ifconfig
# ip -6 addr
# cat /etc/resolv.conf

Red arrow.png Testez la connectivité

# ping6 2001:660:7301:TP00::_ _=numéro de votre banc
# ping6 2001:660:7301:TP00::_ _=numéro d'un autre banc
# ping6 2001:660:7301:1::1
# ping6 www.afnic.fr

Red arrow.png Examinez les messages DHCPv6 échangés dans l'outil d'analyse de trame

Question.jpg
Quels sont les messages échangés ? Quel est leur objectif




Question.jpg
Quelle est la valeur nécessaire à la configuration de l'adresse qui n'est pas transmise par DHCPv6 ?(indice: regardez la configuration du pool d'adresse côté serveur) Comment cette valeur est-elle récupérée ?




Étape 6 : Configuration d'un serveur de nommage

Vous allez maintenant configurer un serveur de nommage sur le PC serveur. Ce serveur va permettre de gérer la correspondance entre les adresses IPv6 déployées sur votre réseau et des noms, plus facile à manipuler. Les 2 PCs seront ensuite configurés pour utiliser ce serveur comme résolveur.

Pour pouvoir entrer plus facilement l'adresse du serveur DNS dans la configuration, vous allez donner à l'interface eth0 du serveur une adresse IPv6 statique plus facile à retenir. Elle utilisera le même préfixe IPv6 du lien, mais l'identifiant d'interface sera fixé sur une valeur choisie. Par exemple, vous pourrez choisir de fixer cette identifiant à la valeur du port DNS 53 comme ce serveur sera votre DNS.

Red arrow.png Configurez l'adresse statique du serveur

Standard Linux
# ifconfig eth0 add 2001:660:7301:TP_1::53/64
# ip -6 addr add 2001:660:7301:TP_1::53/64 dev eth0


Configuration de la résolution

Vous allez utiliser comme serveur de nommage l'implémentation BIND 9. Les noms qui seront utilisé dans le TP seront : serveur.tp pour le serveur, client.tp pour le client. Le serveur est déjà configuré pour prendre la configuration de la zone .tp dans le fichier /etc/bind/db.tp.

Red arrow.png Ouvrez le fichier /etc/bind/db.tp et éditez la configuration :

tp.  IN SOA  serveur.tp. nobody.localhost. (
                       1          ; serial
                       3600       ; refresh (1 hour)
                       900        ; retry (15 minutes)
                       3600000    ; expire (5 weeks 6 days 16 hours)
                       3600       ; minimum (1 hour)
                       )
              IN   NS      serveur.tp.
serveur.tp.   IN   AAAA   2001:660:7301:TP_1:<ID Interface>
                   AAAA   2001:660:7301:TP_1::53
client.tp.    IN   AAAA   2001:660:7301:TP_2:<ID Interface>
Question.jpg
Pourquoi ne publie-t-on pas les adresses lien-local dans le DNS




Red arrow.png Enregistrez le fichier et lancez le serveur DNS

# /etc/init.d/bind9 start

Red arrow.png Vérifiez que la résolution de nom fonctionne sur le serveur et le client

# dig -t AAAA serveur.tp @2001:660:7301:TP_1::53

Red arrow.png Observez les messages de résolution de nom sur l'outil d'analyse de trame

@2001:660:7301:TP_1::53 permet d'indiquer à la commande le serveur de nom à utiliser, ici le serveur local à la machine.

Question.jpg
Comment modifier la configuration du PC serveur pour qu'il utilise automatiquement le serveur DNS que vous venez de configurer pour la résolution de nom




Question.jpg
Comment modifier la configuration du PC client pour qu'il utilise le serveur DNS du PC serveur pour la résolution de nom ? (indice: une partie de cette configuration doit se faire sur le PC serveur)




Red arrow.png Mettez à jour les configurations du PC serveur et client pour utiliser le serveur de nommage et testez la résolution : Sur le serveur

# ping6 client.tp

Sur le client

# ping6 serveur.tp

Vous pouvez remarquer que le ping affiche l'adresse IPv6 à chaque ligne, au contraire d'un autre ping comme

# ping6 www.afnic.fr

Cela signifie que la résolution inverse adresse vers nom ne fonctionne pas.

Configuration de la résolution inverse

Comme la résolution de nom, la résolution inverse se base des zones déléguées hiérarchiquement. Mais ici, alors que les noms utilisent des zones textuelles comme .fr, la résolution inverse définit des zones (dites "inverses") à partir des adresses. Par exemple l'adresse 2001:660:3006:1::1:1 (adresse de ns3.nic.fr) est transformée en le nom de domaine inverse suivant :

1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa.

Le préfixe ip6.arpa. est commun à toutes les résolutions inverses IPv6. Les sous-domaines suivants sont déterminés à partir de chaque demi-octet (nibble, groupe de 4 bits) de l'adresse IPv6.

Stylo.png
Donnez le domaine inverse de l'adresse IPv6 de votre serveur DNS 2001:660:7301:TP_1::53




Le calcul de ces domaines inverses peut s'avérer propice aux erreurs. Heureusement il existe des outils permettant de les calculer automatiquement à partir des adresses. Vous allez utiliser l'outils ipv6calc pour calculer les résolutions inverses des adresses de votre réseau.

# ipv6calc -O revnibbles.arpa <Adresse IPv6>

Red arrow.png Calculez grâce à l'outil ipv6calc les résolutions inverses pour les adresses du serveur et du client

Red arrow.png Ajoutez l'entrée dans le fichier de configuration /etc/bind/named.conf.local pour le domaine de résolution inverse de votre TP

zone "tp" {
       type master;
       file "/etc/bind/db.tp";
};

zone "_.P.T.1.0.3.7.0.6.6.0.1.0.0.2.ip6.arpa." {
       type master;
       file "/etc/bind/db.tp.ipv6.rev";
};

Red arrow.png Editez le fichier /etc/bind/db.tp.ipv6.rev contenant la configuration de la résolution inverse Dans ce fichier, nous utiliserons la macro $ORIGIN qui permet de factoriser le suffixe commun des résolutions inverses

/etc/bind/db.tp.ipv6.rev

$ORIGIN _.P.T.1.0.3.7.0.6.6.0.1.0.0.2.ip6.arpa.
$TTL 7200
@       IN SOA  serveur.tp. nobody.localhost. (
                       1          ; serial
                       3600       ; refresh (1 hour)
                       900        ; retry (15 minutes)
                       3600000    ; expire (5 weeks 6 days 16 hours)
                       3600       ; minimum (1 hour)
                       )
       IN      NS      serveur.tp.
 3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1    IN   PTR  serveur.tp.

Red arrow.png Ajoutez les résolutions inverses pour les autres adresses de votre banc.

Red arrow.png Enregistrez le fichier. Relancer le serveur de nommage

# /etc/init.d/bind9 restart

Red arrow.png Testez la configuration de la résolution inverse

# dig -x 2001:660:7301:TP_1::53
# ping6 serveur.tp

Etape 7 : Configuration de règles de filtrage

Vous allez maintenant mettre en place des règles de filtrages en bordure du réseau de votre banc. Ces règles vont vous permettre de restreindre l'accès à des services de votre réseau en fonction de l'adresse des clients distants, puis de restreindre l'utilisation des adresses utilisés par les clients de votre réseau pour atteindre des services distants.

Filtrage de l'accès en IPv6 à un service ssh

Vous allez maintenant mettre en place des règles de filtrage pour l'accès au service SSH (console distante sécurisée) actuellement déployé sur votre machine serveur.

Red arrow.png Vérifiez que le serveur ssh est en écoute sur IPv6 sur la machine serveur

# netstat -taun | grep 22

Red arrow.png Depuis le serveur, testez la connexion par ssh sur le serveur d'un autre banc

# ssh user@2001:660:7301:TPW1::53 (W= numéro du banc + 1)
# ssh user@2001:660:7301:TPY1::53 (Y= numéro du banc - 1)

IPv6 permet à n'importe quelle machine de votre site de mettre en place un service adressable directement depuis l'exterieur. Il est donc nécessaire de filtrer les accès entrants. Vous allez ici restreindre l'accès à votre serveur ssh au banc vous précédant, et interdire les accès pour tout les autres bancs.

Red arrow.png Sur la console du routeur, entrez les commandes suivantes.

Router#configure terminal
Router(config)#ipv6 access-list secu-in      (crée une access-list appelée secu-in)
Router(config-ipv6-acl)#permit tcp 2001:660:7301:TPY1::/64 2001:660:7301:TP_1::53/64 eq 22     (Y=banc-1)
Router(config-ipv6-acl)#permit tcp any any established
Router(config-ipv6-acl)#permit icmp any any
Router(config-ipv6-acl)#permit udp any eq 53 any
Router(config-ipv6-acl)#permit udp any eq 521 any
Router(config-ipv6-acl)#deny any any
Router(config-ipv6-acl)#exit
Router(config)#interface FastEthernet 0/0
Router(config-if)#ipv6 traffic-filter secu-in in
Router(config-if)#exit
Router(config)#exit

Par ces commandes, vous avez créés une liste de restriction d'accès (access list) pour les paquets entrant dans votre réseau. Cette liste autorise les accès suivants:

  • Les connexions TCP sur le port 22 provenant du banc Y et à destination de votre machine serveur (permit tcp 2001:660:7301:TPY1::/64 2001:660:7301:TP_1::53 eq 22)
  • Les autres connexions TCP à condition qu'elles aient été initiées depuis l'intérieur (permit tcp any any established). Cette règle permet de retrouver les restrictions d'accès d'un NAT à port restreint.
  • L'ICMP (permit icmp any any). Rappelez vous que l'ICMP est important pour le bon fonctionnement d'IPv6 et ne présente plus les risques inhérents en IPv4. Il ne faut donc plus le filtrer systématiquement.
  • L'UDP port 53 pour le DNS (permit udp any eq 53 any)
  • L'UDP port 521 pour le RIP (permit udp any eq 521 any)

Toutes les autres types de connexions sont interdis (deny any any). Cette règle est associée à l'interface vers l'extérieur FastEthernet 0/0 pour le trafic entrant par la commande : ipv6 traffic-filter secu-in in.

Red arrow.png Demandez maintenant aux bancs +1 et -1 de tester l'accès à votre service ssh

L'accès ne devrait être valable que depuis le banc -1

Red arrow.png Activez le ssh sur la machine client de votre banc, demandez aux autres bancs de s'y connecter

L'accès devrait être refusé.

Filtrage de mauvais usage des adresses IPv6

Vous allez maintenant simuler depuis votre banc une tentative d'usurpation d'une adresse d'un autre banc pour atteindre de manière imprévue un banc tier. Cette manipulation a pour but de vous démontrer qu'il faut aussi filtrer le trafic sortant de votre réseau, et notamment les adresses IPv6 utilisées comme adresses source et qui peuvent être modifiées pour masquer des attaques.

Vous allez tout d'abord configurer le client avec une adresse d'un autre banc. Il vous faut d'abord désactiver l'adresse IPv6 configurée par DHCPv6 puis configurer manuellement une adresse.

Red arrow.png Terminer le processus du client DHCPv6 afin de désactiver l'adresse IPv6 de l'interface eth0

Red arrow.png Configurez le client avec une adresse d'un autre banc

# ip -6 addr add 2001:660:7301:TPW2::999/128 dev eth0   (W=banc+1)

Red arrow.png Essayez de pinguer le serveur d'un autre banc

# ping6 2001:660:7301:TPY1::53 (Y=banc-1)

Red arrow.png Visualisez le résultat sur le moniteur de votre banc, ainsi que des bancs W et Y.

Question.jpg
Pourquoi ne voyez vous pas les réponses du serveur du banc Y depuis le client de votre banc?


Cette simple usurpation d'adresse peut être un vecteur d'attaque important. De plus, n'importe quel client peut effectuer cette manipulation. Il est donc nécessaire de contrôler en bordure du réseau que les adresses qui en sortent soient des adresses que vous avez déléguées. Pour cela, nous allons ajouter une liste de filtrage sur le routeur qui va vérifier que l'adresse source des paquets est bien dans le préfixe attribué à votre banc (2001:660:7301:TP_0::/60).

Red arrow.png Mettez en place le filtrage sur l'adresse source en sortie du routeur par les commandes suivantes :

Router#configure terminal
Router(config)#ipv6 access-list secu-out    (crée une access-list appelée secu-out)
Router(config-ipv6-acl)#permit tcp 2001:660:7301:TP_0::/60 any
Router(config-ipv6-acl)#permit icmp 2001:660:7301:TP_0::/60 any
Router(config-ipv6-acl)#permit udp 2001:660:7301:TP_0::/60 any eq 53
Router(config-ipv6-acl)#permit udp 2001:660:7301:TP00::_/64 any eq 521
Router(config-ipv6-acl)#deny any any
Router(config-ipv6-acl)#exit
Router(config)#interface FastEthernet 0/0
Router(config-if)#ipv6 traffic-filter secu-out out
Router(config-if)#exit

Red arrow.png Tester de nouveau le ping

Le ping ne devrait maintenant plus passer, ni perturber les autres bancs.

Red arrow.png Reconfigurez l'interface eth0 du client

# ip -6 addr del 2001:660:7301:TPW2::999/128 dev eth0   (W=banc+1)

Red arrow.png Relancez le client DHCPv6

Red arrow.png Tester de nouveau le ping

Comme le client utilise maintenant une adresse légitime, l'usage du ping est de nouveau permis.

Étape 8 : Déploiement d'un réseau double pile ("dual-stack")

Vous allez maintenant voir l'intégration d'IPv6 en parallèle d'un réseau IPv4, que l'on appelle configuration double-pile. Vous avez sur votre banc le réseau du PC serveur actuellement uniquement IPv6. Nous allons y configurer la connectivité IPv4 et pouvoir ainsi intégrer sur le PC serveur des services joignables en IPv4 et IPv6.

Au contraire de la configuration IPv6 du réseau serveur qui faisait appel à un adressage global, nous allons utiliser un adressage privé en IPv4 et mettre en place un NAT (Network Adress Translator) sur le routeur.

Configuration du routeur

Red arrow.png Connectez le routeur au réseau en IPv4

Routeur# configure terminal
Routeur(config)# interface FastEthernet0/0
Routeur(config-if)# ip address 10.TP.0._ 255.255.255.0
Routeur(config-if)# ip route 0.0.0.0 0.0.0.0 10.TP.0.254
Routeur(config-if)# exit
Routeur(config)# exit
Routeur#

Red arrow.png Testez la connectivité

Routeur# ping 10.TP.0.254
Routeur# ping 192.108.119.134


Red arrow.png Configurez l'interface du VLAN 101 en IPv4

Router# configure terminal
Router(config)# interface FastEthernet0/1.101
Router(config-subif)# ip address 192.168.0.1 255.255.255.0
Router(config-subif)# exit
Router(config)# exit
Router#
Question.jpg
Combien de plans d'adressage IPv4 privé sont mis en oeuvre sur le routeur ?




Red arrow.png Configurez la fonction de NAT

Router# configure terminal
Router(config)# interface FastEthernet0/0
Router(config-if)# ip nat outside
Router(config-if)# exit
Router(config)# interface FastEthernet0/1.101
Router(config-if)# ip nat inside
Router(config-if)# exit
Router(config)# ip nat pool nat101 10.TP.0._ 10.TP.0._ prefix-length 24
Router(config)# ip nat inside source list 1 pool nat101 overload
Router(config)# access-list 1 permit 192.168.0.0 0.0.0.255
Router(config)# exit
Router#

Red arrow.png Configurez l'interface eth0 du serveur

# ifconfig eth0 192.168.0.2/24
# route add default gw 192.168.0.1

Red arrow.png Testez la connectivité IPv4 depuis le serveur

# ping 192.168.0.1
# ping 192.108.119.134
# ping www.google.com

Red arrow.png Examinez la résolution de nom qui s'est effectuée lors du dernier test dans l'outil d'analyse de trame

Question.jpg
Quelle propriété du DNS permet que le serveur puisse résoudre cette dernière adresse ?




Étape 9 : Accès aux services Web

Vous allez maintenant mettre en place les outils permettant au client d'accéder à l'ensemble des services d'Internet, quelle que soit la version du protocole IP utilisée, tout en gardant ce client sur un réseau IPv6-only.

Tout d'abord, examinez l'impact de cette connectivité sur l'accès aux services :

Red arrow.png Sur le PC serveur, ouvrez le navigateur web et allez sur la page suivante : http://www.sncf.fr

Red arrow.png Sur le PC client, ouvrer le navigateur web et allez sur la page : http://www.sncf.fr

Question.jpg
À quoi est due la différence de résultat (indice: examiner les trames capturées)




La solution immédiate pour résoudre ce problème serait de déployer IPv4 sur le réseau du client. Vous allez mettre en oeuvre une approche différente en déployant un proxy sur le PC serveur qui fera passerelle entre une version du protocole et une autre.

Vous utiliserez l'implémentation Apache du proxy. Elle va nécessiter la mise en place d'un Virtual-Host spécial pour cette fonction.

Red arrow.png Modifiez le fichier /etc/apache2/ports.conf pour indiquer à Apache d'écouter sur le port 8080 réservé au proxy

Listen 80
Listen 8080

Red arrow.png Activez les fonctions de proxy et créez le fichier du Virtual-Host à partir de la configuration proxy

# a2enmod proxy
# a2enmod proxy_http
# a2enmod proxy_connect

Red arrow.png Modifiez le fichier /etc/apache2/sites-available/proxy-v6

<VirtualHost *:8080>
<IfModule mod_proxy.c>
       #turning ProxyRequests on and allowing proxying from all may allow
       #spammers to use your proxy to send email.

       ProxyRequests On

       <Proxy *>
               AddDefaultCharset off
               Order deny,allow
               Deny from all
               Allow from 2001:660:7301:TP_2::/64

 ...

La configuration d'un proxy se fait toujours en indiquant quelles adresses ont droit d'accéder à cette fonctionnalité (sinon risque de rebond). C'est le sens de la configuration

               Order deny,allow
               Deny from all
               Allow from 2001:660:7301:TP_2::/64

Ici seulement les machines du réseau client ont le droit d'accéder à ce proxy.

Red arrow.png Activez le Virtual-Host et démarrez le serveur Apache

# a2ensite proxy-v6
# systemctl start apache2
TODO: Configurer le client Firefox


Red arrow.png Relancez le navigateur web et testez la navigation

Red arrow.png Examinez les paquets échangés entre le client, le proxy et les sites visités

Remise à zéro des bancs

Red arrow.png Déconnectez tous les câbles réseaux entre les équipements et la baie de brassage.

Red arrow.png Sur le routeur et le commutateur, effacez les configurations avec la commande suivante :

Switch#write erase
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] <return>
[OK]
Erase of nvram: complete
Switch#
3d23h: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram
Switch#reload

System configuration has been modified. Save? [yes/no]: no
Proceed with reload? [confirm]<return>
...
Would you like to terminate autoinstall? [yes]: yes


        --- System Configuration Dialog ---

Would you like to enter the initial configuration dialog? [yes/no]: no
Switch>

Red arrow.png Eteignez les PCs avec la commande :

# shutdown

Broadcast message from root@pc-b27-21 (pts/3) (Mon Aug 11 17:44:28 2008): 

The system is going down for reboot NOW!
Outils personnels