Dans cette section, on créé un réseau de conteneur attaché à chaque routeur de la topologie triangle. L'objectif est de peupler les tables de routage en ajoutant un lien OSPF au delà des routeurs.
Une fois ces réseaux en place, il est possible de réaliser des tests de connectivité entre conteneurs et d'optimiser les métriques.
Cette partie reprend le contenu de la section Réseau d'hébergement de conteneurs du support de travaux pratiques Routage inter-VLAN et protocole PPPoE.
Q182. |
Quels sont les paquets à installer pour mettre en place un commutateur d'accès et le gestionnaire de conteneurs Incus ? Consulter la section Réseau d'hébergement de conteneurs du support Routage inter-VLAN et protocole PPPoE.
|
|||
sudo apt -y install openvswitch-switch dnsmasq incus |
||||
Q183. |
Quelles sont les modifications à apporter
au fichier de déclaration YAML
|
|||
Voici un extrait du fichier openvswitch: {} bridges: asw-host: openvswitch: {} |
||||
Q184. |
Comment ajouter une nouvelle interface virtuelle commutée (Switched Virtual Interface) qui servira de passerelle par défaut pour tous les conteneurs hébergés ? Rechercher dans la documentation Netplan des exemples de déclarations d'interfaces de type SVI appartenant à des VLANs. |
|||
Voici une copie complète du fichier network: version: 2 ethernets: enp0s1: dhcp4: false dhcp6: false accept-ra: false nameservers: addresses: - 172.16.0.2 - 2001:678:3fc:3::2 openvswitch: {} bridges: asw-host: openvswitch: {} vlans: # # Temporary Internet access # enp0s1.52: # id: 52 # link: enp0s1 # dhcp4: true # dhcp6: false # accept-ra: true # R2 -> R1 enp0s1.440: id: 440 link: enp0s1 addresses: - 10.44.0.2/29 - fe80::1b8:2/64 # R2 -> R3 enp0s1.442: id: 442 link: enp0s1 addresses: - 10.44.2.2/29 - fe80::1ba:2/64 vlan20: id: 20 link: asw-host addresses: - 10.20.0.1/24 - fd14:ca46:3864:14::1/64 Avec ce fichier de déclaration l'interface d'accès temporaire
est commentée et ne servira plus dans la suite des manipulations. À
partir de la question suivante, tout le trafic des routeurs
|
||||
Q185. |
Comment publier le nouveau réseau d'hébergement via OSPF ? Revoir la question Q : Q167 sur l'activation OSPF au niveau de chaque interface. |
|||
On active le protocole OSPF
pour l'interface commutée virtuelle de chacun des trois routeurs.
Voici un exemple pour le routeur
Une fois cette opération réalisée, le routage dynamique est
complet et le trafic des routeurs ping -qc2 9.9.9.9 PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.
--- 9.9.9.9 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 28.502/29.014/29.526/0.512 ms
ping -qc2 2620:fe::fe PING 2620:fe::fe (2620:fe::fe) 56 data bytes
--- 2620:fe::fe ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 40.675/47.384/54.094/6.709 ms |
||||
Q186. |
Comment administrer et initialiser le gestionnaire de conteneurs Incus ? Consulter la section Réseau d'hébergement de conteneurs. |
|||
Pour commencer, l'utilisateur normal doit appartenir aux deux
groupes système for grp in incus incus-admin do sudo adduser etu $grp done Comme l'affectation de groupe se joue à la connexion, il faut se déconnecter/reconnecter pour rendre l'attribution effective. groups etu adm sudo users frrvty frr incus-admin incus Pour l'initialisation du gestionnaire de conteneur, on utilise
un fichier de déclaration préparé en amont. Voici une copie du
fichier config: {} networks: [] storage_pools: - config: {} description: "" name: default driver: dir profiles: - config: {} description: "" devices: eth0: name: eth0 nictype: bridged parent: asw-host type: nic vlan: 20 root: path: / pool: default type: disk name: default projects: [] cluster: null L'initialisation se fait à partir de ce fichier. cat incus.yaml | incus admin init --preseed On peut afficher le résultat de cette initialisation du gestionnaire de conteneurs avec l'instruction suivante. incus profile show default En cas d'erreur, il est aussi possible d'éditer le profil par défaut. incus profile edit default
|
||||
Q187. |
Comment mettre en place l'adressage automatique IPv4 et IPv6 dans le réseau d'hébergement ? Consulter la section Adressage automatique dans le réseau d'hébergement du document Routage inter-VLAN et protocole PPPoE |
|||
On créé un fichier de configuration pour le service dnsmasq en l'adaptant au contexte du plan
d'adressage de chaque routeur. Voici un exemple pour le routeur
cat << EOF | sudo tee /etc/dnsmasq.conf # Specify Container VLAN interface interface=vlan10 # Enable DHCPv4 on Container VLAN dhcp-range=10.10.0.20,10.10.0.200,3h # Enable IPv6 router advertisements enable-ra # Enable SLAAC dhcp-range=::,constructor:vlan10,ra-names,slaac # Optional: Specify DNS servers dhcp-option=option:dns-server,172.16.0.2,9.9.9.9 dhcp-option=option6:dns-server,[2001:678:3fc:3::2],[2620:fe::fe] # Avoid DNS listen port conflict between dnsmasq and systemd-resolved port=0 EOF Une fois le fichier de configuration en place, on peut relancer le service et afficher son état. sudo systemctl restart dnsmasq systemctl status dnsmasq
|
||||
Q188. |
Comment créer 3 conteneurs avec un adressage ? Consulter la section Configuration et lancement des conteneurs du document Routage inter-VLAN et protocole PPPoE. |
|||
On lance la création des 3 conteneurs demandés avec une boucle. for i in {0..2}; do incus launch images:debian/trixie c$i; done incus ls +------+---------+--------------------+---------------------------------------------+-----------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +------+---------+--------------------+---------------------------------------------+-----------+-----------+ | c0 | RUNNING | 10.20.0.33 (eth0) | fd14:ca46:3864:14:216:3eff:fe2c:c5b9 (eth0) | CONTAINER | 0 | +------+---------+--------------------+---------------------------------------------+-----------+-----------+ | c1 | RUNNING | 10.20.0.87 (eth0) | fd14:ca46:3864:14:216:3eff:fe76:f0d0 (eth0) | CONTAINER | 0 | +------+---------+--------------------+---------------------------------------------+-----------+-----------+ | c2 | RUNNING | 10.20.0.153 (eth0) | fd14:ca46:3864:14:216:3eff:fe2c:d169 (eth0) | CONTAINER | 0 | +------+---------+--------------------+---------------------------------------------+-----------+-----------+ |
||||
Q189. |
Comment vérifier la publication des réseaux de conteneurs dans l'aire OSPF ? On vérifie que l'interface commutée virtuelle (Switched Virtual Interface )est bien active pour chacune des deux versions du protocole de routage dynamique. |
|||
Voici un exemple de configuration pour le routeur
vlan20 is up ifindex 6, MTU 1500 bytes, BW 0 Mbit <UP,LOWER_UP,BROADCAST,RUNNING,MULTICAST> Internet Address 10.20.0.1/24, Broadcast 10.20.0.255, Area 0.0.0.0 MTU mismatch detection: enabled Router ID 2.0.0.4, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 2.0.0.4 Interface Address 10.20.0.1/24 No backup designated router on this network Multicast group memberships: <None> Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 No Hellos (Passive interface) Neighbor Count is 0, Adjacent neighbor count is 0 Graceful Restart hello delay: 10s
vlan20 is up, type BROADCAST Interface ID: 6 Internet Address: inet : 10.20.0.1/24 inet6: fd14:ca46:3864:14::1/64 inet6: fe80::2865:4aff:fe35:fdd0/64 Instance ID 0, Interface MTU 1500 (autodetect: 1500) MTU mismatch detection: enabled Area ID 0.0.0.0, Cost 10 State DR, Transmit Delay 1 sec, Priority 1 Timer intervals configured: No Hellos (Passive interface) DR: 2.0.0.4 BDR: 0.0.0.0 Number of I/F scoped LSAs is 1 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off] 0 Pending LSAs for LSAck in Time 00:00:00 [thread off] Graceful Restart hello delay: 10s Authentication Trailer is disabled |
||||
Q190. |
Comment valider l'accès à l'Internet depuis les conteneurs ? On reprend la liste des tests ICMP pour valider l'acheminement du trafic au niveau de la couche réseau et on lance une mise à jour du catalogue des paquets pour valider la résolution des noms. |
|||
À partir du routeur
|
||||
Q191. |
Comment vérifier que tous les réseaux de conteneurs sont bien visibles depuis les routeurs de la topologie triangle ? Afficher les tables de routage IPv4 et IPv6 de l'un des trois routeurs et vérifier la présence des trois réseaux de conteneurs. |
|||
Voici le résultat obtenu depuis la console du routeur
Codes: K - kernel route, C - connected, L - local, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure O>* 0.0.0.0/0 [110/10] via 10.44.1.1, enp0s1.441, weight 1, 02:12:47 O>* 10.10.0.0/24 [110/20] via 10.44.1.1, enp0s1.441, weight 1, 02:12:48 O>* 10.20.0.0/24 [110/20] via 10.44.2.2, enp0s1.442, weight 1, 00:11:37 O 10.30.0.0/24 [110/10] is directly connected, vlan30, weight 1, 02:12:36 C>* 10.30.0.0/24 is directly connected, vlan30, 02:12:54 L>* 10.30.0.1/32 is directly connected, vlan30, 02:12:54 O>* 10.44.0.0/29 [110/20] via 10.44.1.1, enp0s1.441, weight 1, 00:11:37 * via 10.44.2.2, enp0s1.442, weight 1, 00:11:37 O 10.44.1.0/29 [110/10] is directly connected, enp0s1.441, weight 1, 02:12:55 C>* 10.44.1.0/29 is directly connected, enp0s1.441, 02:12:55 L>* 10.44.1.3/32 is directly connected, enp0s1.441, 02:12:55 O 10.44.2.0/29 [110/10] is directly connected, enp0s1.442, weight 1, 01:18:48 C>* 10.44.2.0/29 is directly connected, enp0s1.442, 02:12:55 L>* 10.44.2.3/32 is directly connected, enp0s1.442, 02:12:55
Codes: K - kernel route, C - connected, L - local, S - static, R - RIPng, O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, t - Table-Direct, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure O>* ::/0 [110/10] via fe80::1b9:1, enp0s1.441, weight 1, 00:14:55 O>* fd14:ca46:3864:a::/64 [110/20] via fe80::1b9:1, enp0s1.441, weight 1, 02:21:04 O>* fd14:ca46:3864:14::/64 [110/20] via fe80::baad:caff:fefe:6, enp0s1.442, weight 1, 00:14:56 O fd14:ca46:3864:1e::/64 [110/10] is directly connected, vlan30, weight 1, 02:14:55 C>* fd14:ca46:3864:1e::/64 is directly connected, vlan30, 02:15:27 L>* fd14:ca46:3864:1e::1/128 is directly connected, vlan30, 02:15:27 C * fe80::/64 is directly connected, vlan30, 02:15:28 C * fe80::/64 is directly connected, asw-host, 02:15:29 C * fe80::/64 is directly connected, enp0s1.52, 02:19:13 C * fe80::/64 is directly connected, enp0s1.441, 22:24:07 C * fe80::/64 is directly connected, enp0s1.442, 22:24:08 C>* fe80::/64 is directly connected, enp0s1, 22:24:08 Si on reprend, la même démarche sur chaque routeur, on doit trouver deux entrées OSPF relatives aux réseaux d'hébergement raccordés aux deux “sommets du triangle” dans les tables de routage. |