6 votes

L'ordre des routes du réseau est-il important sous Linux ?

Sur l'un de mes serveurs web, la route loopback est en 2ème position et habituellement elle est en 3ème position sur les autres serveurs lors de l'affichage des routes :

>ip route show

Résultats sur ce qui est affiché sur un serveur centos 7 :

default via 85.x.x.254 dev enp32s0 
85.x.x.192/26 dev enp32s0  proto kernel  scope link  src 85.x.x.201 
169.254.0.0/16 dev enp32s0  scope link  metric 1002 

Résultat pour un autre serveur centos 7 :

default via 217.x.x.1 dev em1 
169.254.0.0/16 dev em1  scope link  metric 1002 
217.x.x.0/24 dev em1  proto kernel  scope link  src 217.x.x.216 

Cela fait-il une différence ? A-t-elle des conséquences ? Quelqu'un peut-il expliquer pourquoi cela se produit ?

12voto

shodanshok Points 42743

L'ordre dans lequel les itinéraires sont saisis est, par définition, sans importance. Cela est dû à la manière dont les itinéraires sont censés être appliqués : les plus spécifiques ont la priorité sur les plus génériques.

Supposons que vous ayez deux itinéraires :

  • un premier pour un réseau 172.16.0.0/16, via la passerelle 192.168.1.1
  • un second pour un réseau 172.16.32.0/24, via la passerelle 192.168.1.2

Lors de l'envoi d'un paquet à la machine ayant, par exemple, l'adresse IP 172.16.32.1, la passerelle sélectionnée sera toujours 192.168.1.2, indépendamment de l'ordre dans lequel les itinéraires ont été introduits dans le système.

Il y a cependant un problème : qu'en est-il de deux itinéraires pour le le même réseau mais avec une passerelle différente ? Prenons l'exemple suivant :

  • une première route pour un réseau 172.16.32.0/24, via la passerelle 192.168.1.1
  • une deuxième route pour un réseau 172.16.32.0/24, via la passerelle 192.168.1.2

Comment le système fonctionnerait-il ? Si vous voulez qu'une route ait la préférence sur une autre route identique, vous devez lui attribuer un métrique valeur. La métrique est considérée comme une valeur de "coût", la métrique la plus basse étant privilégiée. Ainsi, si votre système dispose de deux itinéraires identiques mais avec une métrique différente il sélectionne l'itinéraire dont la valeur métrique est la plus faible.

Mais que se passe-t-il si les deux routes sont identiques, même en ce qui concerne la valeur métrique ? Dans ce cas, le comportement par défaut n'est pas défini et varie d'un système à l'autre. Par exemple, un système peut préférer la première route entrée, tandis qu'un autre système peut donner la préférence à la dernière route entrée. D'autres systèmes peuvent utiliser ambos en même temps, distribuant les paquets d'une manière presque circulaire, appelée ECMP (routage à coût égal par trajets multiples). Enfin, d'autres systèmes peuvent interdire la présence de deux itinéraires réellement identiques, en refusant même la possibilité d'entrer dans de tels itinéraires.

-3voto

tacos_tacos_tacos Points 3200

Oui, l'ordre des routes réseau est important indépendamment du système d'exploitation en général.

Les itinéraires sont des programmes. Ils indiquent que lorsque vous recevez un paquet adressé au réseau A, vous devez utiliser le routeur A. Lorsque vous recevez un paquet destiné à B, vous devez utiliser le routeur B. Lorsque vous recevez un paquet destiné à B, utilisez le routeur B.

Disons que A est à l'intérieur de B, comme A = 192.168.1.0/24 et B = 192.168.0.0/22. Si nous inversons l'ordre des routes appliquées, A n'aura aucun effet, car tout A est à l'intérieur de B. D'autre part, dans cet ordre, même si B est en deuxième position, la route affecte quand même B parce que 75% de ses hôtes ne sont pas dans A.

L'ordre d'application des routes dans ce contexte (routes statiques) se fait par le biais de métriques statiques. La métrique la plus petite (route la moins chère) passe en premier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X