Pack de contenus (8 labs, séquence 08 complète)
This commit is contained in:
parent
138235bd76
commit
5c396d5a94
13 changed files with 805 additions and 0 deletions
76
paillasse-contenus/08-deux-lan-routeur/cours.md
Normal file
76
paillasse-contenus/08-deux-lan-routeur/cours.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# Séquence 08 : deux LAN et un routeur
|
||||
|
||||
## Objectifs
|
||||
|
||||
À la fin de cette séquence, tu sais :
|
||||
- configurer une adresse IPv4 et son masque sous Linux ;
|
||||
- expliquer le rôle d'une passerelle par défaut ;
|
||||
- transformer une machine Linux en routeur ;
|
||||
- diagnostiquer un problème de communication pas à pas.
|
||||
|
||||
## 1. Deux réseaux séparés
|
||||
|
||||
Un réseau local (LAN) regroupe des machines qui partagent le même préfixe. Avec un masque `/24`, les trois premiers octets désignent le réseau : `192.168.1.10` et `192.168.1.25` sont sur le même LAN, `192.168.2.10` est sur un autre.
|
||||
|
||||
Deux machines du même LAN se parlent directement. Pour joindre un autre LAN, il faut passer par un **routeur**.
|
||||
|
||||
## 2. Configurer une adresse
|
||||
|
||||
```
|
||||
ip link # liste des interfaces
|
||||
sudo ip addr add 192.168.1.10/24 dev ens3
|
||||
sudo ip link set ens3 up
|
||||
ip -4 addr # vérifier
|
||||
```
|
||||
|
||||
## 3. La passerelle par défaut
|
||||
|
||||
Quand une machine doit joindre une adresse hors de son LAN, elle envoie le paquet à sa **passerelle par défaut** : le routeur de son réseau.
|
||||
|
||||
```
|
||||
sudo ip route add default via 192.168.1.1
|
||||
ip route # vérifier
|
||||
```
|
||||
|
||||
Règle à retenir : la passerelle est **toujours sur le même LAN** que la machine.
|
||||
|
||||
## 4. Un Linux qui route
|
||||
|
||||
Par défaut, Linux jette les paquets qui ne lui sont pas destinés. Pour qu'il les transmette d'une interface à l'autre :
|
||||
|
||||
```
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
```
|
||||
|
||||
Pour que ce soit permanent, on l'écrit dans `/etc/sysctl.d/routage.conf` :
|
||||
```
|
||||
net.ipv4.ip_forward = 1
|
||||
```
|
||||
|
||||
## 5. Diagnostiquer dans l'ordre
|
||||
|
||||
Quand « ça ne ping pas », on avance du plus proche au plus loin :
|
||||
|
||||
1. PC-A joint-il sa passerelle `192.168.1.1` ? Sinon : adresse ou masque de PC-A.
|
||||
2. PC-A joint-il l'autre patte du routeur `192.168.2.1` ? Sinon : passerelle de PC-A.
|
||||
3. PC-A joint-il PC-B ? Sinon : routage du routeur, ou passerelle de **PC-B** (le retour compte aussi !).
|
||||
|
||||
`tcpdump -i ens4 icmp` sur le routeur montre si les paquets passent.
|
||||
|
||||
## 6. Rendre la configuration permanente
|
||||
|
||||
Les commandes `ip` sont perdues au redémarrage. Sous Debian, on écrit la configuration dans `/etc/network/interfaces` :
|
||||
|
||||
```
|
||||
auto ens3
|
||||
iface ens3 inet static
|
||||
address 192.168.1.10/24
|
||||
gateway 192.168.1.1
|
||||
```
|
||||
|
||||
## À retenir
|
||||
|
||||
- Même préfixe = même LAN = communication directe.
|
||||
- Autre LAN = passage par la passerelle par défaut.
|
||||
- Un routeur Linux a besoin de `ip_forward = 1`.
|
||||
- Le chemin retour compte autant que l'aller.
|
||||
115
paillasse-contenus/08-deux-lan-routeur/lab.yaml
Normal file
115
paillasse-contenus/08-deux-lan-routeur/lab.yaml
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
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 <interface>` puis `ip link set <interface> up`."
|
||||
- "La passerelle s'ajoute avec `ip route add default via <adresse>`."
|
||||
- "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."
|
||||
35
paillasse-contenus/08-deux-lan-routeur/quiz.gift
Normal file
35
paillasse-contenus/08-deux-lan-routeur/quiz.gift
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
// Quiz séquence 08 : deux LAN et un routeur (format GIFT)
|
||||
|
||||
::Q1 Même LAN::Avec un masque /24, 192.168.1.10 et 192.168.2.10 sont-elles sur le même LAN ?{F}
|
||||
|
||||
::Q2 Passerelle::À quoi sert la passerelle par défaut ?{
|
||||
=À envoyer les paquets destinés à un autre réseau
|
||||
~À attribuer les adresses IP automatiquement
|
||||
~À traduire les noms en adresses IP
|
||||
~À relier deux machines du même LAN}
|
||||
|
||||
::Q3 Passerelle sur le LAN::La passerelle par défaut d'une machine doit se trouver :{
|
||||
=sur le même LAN que la machine
|
||||
~sur le LAN de destination
|
||||
~n'importe où, du moment qu'elle répond au ping}
|
||||
|
||||
::Q4 ip_forward::Quel paramètre permet à un Linux de transmettre des paquets d'une interface à l'autre ?{
|
||||
=net.ipv4.ip_forward
|
||||
~net.ipv4.icmp_echo
|
||||
~net.ipv4.tcp_syncookies
|
||||
~net.ipv4.conf.all.rp_filter}
|
||||
|
||||
::Q5 Commande adresse::Quelle commande ajoute l'adresse 192.168.1.10/24 à l'interface ens3 ?{
|
||||
=ip addr add 192.168.1.10/24 dev ens3
|
||||
~ip route add 192.168.1.10/24 dev ens3
|
||||
~ip link set ens3 192.168.1.10/24
|
||||
~ifconfig add ens3 192.168.1.10}
|
||||
|
||||
::Q6 Hôtes /24::Combien d'hôtes peut-on adresser dans un réseau /24 ?{#254}
|
||||
|
||||
::Q7 Diagnostic::PC-A joint les deux interfaces du routeur mais pas PC-B. Le routage est actif. Cause la plus probable ?{
|
||||
=PC-B n'a pas de passerelle par défaut
|
||||
~PC-A n'a pas de passerelle par défaut
|
||||
~Le câble entre PC-A et le routeur est coupé}
|
||||
|
||||
::Q8 Permanent::Les adresses ajoutées avec la commande ip survivent à un redémarrage.{F}
|
||||
55
paillasse-contenus/08-deux-lan-routeur/td.md
Normal file
55
paillasse-contenus/08-deux-lan-routeur/td.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# TD 08 : adresses, masques et passerelles
|
||||
|
||||
## Exercice 1 : même LAN ou pas ?
|
||||
|
||||
Avec un masque /24, ces machines peuvent-elles communiquer directement ?
|
||||
|
||||
1. 192.168.1.10 et 192.168.1.200
|
||||
2. 192.168.1.10 et 192.168.2.10
|
||||
3. 10.0.0.5 et 10.0.0.250
|
||||
4. 172.16.4.1 et 172.16.5.1
|
||||
|
||||
## Exercice 2 : adresse de réseau et diffusion
|
||||
|
||||
Donne l'adresse du réseau, l'adresse de diffusion et le nombre d'hôtes possibles :
|
||||
|
||||
1. 192.168.1.10/24
|
||||
2. 10.20.30.40/16
|
||||
3. 192.168.5.130/25
|
||||
|
||||
## Exercice 3 : plan d'adressage du lab
|
||||
|
||||
Complète le tableau pour la topologie PC-A – LAN 1 – Routeur – LAN 2 – PC-B :
|
||||
|
||||
| Machine | Interface | Adresse/masque | Passerelle |
|
||||
|---|---|---|---|
|
||||
| PC-A | ens3 | | |
|
||||
| Routeur | ens3 (LAN 1) | | — |
|
||||
| Routeur | ens4 (LAN 2) | | — |
|
||||
| PC-B | ens3 | | |
|
||||
|
||||
## Exercice 4 : diagnostic
|
||||
|
||||
PC-A joint 192.168.1.1 et 192.168.2.1, mais pas PC-B. Le routage est activé sur le routeur. Quelle est la cause la plus probable ?
|
||||
|
||||
---
|
||||
|
||||
## Corrigé
|
||||
|
||||
**Ex. 1** : 1. oui · 2. non · 3. oui · 4. non.
|
||||
|
||||
**Ex. 2** :
|
||||
1. réseau 192.168.1.0, diffusion 192.168.1.255, 254 hôtes ;
|
||||
2. réseau 10.20.0.0, diffusion 10.20.255.255, 65 534 hôtes ;
|
||||
3. réseau 192.168.5.128, diffusion 192.168.5.255, 126 hôtes.
|
||||
|
||||
**Ex. 3** :
|
||||
|
||||
| Machine | Interface | Adresse/masque | Passerelle |
|
||||
|---|---|---|---|
|
||||
| PC-A | ens3 | 192.168.1.10/24 | 192.168.1.1 |
|
||||
| Routeur | ens3 (LAN 1) | 192.168.1.1/24 | — |
|
||||
| Routeur | ens4 (LAN 2) | 192.168.2.1/24 | — |
|
||||
| PC-B | ens3 | 192.168.2.10/24 | 192.168.2.1 |
|
||||
|
||||
**Ex. 4** : PC-B n'a pas de passerelle par défaut (ou une mauvaise). Le ping arrive, mais la réponse ne sait pas revenir.
|
||||
Loading…
Add table
Add a link
Reference in a new issue