Articles

Spécifier une adresse IP du prochain saut pour les routes statiques

Introduction

Ce document décrit le concept de base des routes statiques. Un scénario problématique est utilisé afin de démontrer les circonstances dans lesquelles il devient souhaitable de spécifier l’interface par laquelle l’adresse IP du prochain saut peut être atteinte lorsque vous configurez une route statique. Ne pas le faire peut entraîner un comportement indésirable et un état de réseau brisé.

Informations de base

Les routes statiques sont utilisées pour diverses raisons et sont souvent utilisées lorsqu’il n’y a pas de route dynamique vers l’adresse IP de destination, ou lorsque vous voulez remplacer la route apprise dynamiquement.

Par défaut, les routes statiques ont une distance administrative de un, ce qui leur donne la priorité sur les routes de tout protocole de routage dynamique. Lorsque vous augmentez la distance administrative à une valeur supérieure à celle d’un protocole de routage dynamique, la route statique peut constituer un filet de sécurité en cas d’échec du routage dynamique. Par exemple, les routes dérivées du protocole Enhanced Interior Gateway Routing Protocol (EIGRP) ont une distance administrative par défaut de 90 pour les routes internes et de 170 pour les routes externes. Afin de configurer une route statique qui est remplacée par une route EIGRP, spécifiez une distance administrative supérieure à 170 pour la route statique.

Ce type de route statique avec une distance administrative élevée est appelé une route statique flottante. Elle est installée dans la table de routage uniquement lorsque la route apprise dynamiquement disparaît. Un exemple de route statique flottante est ip route 172.31.10.0 255.255.255.0 10.10.10.2 101.

Note : Une distance administrative de 255 est considérée comme inaccessible, et les routes statiques avec une distance administrative de 255 ne sont jamais entrées dans la table de routage.

Route statique vers une interface sans adresse IP du prochain saut

Si vous faites pointer une route statique vers une interface et que vous ne spécifiez pas l’adresse IP du prochain saut, la route est insérée dans la table de routage uniquement lorsque l’interface est active. Cette configuration n’est pas recommandée car, lorsque la route statique pointe vers une interface et ne comporte pas d’informations sur le saut suivant, le routeur considère que chacun des hôtes situés dans la portée de la route est directement connecté via cette interface. Un exemple d’une telle route statique est ip route 0.0.0.0 0.0.0 Ethernet0.

Avec ce type de configuration, un routeur exécute le protocole de résolution d’adresse (ARP) sur l’Ethernet pour chaque destination que le routeur trouve par le biais de la route par défaut, car le routeur considère toutes ces destinations comme directement connectées à Ethernet 0. Ce type de route statique, surtout s’il est utilisé par de nombreux paquets vers de nombreux sous-réseaux de destination différents, peut entraîner une utilisation élevée du processeur et un cache ARP très important (ainsi que des échecs d’allocation de mémoire). Par conséquent, ce type de route statique n’est pas recommandé.

Lorsque vous spécifiez l’adresse du prochain saut sur une interface directement connectée, le routeur n’exécute pas ARP pour chaque adresse de destination. Un exemple est ip route 0.0.0.0 0.0.0 Ethernet0 192.168.1.1. Vous pouvez spécifier uniquement l’adresse du saut suivant directement connecté, mais cela n’est pas recommandé pour des raisons qui sont décrites dans ce document. Il n’est pas nécessaire de spécifier l’adresse du prochain saut directement connecté. Vous pouvez spécifier l’adresse du saut suivant distant et l’interface vers laquelle le saut suivant distant est récurrent.

S’il existe une possibilité que l’interface avec le saut suivant tombe et que le saut suivant devienne atteignable par une route récursive, alors vous devez spécifier à la fois l’adresse IP du saut suivant et l’interface alternative par laquelle le saut suivant doit être trouvé. Par exemple, ip route 10.0.0.1 255.255.255.255 Serial 3/3 192.168.20.1. L’ajout de l’interface alternative permet à l’installation de la route statique de devenir plus déterministe.

Exemple de route statique flottante

Cet exemple décrit l’utilisation des routes statiques flottantes et illustre la nécessité de spécifier à la fois l’interface sortante et l’adresse du saut suivant avec la commande de route statique.

Problème

Avec la configuration réseau qui est illustrée dans l’image suivante, un hôte 172.31.10.1 a une connectivité à Internet. Dans cet exemple, l’hôte établit une connexion avec l’hôte Internet distant 10.100.1.1:

Avec cette configuration, le lien primaire est le lien entre le port série 1/0 sur R1 vers le port série 1/0 sur R2 pour le trafic vers et depuis l’hôte 172.31.10.1 vers Internet. L’hôte 10.100.1.1 est utilisé ici comme exemple d’hôte Internet. La liaison entre le port série 2/0 de R1 et le port série 2/0 de R2 est la liaison de secours. La liaison de secours ne doit être utilisée qu’en cas de défaillance de la liaison principale. Ceci est déployé avec l’utilisation de routes statiques qui pointent vers le lien primaire et l’utilisation de routes statiques flottantes qui pointent vers le lien de secours.

Il existe deux routes statiques vers la même destination (172.31.10.0/24) sur R1. Une route est la route statique régulière et une autre route est une route statique flottante, qui est le chemin de secours, ou redondant, vers le réseau de destination sur le LAN. Le problème dans ce scénario est que la route statique flottante n’est jamais installée dans la table de routage lorsque le lien primaire est en panne.

Voici la configuration sur R1:

