Exercice
Exercice
1
1|Activer le routage IPv6 et configurer manuellement des
adresses IPv6
(a)Vérifiez que le routage IPv6 est activé sur le routeur, sinon, activez le.
● Un routeur dont le routage IPv6 est activé affiche une table de routage même vide. Pour voir la
table de routage, utiliser la commande :
● Si vous obtenez un résultat de la commande ci-dessus c’est que le routage IPv6 est activé
● Pour activer le routage IPv6 utiliser la les commandes ci-dessous : (vérifiez avec la commande ci-
dessus)
● Par ailleurs, CEF(CISCO Express Forwarding) permet sur les routeurs CISCO d'accélérer le routage.
(b)Vérifiez que IPv6 est activé sur chaque hôte et serveur; Sinon, activez le.
● Les hôtes du banc d’essaie utilisent Linux et on peut utiliser la commande:
$ ifconfig
● Si IPv6 est activé, toutes interfaces connectées auront une Adresse Lien locale (LLA). Ci-dessous
un exemple de ce que vous pourriez avoir :
$ ifconfig
(c) Sans y configurer des adresses, activez IPv6 sur toutes les interfaces de votre routeur.
● Configurer une adresse IPv6 sur une interface active automatiquement IPv6 sur celle-ci. Pour
activer IPv6 sur une interface sans y configurer une adresse, utilisez la commande suivantes :
(d)Toujours sans configurer aucune adresse, testez la connectivité IPv6 à tous les autres périphériques
de votre pod (sur chaque lien).
● Lorsque IPv6 est activé sur une interface, elle génère automatiquement et s’assigne une adresse
Lien Locale (LLA). Pour “pinger” la LLA d'un routeur nous devons spécifier l'interface de sortie
(comme dans un ping étendu).
● Le format général d’un ping sur Cisco IOS est: ping {ipv6-address}
● Le système vous demandera de spécifier l'interface de sortie, puis appuyez sur Entrée
# ping fe80::6aa8:6dff:fe42:ba10
Output Interface: vlan14
$ ping6 fe80::e6d3:f1ff:fe89:da83%eth1
(e) Configurez les adresses IPv6 sur vos périphériques en fonction du plan d'adressage fourni. (NE PAS
modifier les interfaces de maintenance - vlan99)
● Sur Cisco IOS la commande générale pour configurer une adresses est:
● Par exemple l’interface G0/0 sur R01 sur le banc d’essaie de Maurice est:
● Sur linux, pour configurer façon permanente une adresse IPv6 sur une interface, nous devons
modifier le fichier de configuration. Pour Ubuntu, il s’agit de :
“/etc/network/interfaces.d/eth1.ipv6”.
● Faire une copie du le fichier de configuration original à l’aide de la commande « cp ». Vous aurez
besoin des privilèges root.
$ sudo cp /etc/network/interfaces.d/eth1.ipv6
/etc/network/interfaces.d/eth1.ipv6.orig
● Utiliser l'éditeur “nano” ou tout autre éditeur pour ouvrir le fichier « eth1.ipv6 » en mode édition.
3
● Dans notre cas, ouvrir et éditer le fichier « /etc/network/interfaces.d/eth1.ipv6 »
(f) Configurer les routeurs par défaut appropriés sur chacun des hôtes et serveur.
gateway <adresse-ipv6>
******* pour attribuer routeur IPv6 par défaut à une interface*******
gateway 2001:db8:10:555::2
(g)Vérifiez que tous les équipements sont accessibles avec les nouvelles adresses configurées en la
section (e) ci-dessus.
4
● Depuis le routeur. Le format général de la commande ping sur IOS est :
Ping {adresse-ipv6}
# ping 2001:db8:10:555::2
Depuis les hôtes/Serveurs. Le format général de la commande ping pour un hôte IPv6 sur un système
ubuntu est
ping6 {adresse-ipv6|nom-hoôte}
$ ping6 2001:db8:10:555::2
(a) Configurez les hôtes et le serveur pour utiliser le serveur comme serveur DNS.
● Les adresses IP du serveur DNS et la liste des noms de domaines sont configurées dans le fichier
« /etc/resolv.conf », comme suit :
Exemple :
nameserver 2001:DB8:C001:10::2
search podX.local
(b) Depuis un hôte, vérifiez que le service DNS existe sur le serveur et qu’il est prêt à recevoir de requêtes
DNS.
Si le service DNS fonctionne sur un serveur, celui-ci écoute sur le port 53 pour IPv4 et IPv6. On peut
vérifier cela avec un telnet sur l’adresse IP du serveur DNS et le numéro de port. Si le service DNS
fonctionne sur le serveur distant, vous devriez avoir un message “connecté”.
Exemple:
$ telnet 2001:db8:c001:10::2 53
Trying 2001:db8:c001:10::2…
Connected to 2001:db8:c001:10::2.
Escape character is '^]'.
(c) Depuis un hôte, assurez-vous que le serveur peut résoudre les adresses IPv4 de l'autre hôte et du serveur
● Vous pouvez utiliser une de ces 3 commandes:
$ host h21
h21 has address 10.10.21.2
(d) Insérez des enregistrements AAAA pour les adresses IPv6 statiques des hôtes et du server dans le fichier
de zone direct du serveur. Ledit fichier de zone se trouve sur le serveur </etc/bind/db.podX>
● Dans un server DNS utilisant BIND, le format d’un enregistrement “AAAA” dans le fichier de zone
direct est :
● Par exemple :
(e) Rechargez le service “Bind” pour s’assurer que les modifications du fichier de zone sont correctes et
ont été prises en compte (corriger les erreurs au besoin)
● Utilisez la commande “service” pour recharger “BIND”
(f) Vérifiez que vous pouvez résoudre par leur noms host1, host2 et le serveur en vous connectant sur
chacun d’eux.
$ host h21
h21 has address 10.10.21.2
H21 has IPv6 address 2001:db8:10:221::2
$ ping6 h21
6
● prefix fdX:c001:51ac:hh::/64 où :
● X = est tel que défini dans la section ii (page 4)
● hh est le numéro d'hôte par exemple l’hôte avec le nom h51 aura hh = 51
Générons le préfixe à configurer sur le routeur pour qu’il l’annonce en utilisant le “Préfix Informations
Option” de son “RA”. Considérons host11 de Cape Town par exemple, X = 40 hh = 11 Notre préfixe
sera fd40:c001:51ac:11::/64.
● L’hôte ne doit pas avoir besoin d’une passerelle par défaut pour atteindre tout autre hôte du
même sous-réseau.
Ce point fait référence à l’usage de l’option “L”. Heureusement sur Cisco IOS, l’option “L” est activée
par défaut lorsqu’une des méthodes ci-dessus est utilisée. Elle peut être désactivée en utilisant les
options “no-advertise” ou “offlink”.
(b) Configurez les hôtes pour générer automatiquement une adresse à partir des informations envoyées
par le routeur.
● Utiliser la méthode décrite dans la section 1 (e) ci-dessus pour réactiver eth1
(c) Afficher sur chaque hôte les informations IPv6 de l’interface eth1
● pour afficher les adresses IPv6 configurées et/ou générées sur une interface sur Ubuntu nous
pouvons utiliser les commandes “ifconfig” ou ”ip”.
$ ifconfig <nom-interface>
--ou--
$ ip -6 addr show <nom-interface>
● Dans notre cas, nous utilisons “ifconfig” sur l’interface “eth1”, donc nous aurons sur h11:
$ ifconfig eth1
eth1 Link encap:Ethernet HWaddr 32:db:42:08:ea:4f
inet addr:10.20.11.2 Bcast:10.20.11.255 Mask:255.255.255.0
7
inet6 addr: 2001:db8:20:111:30db:42ff:fe08:ea4f/64 Scope:Global
inet6 addr: fe80::30db:42ff:fe08:ea4f/64 Scope:Link
inet6 addr: 2001:db8:20:111::2/64 Scope:Global
inet6 addr: fd20:c001:d4c:11:30db:42ff:fe08:ea4f/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6704 errors:0 dropped:0 overruns:0 frame:0
TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:999128 (999.1 KB) TX bytes:21306 (21.3 KB)
(d) configurez le routeur pour ne pas annoncer le préfixe de l'adresse configurée manuellement en 2.1
dans son “RA”.
● Sur Cisco IOS, lorsqu'une adresse IPv6 /64 est affectée à une interface comme dans l'exercice 1
(e) ci-dessus, le préfixe est automatiquement annoncé par le routeur. Pour éviter cela, nous
devons dire au routeur à ne pas annoncer le préfixe correspondant comme suit:
● Exemple:
● Affichons à nouveau les informations IPv6 de l’interface “eth1”, de h11, en utilisant une des
commandes expliquées sur la question (c) ci-dessus
$ ifconfig eth1
eth1 Link encap:Ethernet HWaddr 32:db:42:08:ea:4f
inet addr:10.20.11.2 Bcast:10.20.11.255 Mask:255.255.255.0
inet6 addr: fe80::30db:42ff:fe08:ea4f/64 Scope:Link
inet6 addr: 2001:db8:20:111::2/64 Scope:Global
inet6 addr: fd20:c001:d4c:11:30db:42ff:fe08:ea4f/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6704 errors:0 dropped:0 overruns:0 frame:0
TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:999128 (999.1 KB) TX bytes:21306 (21.3 KB)
Dans la question (c) ci-dessus nous avions deux adresses IPv6 commençant par le même préfixe
“2001: DB8:20:111::/64”:
● l'adresse IPv6 qui a été configuré manuellement
● une autre générée à partir tu “RA” envoyé par le routeur
8
mais sur ce résultat, nous n’avons que le préfixe configuré manuellement; en effet, l'objectif de la
question (g) était d'empêcher le routeurs d’annoncer le préfixe de l'adresse IPv6 qui a été configuré
manuellement.
(a) connectez vous a l’un des hotes, et “pingez” les 2 autres hôtes par leur nom de domaine
complet. Le ping a t-il réussie?
Dans l'extrait ci-dessous nous faisons un ping vers h22.pod2.local depuis H21
# ping6 h22.pod2.local
PING h22.pod2.local (h22.pod2.local) 56 octets de données
64 octets de h22.pod2.local: icmp_seq = 1 = ttl 63 temps = 0,533 ms
64 octets de h22.pod2.local: icmp_seq = 2 ttl = 63 temps = 0,768 ms
64 octets de h22.pod2.local: icmp_seq = 3 ttl = 63 temps = 0.702 ms
● le serveur DNS doit être l'adresse IPv6 du serveur dans votre pod
Allez dans le répertoire approprié et ouvrez en modification le fichier “dhcpd6.conf” comme indiqué
ci-dessous:
authoritative;
log-facility local6;
default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
#option dhcp6.rapid-commit;
option dhcp6.name-servers 2001:DB8:20:251::2; [Ceci est votre adresse du serveur
de pod]
option dhcp6.domain-search "pod2.local";
option dhcp6.info-refresh-time 21600;
● La liste des noms de domaine doit être “pod<R>.local”, où “R” est le numéro de routeur de
votre pod
Allez dans le même répertoire que ci-dessus, ouvrez et modifiez le fichier “dhcpd6.conf” comme suit:
authoritative;
log-facility local6;
default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
#option dhcp6.rapid-commit;
option dhcp6.name-servers 2001:DB8:20:251::2;
9
option dhcp6.domain-search "pod2.local";
option dhcp6.info-refresh-time 21600;
● Configurer le routeur pour informer les hôtes que les informations de configuration
supplémentaires doivent être obtenu par DHCPv6.
Sur le routeur, nous devons activer l’option de configuration “Other” dans son RA. Cette configuration
se fait en mode interface:
(config)#ipv6 unicast-routing
(config)#interface gigabitethernet 0/0
(config-if)#ipv6 nd other-config-flag
Générons d'abord le préfixe à utiliser; Utilisons le banc d’essai de Cap Town comme exemple
● Sur le banc d’essai de Cap Town: X = 40
● Pour le POD4 par exemple, nous avons R = 4
Ainsi notre serveur doit avoir les plages d’adresses suivantes:
● fd40:c001:dc4:41::/64 pour tous les hôtes du même sous réseau que H41
10
● fd40:c001:dc4:42::/64 64 pour tous les hôtes sur le même sous réseau que H42
Ensuite nous configurons les préfixes ci-dessus en ajoutant une entrée “subnet6” pour chaque plage
d’adresse dans la fichier de configuration DHCP “/etc/dhcp/dhcpd6.conf”. La syntaxe générale est
la suivante.
subnet6 <préfixe-local>/<longueur-préfixe> {
***** L'interface par laquelle les adresses IP doivent être didtribué doivent
avoir une adresse IP du préfixe ci-dessus ******
range6 <début-plage> <fin-plage>;
}
Exemple:
subnet6 2001:DB8:20:10::/64 { }
Vous pouvez également démarrer le serveur en mode débogage pour afficher les échanges entre
les clients et le serveur.
(b) Sur le routeur, configurez l'interface connectée aux hôtes comme suit:
○ le routeur doit envoyer l’option “M” dans son message RA afin que les hôtes utilisent DHCPv6
○ Assurez-vous que les communications entre hôtes du même préfixe soient directes et ne passe
pas par le routeur par défaut.
○ le routeur doit transférer les messages DHCP des hôtes au serveur.
Chacune des interfaces du routeur connecté aux différents sous-réseaux doit avoir une adresse IPv6
du même préfixe que celui qui sera annoncé par le serveur DHCP sur ledit sous-réseaux. L’exemple
ci-dessous illustre comment le serveur DHCP donnera des adresses différentes en fonction des sous-
réseaux :
11
Puisque vous ne voulez pas que les hôtes obtiennent les adresses via SLAAC à partir des préfixes que
vous venez de configurer sur les interfaces, vous devez configurer le routeur pour ne pas annoncer
ces préfixes (mettre l’option A = 0 dans PIO). Ceci est similaire à exercice 3 (c) ci-dessus.
(config-if)#ipv6 nd managed-config-flag
Configurer maintenant le routeur comme un agent relais DHCPv6 (Relayer les messages multicats
DHCPv6):
(config)#interface <nom-interface>
r04.cpt(config-if)#ipv6 dhcp relay destination <adresse-ip-server-dhcpv6>
(c) Configurez les hôtes pour recevoir leurs adresses via DHCPv6
Modifions le fichier “/etc/network/interfaces.d/ipv6.eth1” comme suit :
Dans notre cas, nous utilisons interface “eth1”, nous aurons donc :
(d) De votre hôte, trouvez et écrivez les adresses qui ont été attribuees aux autres hôtes dans votre pod
Utilisons l’une de ces commandes “ifconfig” ou “ip”
$ ifconfig <interface-name>
--ou--
$ ip -6 addr show <interface-name>
Dans notre cas, nous utilisons “ ifconfig” sur l’interface “eth1”, donc sur H11 nous aurons:
$ ifconfig eth1
eth1 Link encap:Ethernet HWaddr 32:db:42:08:ea:4f
inet addr:10.20.11.2 Bcast:10.20.11.255 Mask:255.255.255.0
inet6 addr: fe80::30db:42ff:fe08:ea4f/64 Scope:Link
inet6 addr: fd20:c001:d4c:11::20/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:614 (614.0 B) TX bytes:1440 (1.4 KB)
(e) Affichez la base de données DHCP du serveur. Quelles adresses a t-il distribué aux hôtes? Sont elles les
mêmes que ci-dessus?
Pour afficher la base de données, nous pouvons ouvrir le fichier de bail (lease) DHCPv6 en mode
lecture seule. Ce fichier se trouve dans: “/var/lib/dhcp/dhcpd6.leases”
server-duid "\000\001\000\001!\015\370\263\226\353\354\201;%";
server-duid "\000\001\000\001!\015\370\263\226\353\354\201;%";
ia-na "O\352\010B\000\001\000\001!\015\373:2\333B\010\352O" {
cltt 5 2017/07/28 13:40:12;
iaaddr fd20:c001:d4c:11::20 {
binding state active;
preferred-life 604800;
max-life 2592000;
ends 0 2017/08/27 13:40:12;
}
}
13
6|Vérifier la sélection d’adresse
Objectif: Observer la logique de sélection d'adresses dans IPv6 lorsque plusieurs adresses existent sur une
interface.
(a) Depuis votre premier hôte, faites un ping vers :
○ L’adresse lien locale (LLA)du routeur.
○ L’adresses globale du routeur directement connecté.
○ L’autre hôte dans votre pod.
ping6 <adresse>
(b) Examinez la table de “forwarding” de l’un des hôtes et notez quelle adresse a été utilisé pour
chacune des destinations ci-dessus.
● Nous pouvons utiliser “netstat” ou “route” pour afficher la table de routage comme suit :
netstat -6 -rn
route -6 -n
● La colonne “use” indique le nombre de fois qu’une adresse spécifique a été utilisé comme
source d'un paquet.
● Pour vérifier quelle adresse est utilisée, exécutez la commande “route” ou “netstat” avant le
ping et comparer les résultats.
Exemple:
14
Destination Next Hop Flag Met Ref Use If
2001:db8:20:111::/64 :: U 256 0 1 eth1
fd10:c001:d4c:11::/64 :: U 256 0 0 eth1
fd10:c001:51ac:11::/64 :: U 256 0 0 eth1
RX bytes:614 (614.0 B) TX bytes:1440 (1.4 KB)
[Extrait]
----- Après le premier ping la route 2001:DB8:20:111::/64 a été utilisé--------
$ route -6 -n
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2001:db8:20:111::/64 :: U 256 1 4 eth1
fd10:c001:d4c:11::/64 :: U 256 0 0 eth1
fd10:c001:51ac:11::/64 :: U 256 0 0 eth1
------ Après le second ping la route FD10:C001:51ac:11::/64 a été utilisé-------
$ route -6 -n
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2001:db8:20:111::/64 :: U 256 1 4 eth1
fd10:c001:d4c:11::/64 :: U 256 0 0 eth1
fd10:c001:51ac:11::/64 :: U 256 1 4 eth1
------Après le troisieme ping la route FD10:C001:d4c:11::/64 a été utilisé------
$ route -6 -n
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2001:db8:20:111::/64 :: U 256 1 4 eth1
fd10:c001:d4c:11::/64 :: U 256 1 6 eth1
fd10:c001:51ac:11::/64 :: U 256 1 4 eth1
(a) Configurez le serveur pour distribuer des /56 du préfixe fdX:C00R:B10c::/48 (X et R sont tesl que définis
précédemment)
Générer d'abord le préfixe à utiliser pour le POD4 du banc d’essai Cape Town comme suit :
X = 40 et R = 4
Configurer ce bloc comme un pool de préfixes sur le serveur en ajoutant la ligne suivante à la section
“subnet6” du fichier de configuration DHCP ”/etc/dhcpd/dhcpd6.conf”
● Par exemple pour voir tous les préfixes /56 disponibles, vous pouvez utiliser tout utilitaire de
calcul d’adresse IPv6 pour trouver le premier et dernier bloc.
● Dans notre cas :
15
sixdeploy@s41:~$ sudo dhcpd -6 -cf /etc/dhcp/dhcpd6.conf
● Vous pouvez également démarrer le serveur en mode débogage pour voir les échanges
entre les clients et le serveurs.
(b) Configurer le routeur (CE) pour demander un préfixe qui sera stocké dans la variable “DelegatedPrefix”
● pour configurer le CPE pour demander un préfixe au serveur, nous utilisons les commandes
suivantes sur l'interface WAN du CE :
(config)#interface <nom-interface>
(config-if)#ipv6 dhcp client pd <nom-prefixe>
● demandons un préfixe délégué sur l’interface vlan 451 et stockons le dans une variable
appelée: ”DelegatedPrefix”
r04.cpt(config)#int vlan451
r04.cpt(config-if)#ipv6 dhcp client pd DelegatedPrefix
● Les préfixes Alloués sont stockés dans le fichier “/var/lib/dhcp/dhcpd6.leases” ,nous allons
utiliser la commande “cat” pour afficher le contenu du fichier.
server-duid "\000\001\000\001\036i\242\261\000PV\252v\316";
(d) Sur le routeur, vérifiez quel préfixe a été alloué par le serveur. Est-il différent du préfixe de l’exercice (c)
ci-dessus?
● Pour vérifier le préfixe que le routeur a reçu par DHCPv6, utilisez la commande suivante:
**** fd40:c004:b10c:FF0::/56 est le préfixe reçu comme dans l’exercice (c) *****
[extrait]
(e) configurer le routeur pour attribuer automatiquement deux /64 du préfixe délégué à chacun de ses
interfaces connectée aux hôtes.
(config)#interface <nom-interface>
(config-if)#ipv6 add <nom-prefixe-general> ::<IID>/64
r04.cpt(config)#int vlan441
r04.cpt(config-if)#ipv6 address DelegatedPrefix ::41:0:0:0:1/64
r04.cpt(config)#int vlan442
r04.cpt(config-if)#ipv6 address DelegatedPrefix ::42:0:0:0:1/64
(f) Sur le routeur, affichez des adresses globales IPv6 des interfaces connectées aux hôtes, sont-elles liées
au préfixe délégué?
● Il suffit de faire un “show ipv6 interface” sur les interfaces connectées aux hôtes. Voici un
extrait du résultat de l’interface “vlan 441” sur le routeur 4.
17
(g) Configurer deux hôtes afin d’utiliser SLAAC.
● Pour configurer SLAAC sur les hôtes, nous allons éditer le fichier
“/etc/network/interfaces.d/eth1.ipv6” comme suit :
● Dans notre cas, nous utilisons l’interface “eth1”, donc nous aurons
$ ifconfig <nom-interface>
● Dans notre cas, nous utilisons l’interface “eth1” ; Sur sur H41 nous aurons
[extrait]
● Sur H42
[extrait]
(i) Sur chaque hôte, trouvez et écrivez les adresses qui ont été allouées aux autres hôtes.
(j) Vérifiez la connectivité IP entre tous les hôtes en utilisant leurs adresses venant du préfixes délégués
18
PING
fd40:c004:b10c:ff42:292a:cef5:25b9:ca56(fd40:c004:b10c:ff42:292a:cef5:25b9:ca56)
56 data bytes
64 bytes from fd40:c004:b10c:ff42:292a:cef5:25b9:ca56: icmp_seq=1 ttl=63
time=7.11 ms
64 bytes from fd40:c004:b10c:ff42:292a:cef5:25b9:ca56: icmp_seq=2 ttl=63
time=0.606 ms
***** le resultat ci-dessus montre que H41 peut atteindre H42 *****
Username: 6deploy
Password: ******
r01.cpt#
19
User Access Verification
Username: 6deploy
Password: ******
r01.cpt#
● De l'hôte H11 au serveur S11 (pour des mesures de sécurité, le port 23 IPv6 n’est pas ouvert sur
les systèmes Ubuntu, nous allons donc utiliser le port 22 que nous savons ouvert pour ssh):
**Le résultat ci-dessus indique qu’une session Telnet a réussie sur le port 22**
**Le résultat ci-dessus indique qu’une session Telnet a réussie sur le port 22**
Vérifions maintenant que les hôtes et le serveur peuvent accéder au routeur via ssh.
20
sixdeploy@h41:~$ ssh 6deploy@2001:db8:40:151::2
The authenticity of host '2001:db8:40:151::2 (2001:db8:40:151::2)' can't be
established.
ECDSA key fingerprint is SHA256:D6XZlc0YyqioQmu8blRx40xyd1q8xnu9mjUi9HOuqa8.
Are you sure you want to continue connecting (yes/no)? Yes
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
**Le résultat ci-dessus indique qu’une session SSH a réussie sur le port 22**
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
**Le résultat ci-dessus indique qu’une session SSH a réussie sur le port 22**
21
(b) Configurez le routeur a n’accepter que des connections SSH vers l’adresse IPv6 statique du
serveur et uniquement à partir de l’adresse IPv6 statique de l'hôte #1.
● Pour créer une liste de contrôle d'accès “access lists”, les commandes suivantes peuvent être
utilisées :
configure terminal
ipv6 access-list access-list-name
deny | permit protocol <source-ipv6> [port] <destination-ipv6> [port]
interface interface-id
ipv6 traffic-filter access-list-name { in | out }
r01.cpt#conf t
r01.cpt(config)#ipv6 access-list SSHONLY-TO-SERVER
r01.cpt(config-ipv6-acl)#permit tcp 2001:db8:40:111::2/128 2001:db8:40:151::2/128
eq 22 log
r01.cpt(config-ipv6-acl)#deny any 2001:db8:40:151::2/128 log
r01.cpt(config-ipv6-acl)#permit any any
r01.cpt(config-ipv6-acl)#exit
r01.cpt(config)#interface vlan 110
r01.cpt(config-if)#ipv6 traffic-filter SSHONLY-TO-SERVER out
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
**Le résultat ci-dessus indique qu’une session SSH a réussie sur le port 22**
***Le résultat ci-dessus indique que l'accès SSH n'est pas autorisé depuis H12***
(c) Configurez le routeur pour n’accepter que des connections FTP vers l’adresse IPv6 statique du
serveur et uniquement à partir de l’adresse IPv6 statique de l'hôte #2.
Maintenant, nous devons modifier la liste de contrôle d'accès et inclure l'accès FTP de H12 au serveur.
22
● Tout d'abord affichons les listes de contrôle d'accès pour voir quel numéro de séquence utiliser
:
sh access-lists
IPv6 access list SSHONLY-TO-SERVER
permit tcp host 2001:DB8:40:111::2 host 2001:DB8:40:110::2 eq 22 log (27
matches) sequence 10
deny ipv6 any host 2001:DB8:40:110::2 log sequence 20
permit ipv6 any any sequence 30
Dans notre cas, nous allons choisir un numéro de séquence entre 10 et 20 pour nous assurer que le “
FTP permit” vienne avant le “deny any”.
r01.cpt#conf t
r01.cpt(config)#IPv6 access-list SSHONLY-TO-SERVER
r01.cpt(config-ipv6-acl)#sequece 15 permit tcp 2001:db8:40:112::2/128
2001:db8:40:151::2/128 eq ftp log
23
9|Configurer le routage intra-domaine OSPF
(a) Configurez OSPFv3 selon la topologie ci-dessus. Les paquets OSPF ne doivent PAS être envoyés sur les
interfaces connectées aux hôtes et au serveur
N'oubliez pas d'utiliser la commande "IPv6-unicast-routing" pour activer le routage IPv6 sur le routeur. Les
identifiants des routeurs sont uniquement attribués en mode de configuration globale dans une instance
OSPF IPv6. Les ID des routeurs sont très importants et facilite la vie lors des dépannages.
Il existe plusieurs manières d’empêcher les mises à jour OSPF d'aller vers une ou plusieurs interfaces
spécifiques. L’une des méthodes recommandées est de rendre toutes les interfaces du routeur passives
par défaut, puis de rendre active celles qui doivent annoncer et recevoir les mises à jour OSPF.
(config)#ipv6 unicast-routing
(config)#ipv6 router ospf 1
(config-rtr)#router-id 1.1.1.1
(config-rtr)#passive-interface default
(config-rtr)#no passive-interface GigabitEthernet0/0
(config-rtr)#no passive-interface GigabitEthernet0/1
(config-rtr)#no passive-interface vlan14
OSPFv3 se configure en mode interface. Dans la syntaxe ci-dessous (cisco IOS), nous essayons de former
une relation entre R1 et R4 dans l’aire 14. Vous devez effectuer cette procédure pour toutes les interfaces
du routeur que vous souhaitez voir les préfixes dans les mises à jour d’OSPF.
(config)#int vlan 14
(config-if)#ipv6 ospf 1 area 14
● Vérifiez les voisins OPSF avec la commande suivante (Nous utilisons R4 dans l'exemple ci-dessous)
:
Les interfaces de loopback sont directement connectées au routeur, nous pouvons donc utiliser le mot clé
'connected' dans la commande “distribute”.
Si en plus des loopbacks 'il existe d'autres interfaces connectées sur le routeur que vous ne voulez pas
redistribuer, vous pouvez créer une liste de contrôle d'accès autorisant les interfaces à redistribuer et
appliquer cette liste avec une commande “route-map” par exemple.
Créez une liste d'accès correspondant à l'interface que vous souhaitez redistribuer. Dans notre cas
24
Loopback 1 sur R1
● Créer la “route-map” pour appliquer la liste d'accès que vous avez créée
● Vous pouvez ensuite utiliser la route-map dans la commande “redistribute” sous le processus OSPF
IPv6
(c) Combien de routes OSPFv3 (différentes) y a-t-il dans chaque routeur et quels sont leurs types?
(d) Vérifiez que vous pouvez “pinguez” les interfaces de loopback des autres routeurs du banc d’essai sur
IPv4 et IPv6.
Utiliser la commande "ping" ( sur les adresses IPv4 et IPv6 dans IOS) pour tester l'accessibilité de l'adresse
IPv6 de l’interface de loopback d'un routeur distant
(e) Enregistrez la configuration de votre routeur dans la flash avec le nom <ville>-r0x-ospf23.cfg (où <ville>
est le nom de la ville où a lieu la formation et "x" est le numéro du routeur). Vous aurez besoin de cette
configuration plus tard.
Utilisez la commande "copy running-config flash: [nom que vous voulez attribuer au fichier de
configuration]" pour réaliser cette tâche. Veuillez suivre la convention de nommage donnée dans
l'instruction ci-dessus pour éviter toute confusion.
Dans l'exemple ci-dessous la ville où se tient la formation est Detroit et nous sauvegardons la
configuration sur la mémoire flash du routeur R1
Utilisez la commande "show ip protocols" pour afficher l'ID de processus de la session OSPFv2 sur le
routeur
#sh ip protocols
*** Le routage IP est compatible NSF ***
Ajouter le préfixe "no" à la commande de configuration globale initiale pour désactiver le processus de
routage comme suit:
26
10|Configurer MP-BGPv4 pour échanger des préfixes IPv6
(a) Sur votre routeur, chargez la configuration appelée “bgp-pre.cfg” à partir de flash
(b) Vérifiez que : Seuls les adresses de loopback du même ASN sont transportées dans OSPFv3
Tout d'abord, nous créons deux sessions BGP distinctes, l'une sur IPv4 et l'autre sur IPv6. Notez que les
adresses a.b.c.d et a:b:c:e:f:g:h appartiennent au même voisin qui est dual stack. Ces voisins sont ensuite
activés individuellement dans les familles d'adresses respectives. Pour les sessions iBGP, n'oubliez pas de
définir “next-hop-self”.
Dans cette section, nous créons des sessions BGP sur IPv4 et IPv6.
Vous devez passer sous les familles d'adresses respectives sous le processus BGP du routeur pour
configurer les paramètres liés aux familles d'adresses.
27
11|Configurer des tunnels manuels
Objectif: Connectez des îlots IPv6 via un réseau uniquement IPv4 à l'aide de tunnels manuels 6in4 .
(a) Rétirer toutes les adresses IPv6 de tous les liens d'interconnexions entre votre pod et les pods voisins. (il
n'y a donc plus de connexions IPv6 natives entre les pods)
Vos précédentes sessions IPv6 OSPFv3 et IPv6 e-BGP devraient maintenant échouer. Vous avez
maintenant des îlots de pods dual-stack uniquement reliés via IPv4
Nous utiliserons la forme négative de la commande "ipv6 address" sur les interfaces inter-liens. La forme
générale est la suivante:
r02.cpt#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
(b) Vérifiez que vous les hôtes et les serveurs sur les pods voisins ne sont plus accessibles sur IPv6.
28
***** De h11 sur pod1 au serveur s21 sur pod2*****
(c) Créez un tunnel manuel 6in4 entre votre pod et les pods voisins. Ces tunnels doivent avoir des adresses
IPv6 pris du plan d'adresses donné en 1.2. Utilisez les interfaces de loopback comme source et
destination des tunnels.
● Les commandes suivantes sont utilisées pour configurer les tunnels manuels :
r01.cpt#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
r01.cpt(config)#interface tunnel 12
r01.cpt(config-if)#no ip address
r01.cpt(config-if)#ipv6 address 2001:db8:40:12::2/127
r01.cpt(config-if)#tunnel source loopback 1
r01.cpt(config-if)#tunnel destination 10.40.1.2
r01.cpt(config-if)#tunnel mode ipv6ip
r01.cpt(config-if)#interface tunnel 13
r01.cpt(config-if)#no ip address
r01.cpt(config-if)#ipv6 address 2001:db8:40:13::2/127
r01.cpt(config-if)#tunnel source loopback 1
r01.cpt(config-if)#tunnel destination 10.40.1.3
r01.cpt(config-if)#tunnel mode ipv6ip
r01.cpt(config)#interface tunnel 14
r01.cpt(config-if)#no ip address
r01.cpt(config-if)#ipv6 address 2001:db8:40:14::2/127
r01.cpt(config-if)#tunnel source loopback 1
r01.cpt(config-if)#tunnel destination 10.40.1.4
r01.cpt(config-if)#tunnel mode ipv6ip
**La configuration identique doit être faite sur les différents routeurs. Par
exemple le configuration du tunnel entre R02 du POD2 à R01 du POD1 est la
suivante**
r02.cpt(config)#interface tunnel 12
r02.cpt(config-if)#no ip address
29
r02.cpt(config-if)#ipv6 address 2001:db8:40:12::3/127
r02.cpt(config-if)#tunnel source loopback 1
r02.cpt(config-if)#tunnel destination 10.40.1.1
r02.cpt(config-if)#tunnel mode ipv6ip
(d) Modifiez la session OSPFv3 et eBGP pour utiliser les tunnels nouvellement créés pour leurs sessions IPv6.
(a) Commençons par construire la topologie du réseau avec OSPFv3
Pour OSPFv3, il suffit de l'activer sur les interfaces tunnel pour qu'il construise la topologie du réseau
avec la commande suivante:
r01.cpt(config)#interface tunnel 12
r01.cpt(config-if)#ipv6 ospf 1 area 0
r01.cpt(config-if)#interface tunnel 13
r01.cpt(config-if)#ipv6 ospf 1 area 0
*****La configuration identique doit être faite sur les différents routeurs, par
exemple la configuration du tunnel entre R02 du POD2 à R01 du POD1 est la
suivantes*****
r02.cpt(config)#interface tunnel 12
r02.cpt(config-if)#ipv6 ospf 1 area 0
Puisque nous utilisons les mêmes adresses IPv6 que dans l'exercice 10, il n'y a rien à faire, les sessions
eBGP se ré-activeront d'elles-mêmes.
(e) Vérifiez que vous pouvez maintenant atteindre sur IPv6, tous les autres hôtes dans tous les autres
réseaux.
30
^C
--- 2001:db8:40:221::2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.327/1.546/1.981/0.307 ms
31