Articles

Spezifizieren einer Next Hop IP-Adresse für statische Routen

Einführung

Dieses Dokument beschreibt das grundlegende Konzept der statischen Routen. Anhand eines Problemszenarios wird gezeigt, unter welchen Umständen es wünschenswert ist, bei der Konfiguration einer statischen Route die Schnittstelle anzugeben, über die die Next-Hop-IP-Adresse erreicht werden kann. Andernfalls kann es zu unerwünschtem Verhalten und einem gestörten Netzwerkzustand kommen.

Hintergrundinformationen

Statische Routen werden aus verschiedenen Gründen verwendet und kommen oft zum Einsatz, wenn es keine dynamische Route zur Ziel-IP-Adresse gibt oder wenn Sie die dynamisch gelernte Route außer Kraft setzen wollen.

Standardmäßig haben statische Routen eine administrative Distanz von eins, wodurch sie Vorrang vor Routen von jedem dynamischen Routing-Protokoll haben. Wenn Sie die administrative Distanz auf einen Wert erhöhen, der größer ist als der eines dynamischen Routing-Protokolls, kann die statische Route ein Sicherheitsnetz für den Fall sein, dass das dynamische Routing ausfällt. Beispielsweise haben von EIGRP (Enhanced Interior Gateway Routing Protocol) abgeleitete Routen eine standardmäßige administrative Distanz von 90 für interne Routen und 170 für externe Routen. Um eine statische Route zu konfigurieren, die von einer EIGRP-Route überschrieben wird, geben Sie für die statische Route eine administrative Distanz an, die größer als 170 ist.

Diese Art von statischer Route mit einer hohen administrativen Distanz wird als schwebende statische Route bezeichnet. Sie wird erst dann in der Routing-Tabelle installiert, wenn die dynamisch gelernte Route verschwindet. Ein Beispiel für eine schwebende statische Route ist ip route 172.31.10.0 255.255.255.0 10.10.10.2 101.

Hinweis: Eine administrative Distanz von 255 gilt als unerreichbar, und statische Routen mit einer administrativen Distanz von 255 werden nie in die Routing-Tabelle eingetragen.

Statische Route auf Schnittstelle ohne Next-Hop-IP-Adresse

Wenn Sie eine statische Route auf eine Schnittstelle zeigen und die Next-Hop-IP-Adresse nicht angeben, wird die Route nur dann in die Routing-Tabelle eingefügt, wenn die Schnittstelle aktiv ist. Diese Konfiguration wird nicht empfohlen, da der Router, wenn die statische Route auf eine Schnittstelle zeigt und keine Next-Hop-Informationen enthält, jeden der Hosts innerhalb des Bereichs der Route als direkt über diese Schnittstelle verbunden betrachtet. Ein Beispiel für eine solche statische Route ist ip route 0.0.0.0 0.0.0.0 Ethernet0.

Bei dieser Art von Konfiguration führt ein Router das Address Resolution Protocol (ARP) auf dem Ethernet für jedes Ziel aus, das der Router über die Standardroute findet, da der Router alle diese Ziele als direkt mit Ethernet 0 verbunden betrachtet. Diese Art von statischer Route kann, insbesondere wenn sie von vielen Paketen zu vielen verschiedenen Ziel-Subnetzen verwendet wird, eine hohe Prozessorauslastung und einen sehr großen ARP-Cache (zusammen mit Fehlern bei der Speicherzuweisung) verursachen. Daher wird diese Art von statischer Route nicht empfohlen.

Wenn Sie die Next-Hop-Adresse auf einer direkt angeschlossenen Schnittstelle angeben, führt der Router kein ARP für jede Zieladresse durch. Ein Beispiel ist ip route 0.0.0.0 0.0.0.0 Ethernet0 192.168.1.1. Sie können nur die direkt verbundene Adresse des nächsten Hops angeben, aber dies wird aus Gründen, die in diesem Dokument beschrieben sind, nicht empfohlen. Sie müssen die direkt verbundene Next-Hop-Adresse nicht angeben. Sie können die Adresse des entfernten nächsten Hops und die Schnittstelle angeben, zu der der entfernte nächste Hop rekursiv ist.

Wenn die Möglichkeit besteht, dass die Schnittstelle mit dem nächsten Hop ausfällt und der nächste Hop durch eine rekursive Route erreichbar wird, dann sollten Sie sowohl die IP-Adresse des nächsten Hops als auch die alternative Schnittstelle angeben, über die der nächste Hop gefunden werden soll. Zum Beispiel: ip route 10.0.0.1 255.255.255.255 Serial 3/3 192.168.20.1. Durch das Hinzufügen der alternativen Schnittstelle wird die Installation der statischen Route deterministischer.

Beispiel für eine schwebende statische Route

Dieses Beispiel beschreibt die Verwendung von schwebenden statischen Routen und veranschaulicht die Notwendigkeit, sowohl die ausgehende Schnittstelle als auch die Adresse des nächsten Hops mit dem Befehl für die statische Route anzugeben.

