Architecture des réseaux · Étape 10

Fais choisir la bonne route à Linux

Construis une table avec une route par défaut et plusieurs routes plus précises, puis observe la règle du longest prefix match.

Durée indicative · ~1 hNiveau intermédiairePrérequis conseillé · Leçons 6 à 9 — préfixes et plan d'adressagePratique · TP
L’idée reçue

« Linux lit les routes de haut en bas et prend la première ligne qui correspond. »

L’ordre d’affichage n’est pas la règle principale. Le noyau choisit d’abord la route dont le préfixe est le plus précis.

Tu vas créer une machine avec trois chemins possibles :

default          → 10.0.0.1
10.20.0.0/16     → 10.0.0.2
10.20.30.0/24    → 10.0.0.3

01Préparer le réseau de transit

Expérience 1

Crée un poste relié à un bridge

sudo ip netns del pc 2>/dev/null || true
sudo ip link del br-transit 2>/dev/null || true

sudo ip netns add pc
sudo ip link add pc-eth type veth peer name transit-pc
sudo ip link set pc-eth netns pc
sudo ip -n pc link set pc-eth name eth0
sudo ip -n pc link set lo up
sudo ip -n pc link set eth0 up

sudo ip link add br-transit type bridge
sudo ip link set br-transit up
sudo ip link set transit-pc master br-transit
sudo ip link set transit-pc up
sudo ip addr add 10.0.0.254/24 dev br-transit

sudo ip -n pc addr add 10.0.0.10/24 dev eth0

02Ajouter les routes

Expérience 2

Crée trois décisions de précision différente

sudo ip -n pc route add default via 10.0.0.1
sudo ip -n pc route add 10.20.0.0/16 via 10.0.0.2
sudo ip -n pc route add 10.20.30.0/24 via 10.0.0.3

sudo ip -n pc route

Les passerelles n’ont pas besoin de répondre pour que tu observes la décision de routage. Elles doivent seulement appartenir au réseau directement connecté.

03Prédire le prochain saut

Expérience 3

Interroge la table pour trois destinations

sudo ip -n pc route get 8.8.8.8
sudo ip -n pc route get 10.20.40.5
sudo ip -n pc route get 10.20.30.8
Observe
8.8.8.8      via 10.0.0.1
10.20.40.5   via 10.0.0.2
10.20.30.8   via 10.0.0.3
/0Tout Internetroute par défaut
/1610.20.0.0 – 10.20.255.255route entreprise
/2410.20.30.0 – 10.20.30.255route site précise
Comprends longest prefix match

Une destination peut correspondre à plusieurs routes. 10.20.30.8 correspond au défaut, au /16 et au /24. Le noyau choisit le /24, car 24 bits de destination sont spécifiés : c’est la correspondance la plus précise.

04Comparer des métriques

Expérience 4

Ajoute deux routes par défaut

sudo ip -n pc route replace default via 10.0.0.1 metric 100
sudo ip -n pc route add default via 10.0.0.4 metric 200
sudo ip -n pc route show default
sudo ip -n pc route get 8.8.8.8
Lorsque deux routes ont le même préfixe, une métrique plus faible est généralement préférée. Le préfixe reste prioritaire sur la métrique.

05Créer une mauvaise route

Panne volontaire

Détourne un réseau précis

sudo ip -n pc route replace 10.20.30.0/24 via 10.0.0.99
sudo ip -n pc route get 10.20.30.8
La route la plus précise continue de gagner, même si son prochain saut est incorrect. Une table peut être cohérente mathématiquement et fausse opérationnellement.

Répare :

sudo ip -n pc route replace 10.20.30.0/24 via 10.0.0.3
Défi autonome

Écris la table d’un siège et de deux agences

Crée les décisions suivantes dans un namespace :

  1. Internet par 192.0.2.1 ;
  2. tout le réseau privé 10.0.0.0/8 par 192.0.2.2 ;
  3. l’agence A 10.50.0.0/16 par 192.0.2.3 ;
  4. le datacenter de l’agence A 10.50.20.0/24 par 192.0.2.4 ;
  5. prédit puis vérifie le next hop pour quatre destinations.

06Nettoyer

sudo ip netns del pc
sudo ip link del br-transit

Ce que tu retiens

La table de routage associe des préfixes à des prochains sauts. Linux choisit la correspondance la plus précise ; la route par défaut n’est utilisée qu’en dernier recours. Entre routes de même précision, la métrique aide à choisir.

0
Ta progression

Chargement de l’état… Se connecter pour synchroniser.