hostname R1
!
interface Serial1/0
ip address 10.10.10.1 255.255.255.252
!
interface Serial2/0
ip address 10.10.20.1 255.255.255.252
!
ip route 10.0.0.0 255.0.0.0 192.168.10.2
! This is the primary route to get to hosts on the Internet.
ip route 172.31.10.0 255.255.255.0 10.10.10.2
! This is the preferred route to the LAN.
ip route 172.31.10.0 255.255.255.0 10.10.20.2 250
! This is the floating static route to the LAN.

Voici la configuration sur R2 :

hostname R2
!
interface Serial1/0
ip address 10.10.10.2 255.255.255.252
!
interface Serial2/0
ip address 10.10.20.2 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 10.10.10.1
ip route 0.0.0.0 0.0.0.0 10.10.20.1 250
!

Voici la table de routage de R1:

R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 5 subnets, 3 masks
S 10.0.0.0/8 via 192.168.10.2
C 10.10.10.0/30 is directly connected, Serial1/0
L 10.10.10.1/32 is directly connected, Serial1/0
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 via 10.10.10.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0

Lorsqu’un ping est effectué de l’hôte vers l’hôte Internet 10.100.1.1, il fonctionne comme prévu:

host#ping 10.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 73/78/80 ms

Une traceroute de l’hôte vers l’hôte Internet 10.100.1.1 montre ceci:

host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 10.10.10.1 31 msec 39 msec 39 msec
3 192.168.10.2 80 msec * 80 msec

Le lien principal 10.10.10.0/30 est utilisé.

Si vous fermez le port série 1/0 sur R1 afin de tester le basculement, vous devez vous attendre à ce que R1 installe la route statique flottante vers le LAN local 172.31.10.0, et à ce que R2 installe la route statique flottante vers 0.0.0.0 à travers 10.10.20.1. Vous devriez vous attendre à ce que le trafic circule sur le lien de secours.

R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#interface serial1/0
R1(config-if)#shutdown
R1(config-if)#end
R1#

Cependant, la route statique pour le réseau local 172.31.10.0/24 reste dans la table de routage de R1:

R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 via 192.168.10.2
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 via 10.10.10.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0
R1#show ip route 172.31.10.0
Routing entry for 172.31.10.0/24
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 10.10.10.2
Route metric is 0, traffic share count is 1
R1#show ip route 10.10.10.2
Routing entry for 10.0.0.0/8
Known via "static", distance 1, metric 0
Routing Descriptor Blocks:
* 192.168.10.2
Route metric is 0, traffic share count is 1

Le ping et le traceroute depuis l’hôte ne fonctionnent plus :

host#ping 10.100.1.1 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *

La route statique flottante n’est pas installée sur R1 et la route statique primaire est toujours dans la table de routage pour R1, même si la liaison du port série 1/0 est fermée. Cela se produit parce que les routes statiques sont récursives par nature. Vous gardez toujours la route statique dans la table de routage tant que vous avez une route vers le prochain saut.

Dans ce scénario problématique, vous pourriez vous attendre à ce que, puisque la liaison primaire est coupée, vous devriez avoir la route statique flottante avec la distance administrative 250 installée dans la table de routage sur R1. Cependant, la route statique flottante n’est pas installée dans la table de routage puisque la route statique régulière reste dans la table de routage. L’adresse de saut suivant 10.10.10.2 est récursive avec succès vers (vers 192.168.10.2) via la route statique 10.0.0.0/8, qui est présente dans la table de routage.

Solution

Configurez une route statique sur R1 où le saut suivant ne peut pas être récursif vers une autre route statique. Cisco recommande de configurer à la fois l’interface de sortie et l’adresse du saut suivant pour une route statique. Dans le cas d’une interface série, la spécification de l’interface de sortie est suffisante car une interface série est une interface point à point. Si l’interface de sortie est une interface Ethernet, alors vous devez configurer à la fois l’interface de sortie et l’adresse du prochain saut.

Ici, une route statique pour le réseau local est configurée avec la spécification de l’interface de sortie:

R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#no ip route 172.31.10.0 255.255.255.0 10.10.10.2
R1(config)#ip route 172.31.10.0 255.255.255.0 Serial1/0
R1(config)#end
R1#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 via 192.168.10.2
C 10.10.20.0/30 is directly connected, Serial2/0
L 10.10.20.1/32 is directly connected, Serial2/0
172.31.0.0/24 is subnetted, 1 subnets
S 172.31.10.0 via 10.10.20.2
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/30 is directly connected, Serial3/0
L 192.168.10.1/32 is directly connected, Serial3/0

Le ping et le traceroute de l’hôte vers l’hôte Internet fonctionnent maintenant et la liaison de secours est utilisée :

R1#show ip route 172.31.10.0
Routing entry for 172.31.10.0/24
Known via "static", distance 250, metric 0 (connected)
Routing Descriptor Blocks:
* 10.10.20.2
Route metric is 0, traffic share count is 1
host#ping 10.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.100.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 76/79/80 ms
host#traceroute 10.100.1.1
Type escape sequence to abort.
Tracing the route to 10.100.1.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.31.10.2 1 msec 1 msec 1 msec
2 10.10.20.1 38 msec 39 msec 40 msec
3 192.168.10.2 80 msec * 80 msec

Conclusion

Cisco vous recommande vivement de spécifier l’interface de sortie et l’adresse IP du saut suivant lorsque vous configurez des routes statiques. Lorsque l’interface de sortie est un type de liaison point à point (par exemple, une liaison série), la spécification de l’adresse du saut suivant n’est pas nécessaire.

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *