Le routage permet à une machine connecté à plusieurs réseaux de transférer des paquets IP d'un réseau à un autre afin de les diriger vers leur destination finale. N'importe quelle machine sous Ubuntu (et Linux) est capable de faire du routage, tandis que seules les systèmes d'exploitation Windows Server peuvent servir de routeur.
Par défaut, une machine ne fait que du routage direct (transférer des paquets seulements à destination des réseaux auxquels il est connecté directement). Mais il est possible évidemment d'ajouter des lignes dans la table de routage de routeurs Ubuntu et Windows afin de faire du routage indirect (transférer des paquets à des réseaux auxquels le routeur n'est pas connecté directement), en précisant le réseau de destination, la passerelle à qui transmettre le paquet IP pour joindre la destination et la carte réseau permettant de joindre la passerelle.
Le routage avec une machine Ubuntu
Activation du routage
- Ouvrir le fichier
/etc/sysctl.conf
- Décommenter la ligne
net.ipv4.ip_forward=1
- Enregistrer et fermer le fichier
/etc/sysctl.conf
- Activer le routage avec la commande
sysctl -p
Ajout d'une route indirecte
Avec les systèmes Linux utilisant Netplan, l'ajout d'une route indirecte (permanente) sous Ubuntu se fait dans le fichier de configuration des cartes réseaux du routeur. Pour définir une route indirecte, il faut donc ajouter dans la configuration de la carte réseau permettant de joindre la passerelle :
routes:
- to: X.X.X.X
via: Y.Y.Y.Y
Avec X.X.X.X
comme réseau de destination et Y.Y.Y.Y
comme adresse de passerelle.
Exemple de fichier de configuration réseau pour un routeur connecté aux réseaux 192.168.1.0/24 (via la carte enp0s3 qui a pour adresse 192.168.1.254) et 172.16.0.0/16 (via la carte enp0s8 qui a a pour adresse 172.16.255.254) et devant envoyer des données sur le réseau 10.0.0.0/8 via la passerelle 192.168.1.10 (relié donc à l'interface 192.168.1.254) :
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
addresses:
- 192.168.1.254/24
routes:
- to: 10.0.0.0/8
via: 192.168.1.10
enp0s8:
addresses:
- 172.16.255.254/16
Le routage avec une machine Windows Server (2016 ou 2019)
Activation du routage
Il faut tout d'abord installer le service de routage qui n'est pas installé par défaut :
- Accéder au gestionnaire de serveur
- Menu Gérer puis choisir Ajout des rôles et fonctionnalités
- Avant de commencer : cliquer sur Suivant
- Type d'installation : choisir une installation basée sur un rôle ou une fonctionnalité
- Sélection du serveur : choisir votre serveur Windows
- Rôle de serveurs : cocher Accès à distance
- Fonctionnalités : laisser les valeurs par défaut
- Accès à distance : cliquer sur Suivant
- Services de rôle : cocher seulement Routage
- Dans la fenêtre qui apparait, cliquer sur Ajouter des fonctionnalités avant de cliquer sur Suivant dans Services de rôle
- Rôle Web Server (IIS) : cliquer sur Suivant
- Services de rôle : laisser les valeurs par défaut
- Confirmation : cliquer sur Installer
Une fois le service de routage installé, il faut l'activer :
- Accéder à l'interface de gestion du routage et accès distant
- Faire un clic droit sur votre serveur et choisir Configurer et activer le routage et l'accès à distance
- Configuration : choisir Configuration personnalisée
- Configuration personnalisée : cocher Routage réseau
- Démarrer le service
Ajout d'une route indirecte
- Accéder à l'interface de gestion du routage et accès distant
- Choisir votre serveur local puis IPv4 puis itinéraires statiques
- Faire un clic droit puis choisir nouvel intinéraire statique