Une fois que les configurations sont en place à chaque extrémité, il ne reste plus qu'à tester cette nouvelle liaison WAN virtuelle. Comme toute séquence de tests qui se respecte, on remonte les couches de la modélisation une à une.
- Au niveau commutation de trame
-
On affiche la table des adresses MAC connues du commutateur
wan-sw
à partir de la console du système hôte.$
sudo ovs-appctl fdb/show wan-sw port VLAN MAC Age 1 0 de:ad:be:ef:00:01 9 2 0 de:ad:be:ef:00:03 9On retrouve bien les adresses MAC «fantaisistes» attribuées aux deux routeurs lors du lancement des machines virtuelles. Voir la section intitulée « Instances de systèmes virtuels ».
- Au niveau du routeur Hub
-
-
Les journaux système révèlent l'établissement de la session PPPoE suivie du lancement du démon PPP et des transactions LCP et NCP pour les deux protocoles de couche réseau IPv4 et IPv6.
hub pppoe-server[106]: Session 1 created for client de:ad:be:ef:00:03 (203.0.113.10) on eth1 using Service-Name '' hub pppd[106]: pppd 2.4.6 started by etu, uid 0 hub pppd[106]: using channel 4 hub pppd[106]: Using interface ppp0 hub pppd[106]: Connect: ppp0 <--> /dev/pts/1 hub pppd[106]: sent [LCP ConfReq id=0x1 <auth chap MD5> <magic 0xcd537d21>] hub pppd[106]: rcvd [LCP ConfAck id=0x1 <auth chap MD5> <magic 0xcd537d21>] hub pppd[106]: rcvd [LCP ConfReq id=0x1 <mru 1492> <magic 0xf9d3d6a1>] hub pppd[106]: sent [LCP ConfAck id=0x1 <mru 1492> <magic 0xf9d3d6a1>] hub pppd[106]: sent [LCP EchoReq id=0x0 magic=0xcd537d21] hub pppd[106]: sent [CHAP Challenge id=0xad <d3ea7672130fd1d22b91cfbe6e1355da>, name = "hub"] hub pppd[106]: rcvd [LCP EchoReq id=0x0 magic=0xf9d3d6a1] hub pppd[106]: sent [LCP EchoRep id=0x0 magic=0xcd537d21] hub pppd[106]: rcvd [LCP EchoRep id=0x0 magic=0xf9d3d6a1] hub pppd[106]: rcvd [CHAP Response id=0xad <d66b72abdc872fdba648a68009be6514>, name = "spoke"] hub pppd[106]: sent [CHAP Success id=0xad "Access granted"] hub pppd[106]: Initializing PAM (2) for user spoke hub pppd[106]: ---> PAM INIT Result = 0 hub pppd[106]: Attempting PAM account checks hub pppd[106]: PAM Account OK for spoke hub pppd[106]: PAM Session opened for user spoke hub pppd[106]: user spoke logged in on tty intf ppp0 hub pppd[106]: local LL address fe80::5c3a:77a1:aad1:a619 hub pppd[106]: remote LL address fe80::b474:5671:fc2c:ddd8 hub pppd[106]: local IP address 203.0.113.1 hub pppd[106]: remote IP address 203.0.113.10
-
Une entrée de la table de routage a bien été définie en fonction des éléments donnés ci-dessus.
#
ip route ls default via 192.0.2.1 dev eth0 192.0.2.0/26 dev eth0 proto kernel scope link src 192.0.2.10 203.0.113.10 dev ppp0 proto kernel scope link src 203.0.113.1Côté IPv6, l'activation de l'interface
ppp0
a bien été prise en compte.#
ip -6 route ls dev ppp0 fe80::/10 metric 1 pref medium fe80::/10 proto kernel metric 256 pref medium -
Pour identifier la liste des processus associés au démon
pppoe-server
, on peut utiliser une commande du type suivant.#
pstree -p $(pidof pppoe-server) pppoe-server(10628)───pppd(10692)───sh(10693)───pppoe(10695)Un autre affichage donne la liste des arguments associés aux démons. Le lancement du démon
pppd
viapppoe-server
impose une liste de paramètres autres que ceux définis dans le fichier/etc/ppp/pppoe-server-options
.#
ps -fwwp $(pgrep -d, ppp) UID PID PPID C STIME TTY TIME CMD root 10628 1 0 oct.10 ? 00:00:00 pppoe-server -I eth1 -C BRAS -L 203.0.113.1 -p /etc/ppp/ip-range root 10692 10628 0 oct.10 ? 00:00:00 pppd pty /usr/sbin/pppoe -n -I eth1 -e 1:de:ad:be:ef:00:03 -S '' \ file /etc/ppp/pppoe-server-options \ 203.0.113.1:203.0.113.10 \ nodetach \ noaccomp \ nobsdcomp \ nodeflate \ nopcomp \ novj \ novjccomp \ default-asyncmap nobody 10695 10693 0 oct.10 ? 00:00:00 /usr/sbin/pppoe -n -I eth1 -e 1:de:ad:be:ef:00:03 -S
-
- Au niveau du routeur Spoke
-
-
Comme avec l'autre extrémité du lien point à point, les journaux système montrent les phases de l'établissement de la session PPPoE avant le dialogue PPP. En revanche, c'est le code fourni par le noyau Linux (kernel) qui est utilisé cette fois-ci.
spoke pppd[2211]: Plugin rp-pppoe.so loaded. spoke pppd[2218]: pppd 2.4.6 started by etu, uid 0 spoke pppd[2218]: Failed to disconnect PPPoE socket: 114 Operation already in progress spoke pppd[2218]: Send PPPOE Discovery V1T1 PADI session 0x0 length 12 spoke pppd[2218]: dst ff:ff:ff:ff:ff:ff src de:ad:be:ef:00:03 spoke pppd[2218]: [service-name] [host-uniq aa 08 00 00] spoke pppd[2218]: Recv PPPOE Discovery V1T1 PADO session 0x0 length 44 spoke pppd[2218]: dst de:ad:be:ef:00:03 src de:ad:be:ef:00:01 spoke pppd[2218]: [AC-name BRAS] [service-name] [AC-cookie 4a f2 52 4d 60 60 27 c6 00 63 97 78 35 3b 93 03 1f 1f 00 00] [host-uniq aa 08 00 00] spoke pppd[2218]: Send PPPOE Discovery V1T1 PADR session 0x0 length 36 spoke pppd[2218]: dst de:ad:be:ef:00:01 src de:ad:be:ef:00:03 spoke pppd[2218]: [service-name] [host-uniq aa 08 00 00] [AC-cookie 4a f2 52 4d 60 60 27 c6 00 63 97 78 35 3b 93 03 1f 1f 00 00] spoke pppd[2218]: Recv PPPOE Discovery V1T1 PADS session 0x4 length 12 spoke pppd[2218]: dst de:ad:be:ef:00:03 src de:ad:be:ef:00:01 spoke pppd[2218]: [service-name] [host-uniq aa 08 00 00] spoke pppd[2218]: PADS: Service-Name: '' spoke pppd[2218]: PPP session is 4 spoke pppd[2218]: Connected to de:ad:be:ef:00:01 via interface eth1 spoke pppd[2218]: using channel 4 spoke pppd[2218]: Using interface ppp0 spoke pppd[2218]: Connect: ppp0 <--> eth1 spoke pppd[2218]: sent [LCP ConfReq id=0x4 <mru 1492> <magic 0xf4de2406>] spoke pppd[5046]: rcvd [LCP ConfAck id=0x1 <mru 1492> <magic 0xf9d3d6a1>] spoke pppd[5046]: sent [LCP EchoReq id=0x0 magic=0xf9d3d6a1] spoke pppd[5046]: rcvd [LCP EchoReq id=0x0 magic=0xcd537d21] spoke pppd[5046]: sent [LCP EchoRep id=0x0 magic=0xf9d3d6a1] spoke pppd[5046]: rcvd [CHAP Challenge id=0xad <d3ea7672130fd1d22b91cfbe6e1355da>, name = "hub"] spoke pppd[5046]: sent [CHAP Response id=0xad <d66b72abdc872fdba648a68009be6514>, name = "spoke"] spoke pppd[5046]: rcvd [LCP EchoRep id=0x0 magic=0xcd537d21] spoke pppd[5046]: rcvd [CHAP Success id=0xad "Access granted"] spoke pppd[5046]: CHAP authentication succeeded: Access granted spoke pppd[5046]: CHAP authentication succeeded spoke pppd[5046]: peer from calling number DE:AD:BE:EF:00:01 authorized spoke pppd[5046]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>] spoke pppd[5046]: sent [IPV6CP ConfReq id=0x1 <addr fe80::b474:5671:fc2c:ddd8>] spoke pppd[5046]: rcvd [IPCP ConfReq id=0x1 <addr 203.0.113.1>] spoke pppd[5046]: sent [IPCP ConfAck id=0x1 <addr 203.0.113.1>] spoke pppd[5046]: rcvd [IPV6CP ConfReq id=0x1 <addr fe80::5c3a:77a1:aad1:a619>] spoke pppd[5046]: sent [IPV6CP ConfAck id=0x1 <addr fe80::5c3a:77a1:aad1:a619>] spoke pppd[5046]: rcvd [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>] spoke pppd[5046]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0>] spoke pppd[5046]: rcvd [IPV6CP ConfAck id=0x1 <addr fe80::b474:5671:fc2c:ddd8>] spoke pppd[5046]: local LL address fe80::b474:5671:fc2c:ddd8 spoke pppd[5046]: remote LL address fe80::5c3a:77a1:aad1:a619 spoke pppd[5046]: Script /etc/ppp/ipv6-up started (pid 5112) spoke pppd[5046]: rcvd [IPCP ConfNak id=0x2 <addr 203.0.113.10>] spoke pppd[5046]: sent [IPCP ConfReq id=0x3 <addr 203.0.113.10>] spoke pppd[5046]: rcvd [IPCP ConfAck id=0x3 <addr 203.0.113.10>] spoke pppd[5046]: not replacing default route to eth0 [192.0.2.1] spoke pppd[5046]: local IP address 203.0.113.10 spoke pppd[5046]: remote IP address 203.0.113.1 spoke pppd[5046]: Script /etc/ppp/ip-up started (pid 5114) spoke pppd[5046]: Script /etc/ppp/ipv6-up finished (pid 5112), status = 0x0 spoke pppd[5046]: Script /etc/ppp/ip-up finished (pid 5114), status = 0x0
-
On retrouve une entrée symétrique dans la table de routage. Il faut cependant noter que la route par défaut IPv4 n'a pas été remplacée par l'activation du lien WAN. C'est un problème sur lequel il faut revenir par la suite.
#
ip route ls default via 192.0.2.1 dev eth0 192.0.2.0/26 dev eth0 proto kernel scope link src 192.0.2.11 203.0.113.1 dev ppp0 proto kernel scope link src 203.0.113.10Côté IPv6, l'activation de l'interface
ppp0
a bien été prise en compte.#
ip -6 route ls dev ppp0 fe80::/10 metric 1 pref medium fe80::/10 proto kernel metric 256 pref medium -
Comme le noyau fournit l'essentiel du code, un seul processus est présent en espace utilisateur.
#
ps -fwwp $(pgrep -d, ppp) UID PID PPID C STIME TTY TIME CMD root 5046 1 0 oct.10 ? 00:00:00 /usr/sbin/pppd call dsl-provider
-
- Au niveau réseau
-
Les tests traditionnels ICMP et ICMP6 confirment que les deux routeurs peuvent échanger des paquets. Depuis le routeur
spoke
, on lance les commandes suivantes.$
ping -c2 203.0.113.1 PING 203.0.113.1 (203.0.113.1) 56(84) bytes of data. 64 bytes from 203.0.113.1: icmp_seq=1 ttl=64 time=1.12 ms 64 bytes from 203.0.113.1: icmp_seq=2 ttl=64 time=0.845 ms --- 203.0.113.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.845/0.987/1.129/0.142 ms$
ping6 -c2 fe80::5c3a:77a1:aad1:a619%ppp0 PING fe80::5c3a:77a1:aad1:a619%ppp0(fe80::5c3a:77a1:aad1:a619) 56 data bytes 64 bytes from fe80::5c3a:77a1:aad1:a619: icmp_seq=1 ttl=64 time=1.28 ms 64 bytes from fe80::5c3a:77a1:aad1:a619: icmp_seq=2 ttl=64 time=0.808 ms --- fe80::5c3a:77a1:aad1:a619%ppp0 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 0.808/1.044/1.281/0.238 ms