Différences entre versions de « Source routing »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
(Page créée avec « = Introduction = Le routage source permet de router un paquet en fonction de son réseau source plutôt que son réseau destination. Cela peut être utile dans le cas d'un... »)
 
Ligne 2 : Ligne 2 :
 
Le routage source permet de router un paquet en fonction de son réseau source plutôt que son réseau destination. Cela peut être utile dans le cas d'un routeur avec plusieurs interfaces connectées à Internet pour permettre de faire sortir les paquets d'une DMZ vers une interface et les paquets du LAN vers une autre interface.
 
Le routage source permet de router un paquet en fonction de son réseau source plutôt que son réseau destination. Cela peut être utile dans le cas d'un routeur avec plusieurs interfaces connectées à Internet pour permettre de faire sortir les paquets d'une DMZ vers une interface et les paquets du LAN vers une autre interface.
  
 +
= Mise en pratique =
 +
Prenons l'exemple suivant:
 +
[[Fichier:Source routing example.png|centré]]
  
 +
Le pare-feu est:
 +
* en DHCP sur un réseau ''WAN2'' sur lequel se trouve la passerelle ''192.168.112.250'';
 +
* en DHCP sur un réseau ''WAN1'' sur lequel se trouve la passerelle ''192.168.100.253'';
 +
* la passerelle par défaut du réseau ''DMZ'';
 +
* la passerelle par défaut du réseau ''LAN''.
 +
 +
Si on regarde la table de routage par défaut:
 +
<pre>
 +
# ip r
 +
default via 192.168.112.250 dev enp6s0 proto dhcp metric 119
 +
default via 192.168.100.253 dev enp5s0 proto static metric 123
 +
192.168.100.0/24 dev enp5s0 proto kernel scope link src 192.168.100.252 metric 123
 +
192.168.112.0/24 dev enp6s0 proto kernel scope link src 192.168.112.1 metric 119
 +
192.168.200.0/24 dev enp3s0 proto kernel scope link src 192.168.200.254 metric 122
 +
192.168.201.0/24 dev enp4s0 proto kernel scope link src 192.168.201.254 metric 121
 +
</pre>
 +
On se retrouve avec deux routes par défaut et, du fait des métriques (119 vs. 123), c'est la route par défaut de ''WAN2'' (''192.168.112.250'') qui sera choisit tout le temps.
 +
 +
Il faut trouver une façon de dire que les paquets en provenance du réseau ''DMZ'' doivent sortir par la passerelle du réseau ''WAN1'' (''192.168.100.253'').
 +
 +
== Création d'une table de routage spécifique ==
 +
La première étape consiste à créer une table de routage où nous allons ranger nos règles de routage. Toutes les informations relatives à iproute2 se trouvent dans le répertoire ''/etc/iproute2''
 +
<pre>
 +
# ll /etc/iproute2/
 +
total 36
 +
-rw-r--r--. 1 root root  85 Apr  7 01:16 bpf_pinning
 +
-rw-r--r--. 1 root root  81 Apr  7 01:16 ematch_map
 +
-rw-r--r--. 1 root root  31 Apr  7 01:16 group
 +
-rw-r--r--. 1 root root 262 Apr  7 01:16 nl_protos
 +
-rw-r--r--. 1 root root 735 Apr  7 01:16 rt_dsfield
 +
-rw-r--r--. 1 root root 201 Apr  7 01:16 rt_protos
 +
-rw-r--r--. 1 root root 112 Apr  7 01:16 rt_realms
 +
-rw-r--r--. 1 root root  92 Apr  7 01:16 rt_scopes
 +
-rw-r--r--. 1 root root  94 Aug 24 15:22 rt_tables
 +
</pre>
 +
Le fichier qui nous intéresse s'appelle ''rt_tables'' et nous allons ajouter la ligne suivante à la fin:
 +
<pre>
 +
10      dmz
 +
</pre>
 +
Cela permet de créer la table de routage ''dmz'' qui, pour le moment, est vide.
 +
 +
== Ajout des lignes d'interfaces ==
 +
Pour que le routage fonctionne il faut préciser à la machine qu'elles sont les interfaces concernées dans le contexte de cette table de routage. Comme on cherche à rediriger les paquets en provenance du réseau ''DMZ'' vers la passerelle du réseau ''WAN1'', les interfaces concernées sont enp
 +
 +
Ces lignes sont les suivantes:
  
 
= Configuration temporaire =
 
= Configuration temporaire =

Version du 31 août 2020 à 11:22

Introduction

Le routage source permet de router un paquet en fonction de son réseau source plutôt que son réseau destination. Cela peut être utile dans le cas d'un routeur avec plusieurs interfaces connectées à Internet pour permettre de faire sortir les paquets d'une DMZ vers une interface et les paquets du LAN vers une autre interface.

Mise en pratique

Prenons l'exemple suivant:

Source routing example.png

Le pare-feu est:

  • en DHCP sur un réseau WAN2 sur lequel se trouve la passerelle 192.168.112.250;
  • en DHCP sur un réseau WAN1 sur lequel se trouve la passerelle 192.168.100.253;
  • la passerelle par défaut du réseau DMZ;
  • la passerelle par défaut du réseau LAN.

Si on regarde la table de routage par défaut:

# ip r
default via 192.168.112.250 dev enp6s0 proto dhcp metric 119
default via 192.168.100.253 dev enp5s0 proto static metric 123
192.168.100.0/24 dev enp5s0 proto kernel scope link src 192.168.100.252 metric 123
192.168.112.0/24 dev enp6s0 proto kernel scope link src 192.168.112.1 metric 119
192.168.200.0/24 dev enp3s0 proto kernel scope link src 192.168.200.254 metric 122
192.168.201.0/24 dev enp4s0 proto kernel scope link src 192.168.201.254 metric 121

On se retrouve avec deux routes par défaut et, du fait des métriques (119 vs. 123), c'est la route par défaut de WAN2 (192.168.112.250) qui sera choisit tout le temps.

Il faut trouver une façon de dire que les paquets en provenance du réseau DMZ doivent sortir par la passerelle du réseau WAN1 (192.168.100.253).

Création d'une table de routage spécifique

La première étape consiste à créer une table de routage où nous allons ranger nos règles de routage. Toutes les informations relatives à iproute2 se trouvent dans le répertoire /etc/iproute2

# ll /etc/iproute2/
total 36
-rw-r--r--. 1 root root  85 Apr  7 01:16 bpf_pinning
-rw-r--r--. 1 root root  81 Apr  7 01:16 ematch_map
-rw-r--r--. 1 root root  31 Apr  7 01:16 group
-rw-r--r--. 1 root root 262 Apr  7 01:16 nl_protos
-rw-r--r--. 1 root root 735 Apr  7 01:16 rt_dsfield
-rw-r--r--. 1 root root 201 Apr  7 01:16 rt_protos
-rw-r--r--. 1 root root 112 Apr  7 01:16 rt_realms
-rw-r--r--. 1 root root  92 Apr  7 01:16 rt_scopes
-rw-r--r--. 1 root root  94 Aug 24 15:22 rt_tables

Le fichier qui nous intéresse s'appelle rt_tables et nous allons ajouter la ligne suivante à la fin:

10      dmz

Cela permet de créer la table de routage dmz qui, pour le moment, est vide.

Ajout des lignes d'interfaces

Pour que le routage fonctionne il faut préciser à la machine qu'elles sont les interfaces concernées dans le contexte de cette table de routage. Comme on cherche à rediriger les paquets en provenance du réseau DMZ vers la passerelle du réseau WAN1, les interfaces concernées sont enp

Ces lignes sont les suivantes:

Configuration temporaire

Configuration permanente