id: 08-deux-lan-routeur titre: Deux LAN et un routeur niveau: decouverte duree_min: 45 formations: [nsi-tle, bts-sio-sisr, bts-ciel-ir, but-rt, bac-pro-ciel, tssr] competences: [adressage-ipv4, passerelle, routage-statique, ip-forwarding, diagnostic] reseaux: - nom: lan1 cidr: 192.168.1.0/24 - nom: lan2 cidr: 192.168.2.0/24 machines: - nom: pc-a image: paillasse-debian flavor: eleve.petit reseaux: [lan1] - nom: routeur image: paillasse-debian flavor: eleve.petit reseaux: [lan1, lan2] - nom: pc-b image: paillasse-debian flavor: eleve.petit reseaux: [lan2] consignes: - "Repère le nom des interfaces de chaque machine avec `ip link`." - "Attribue 192.168.1.10/24 à PC-A." - "Attribue 192.168.1.1/24 et 192.168.2.1/24 aux deux interfaces du routeur." - "Attribue 192.168.2.10/24 à PC-B." - "Donne à PC-A et PC-B leur passerelle par défaut : l'adresse du routeur sur leur LAN." - "Active le routage IP sur le routeur." - "Vérifie que PC-A joint PC-B avec `ping`." - "Bonus : rends la configuration permanente (elle doit survivre à un redémarrage)." verifications: - id: ip-pc-a titre: Adresse de PC-A machine: pc-a commande: "ip -4 -o addr | grep -q ' 192.168.1.10/24 '" attendu: { code_retour: 0 } points: 1 message_echec: "PC-A n'a pas l'adresse 192.168.1.10/24." - id: ip-routeur-lan1 titre: Adresse du routeur sur le LAN 1 machine: routeur commande: "ip -4 -o addr | grep -q ' 192.168.1.1/24 '" attendu: { code_retour: 0 } points: 1 message_echec: "Le routeur n'a pas 192.168.1.1/24 sur son interface du LAN 1." - id: ip-routeur-lan2 titre: Adresse du routeur sur le LAN 2 machine: routeur commande: "ip -4 -o addr | grep -q ' 192.168.2.1/24 '" attendu: { code_retour: 0 } points: 1 message_echec: "Le routeur n'a pas 192.168.2.1/24 sur son interface du LAN 2." - id: ip-pc-b titre: Adresse de PC-B machine: pc-b commande: "ip -4 -o addr | grep -q ' 192.168.2.10/24 '" attendu: { code_retour: 0 } points: 1 message_echec: "PC-B n'a pas l'adresse 192.168.2.10/24." - id: passerelle-pc-a titre: Passerelle de PC-A machine: pc-a commande: "ip route show default | grep -q 'via 192.168.1.1'" attendu: { code_retour: 0 } points: 1 message_echec: "PC-A n'a pas de route par défaut via 192.168.1.1." - id: passerelle-pc-b titre: Passerelle de PC-B machine: pc-b commande: "ip route show default | grep -q 'via 192.168.2.1'" attendu: { code_retour: 0 } points: 1 message_echec: "PC-B n'a pas de route par défaut via 192.168.2.1." - id: forwarding titre: Routage activé sur le routeur machine: routeur commande: "test \"$(cat /proc/sys/net/ipv4/ip_forward)\" = 1" attendu: { code_retour: 0 } points: 2 message_echec: "Le routeur ne transmet pas les paquets : regarde net.ipv4.ip_forward." - id: ping-a-vers-b titre: PC-A joint PC-B machine: pc-a commande: "ping -c 2 -W 1 192.168.2.10" attendu: { code_retour: 0 } points: 2 message_echec: "PC-A ne joint pas PC-B. Vérifie les adresses, les passerelles et le routage, dans cet ordre." - id: bonus-permanent titre: "Bonus : configuration permanente" machine: routeur commande: "grep -rqs 'ip_forward *= *1' /etc/sysctl.conf /etc/sysctl.d/ && grep -rqs '192.168.2.1' /etc/network/interfaces /etc/network/interfaces.d/ /etc/systemd/network/" attendu: { code_retour: 0 } points: 1 message_echec: "La configuration du routeur disparaîtra au redémarrage (sysctl et fichier d'interfaces)." indices: - "`ip addr add 192.168.1.10/24 dev ` puis `ip link set up`." - "La passerelle s'ajoute avec `ip route add default via `." - "Le routage se lit dans /proc/sys/net/ipv4/ip_forward et s'active avec `sysctl`." - "Si le ping échoue, teste d'abord PC-A vers 192.168.1.1, puis 192.168.2.1, puis PC-B."