Problem

Mit der Netzwerkkonfiguration, die im nächsten Bild dargestellt ist, hat ein Host 172.31.10.1 eine Verbindung zum Internet. In diesem Beispiel stellt der Host eine Verbindung zum entfernten Internet-Host 10.100.1.1 her:

Bei dieser Konfiguration ist die primäre Verbindung die Verbindung zwischen dem seriellen Port 1/0 auf R1 und dem seriellen Port 1/0 auf R2 für den Verkehr zum und vom Host 172.31.10.1 zum Internet. Der Host 10.100.1.1 wird hier als Beispiel für einen Internet-Host verwendet. Die Verbindung zwischen dem seriellen Anschluss 2/0 auf R1 und dem seriellen Anschluss 2/0 auf R2 ist der Backup-Link. Der Backup-Link sollte nur verwendet werden, wenn der primäre Link ausfällt. Dies wird mit Hilfe von statischen Routen, die auf den primären Link zeigen, und der Verwendung von gleitenden statischen Routen, die auf den Backup-Link zeigen, realisiert.

Auf R1 gibt es zwei statische Routen zum gleichen Ziel (172.31.10.0/24). Eine Route ist die reguläre statische Route und die andere Route ist eine schwebende statische Route, die den Backup- oder redundanten Pfad zum Zielnetzwerk im LAN darstellt. Das Problem in diesem Szenario ist, dass die schwebende statische Route nie in der Routing-Tabelle installiert wird, wenn der primäre Link ausgefallen ist.

So sieht die Konfiguration auf R1 aus:

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.

So sieht die Konfiguration auf R2 aus:

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
!

So sieht die Routing-Tabelle auf R1 aus:

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

Wenn ein Ping vom Host zum Internet-Host 10 durchgeführt wird.100.1.1, funktioniert er wie erwartet:

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

Ein Traceroute vom Host zum Internet-Host 10.100.1.1 zeigt folgendes:

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

Der primäre Link 10.10.10.0/30 wird verwendet.

Wenn Sie den seriellen Port 1/0 auf R1 abschalten, um das Failover zu testen, sollten Sie erwarten, dass R1 die schwebende statische Route zum lokalen LAN 172.31.10.0 installiert und dass R2 die schwebende statische Route zu 0.0.0.0 durch 10.10.20.1 installiert. Sie sollten erwarten, dass der Verkehr über den Backup-Link fließt.

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#

Die statische Route für das LAN 172.31.10.0/24 bleibt in der Routing-Tabelle für 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

Der Ping und Traceroute vom Host funktionieren nicht mehr:

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 * * *

Die schwebende statische Route ist auf R1 nicht installiert und die primäre statische Route ist immer noch in der Routing-Tabelle für R1, obwohl die Verbindung zum seriellen Port 1/0 abgeschaltet ist. Dies geschieht, weil statische Routen von Natur aus rekursiv sind. Sie behalten die statische Route immer in der Routing-Tabelle, solange Sie eine Route zum nächsten Hop haben.

In diesem Problemszenario könnte man erwarten, dass, da die primäre Verbindung ausgefallen ist, die schwebende statische Route mit der administrativen Distanz 250 in der Routing-Tabelle auf R1 installiert sein sollte. Die schwebende statische Route wird jedoch nicht in der Routing-Tabelle installiert, da die reguläre statische Route in der Routing-Tabelle verbleibt. Die Next-Hop-Adresse 10.10.10.2 wird über die statische Route 10.0.0.0/8, die in der Routing-Tabelle vorhanden ist, erfolgreich rekursiv erreicht (zu 192.168.10.2).

Lösung

Konfigurieren Sie auf R1 eine statische Route, bei der der Next-Hop nicht auf eine andere statische Route rekursiv sein kann. Cisco empfiehlt, sowohl die ausgehende Schnittstelle als auch die Adresse des nächsten Hops für eine statische Route zu konfigurieren. Im Falle einer seriellen Schnittstelle ist die Angabe der ausgehenden Schnittstelle ausreichend, da eine serielle Schnittstelle eine Punkt-zu-Punkt-Schnittstelle ist. Handelt es sich bei der ausgehenden Schnittstelle um eine Ethernet-Schnittstelle, dann müssen Sie sowohl die ausgehende Schnittstelle als auch die Next-Hop-Adresse konfigurieren.

Hier wird eine statische Route für das LAN mit der Angabe der ausgehenden Schnittstelle konfiguriert:

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

Der Ping und Traceroute vom Host zum Internet-Host funktionieren nun und der Backup-Link wird verwendet:

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

Fazit

Cisco empfiehlt dringend, bei der Konfiguration von statischen Routen das ausgehende Interface und die Next Hop IP-Adresse anzugeben. Wenn die ausgehende Schnittstelle eine Punkt-zu-Punkt-Verbindung ist (z. B. eine serielle Verbindung), ist die Angabe der Next-Hop-Adresse nicht erforderlich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.