4.7    Routing – Netzwerkgrenzen überschreiten

Der Weg Ihrer Datenpakete endet gewöhnlich an der Grenze des Netzwerksegments, in dem Sie diese erzeugt haben. Mittels Router überwinden Ihre Datenpakete diese Grenzen und können weltweit ihren Empfänger erreichen.

Router arbeiten auf der Ebene des IP-Protokolls (OSI-Ebene 3) und arbeiten damit mit den IP-Adressen. Diese Geräte kennen sowohl die an sie angeschlossenen Netze als auch ihre Nachbarn. Router tauschen mittels eigener Protokolle untereinander Informationen über Wege und Hosts aus. Sie benutzen dazu auch teilweise das ICMP- bzw. IGMP-Protokoll.

Router lösen den Datenteil des anfragenden Ethernet-Frames heraus. Die Daten werden in einen neuen Ethernet-Frame gesetzt, der die MAC-Adresse des nächsten Routers oder Zielrechners trägt. Die Ziel-IP-Adresse hilft dem Router, die für ihn »nächste« MAC-Adresse zu erfragen. Die Weitervermittlung über einen Router trägt den Namen Hop.

Router beherrschen redundante Verbindungen. Sie verwenden stets die schnellste. Im Beispiel in Abbildung 4.33 (linker Teil des Schemabildes) verläuft die schnelle Verbindung über die Router 1 und 3. Die langsamere Verbindung über die Router 2, 4 und 5 ist als Alternative hinterlegt.

Wenn nun Ihre schnelle Verbindung nicht mehr genutzt werden kann, kennen die Router die Ausweichstrecke, hier im Beispiel (Abbildung 4.33, rechter Teil des Schemabildes) über die Router 2, 4 und 5.

Links: Router bevorzugen stets die schnellste Verbindung; rechts: aktivierte Ersatzroute.

Abbildung 4.33     Links: Router bevorzugen stets die schnellste Verbindung; rechts: aktivierte Ersatzroute.

In der Praxis finden Sie bei der Internetanbindung kleinerer Netze eine ISDN-Anbindung als Notfalllösung vor. Fällt die DSL- oder Mietleitung aus, baut der Router über einen eingebauten ISDN-Anschluss eine »Notverbindung« per Einwahlleitung auf.

Sie können auch PCs als Router konfigurieren. Normalerweise verwenden Sie aber eigens dafür geschaffene Geräte. Bei Privatkunden und Firmen finden Sie oft DSL-Router in den verschiedensten Ausführungen. In manche Geräte ist ein kleiner Switch integriert. Andere Modelle besitzen WLAN-Funkeinrichtungen. Router finden Sie auch in den LAN-Verteilerschränken von Unternehmen, die ihre Filialen untereinander vernetzt haben.

Allgemeines über das Routing

Aufgabe: Datentransport durch ein IP-Netzwerk über Netzwerkgrenzen hinweg

Router tauschen ihre Informationen sowohl mit UDP als auch mit TCP aus.

Routing-Arten:

Wichtige Protokolle:

Begriffe:

Über die Eigenschaften der Routing-Protokolle müssen Sie dann informiert sein, wenn Sie Router-Hardware beschaffen. Im Allgemeinen treffen Sie auf Geräte, die auch mit mehreren Protokollen arbeiten können:

Tiefer möchte ich an dieser Stelle nicht in die Theorie der Routing-Protokolle einsteigen. In der Praxis kaufen Sie die Geräte, konfigurieren einige wenige Punkte und haben damit weiter nichts mehr zu tun. Sie führen allenfalls Firmware-Updates durch oder pflegen Konfigurationsänderungen ein.

4.7.1    Gemeinsame Nutzung einer IP-Adresse mit PAT

Ein kleines lokales Netz schließen Sie normalerweise per ISDN-Einwahl oder DSL an das Internet an. Ihr Provider weist Ihnen entweder dauerhaft oder temporär eine IPv4-Adresse zu. Ihre Rechner im lokalen Netz verfügen über private IPv4-Adressen. Nach außen, im Internet, werden sie aber nur durch diese einzige IPv4-Adresse repräsentiert.

Sie möchten vom Internet aus auf einen FTP-Server zugreifen, der auf einem Ihrer Rechner im lokalen Netz läuft. Ihr Router tritt als Stellvertreter dieses Rechners auf und leitet die entsprechenden Pakete an diesen Rechner weiter. Zum Gelingen dieser Aktion trägt PAT (Port and Address Translation) bei, auch bekannt unter dem Kürzel NAPT (Network Address Port Translation).

4.7.2    Festlegen des Standard-Gateways

In Abbildung 4.4 in Abschnitt 4.2.1 sehen Sie die manuelle Netzwerkkonfiguration eines Windows-PCs. In diese Maske tragen Sie auch das Standard-Gateway ein, das auch als Default-Router bezeichnet wird.

Bei Debian-Linux tragen Sie die Information für die jeweilige Netzwerkkarte in die Datei /etc/network/interfaces ein (siehe den Abschnitt »Linux« in Abschnitt 4.2.1) ein. Wenn Sie FreeBSD verwenden, setzen Sie den Eintrag unter /etc/rc.conf (siehe den Abschnitt »FreeBSD« in Abschnitt 4.2.1) ebenfalls bei der Netzwerkkarte (defaultrouter). Natürlich können Sie auch sysinstall zur Konfiguration verwenden.

Sie können diesen Eintrag (und alle anderen Routen auch) später nach dem vollständigen Rechnerstart ändern. Bei Linux und FreeBSD erstellen Sie dazu einfach ein RC-Skript, das die neuen Einträge setzt und sie gegebenenfalls beim Herunterfahren oder Wechsel in den Runlevel 1 wieder zurücksetzt. Solange das System nicht »für die Öffentlichkeit« arbeitet, werden seine Anfragen über das Gateway in das »geschützte« Netz geleitet. Sie können dann per Netz Sicherheits-Updates aufspielen oder andere, ebenso sicherheitsrelevante Arbeiten vornehmen.

4.7.3    Routing-Tabelle abfragen (»netstat«)

Sie können mit netstat die Routing-Tabellen Ihrer Systeme kontrollieren. Sie kommen damit falschen Einträgen, z. B. für das Default-Gateway, auf die Spur. Dieses Kommando können Sie auf allen gängigen Betriebssystemen absetzen; es unterscheiden sich aber teilweise die Optionen und der Umfang der Ergebnisanzeigen. Ich erkläre hier nur das Abfragen der Routing-Einträge. Weitere Ausführungen zu netstat finden Sie in Abschnitt 10.7.2, »Verbindungen mit ›netstat‹ anzeigen«. Geben Sie im Terminal (oder dem »DOS«-Fenster) netstat -r ein. In Abbildung 4.34 sehen Sie die Abfrage unter Debian-Linux. Dieselbe Ausgabe erhalten Sie übrigens mit dem Kommando route –n.

Ausgabe »netstat«

Abbildung 4.34     Ausgabe »netstat«

Sehen Sie sich die Ausgabe von netstat genauer an. Der Rechner hat zwei aktive Netzwerkkarten (eth0 und eth1), die in der rechten Spalte Iface aufgeführt werden. Die linke Spalte gibt das Ziel an. Hier finden Sie entweder eine IP-Adresse oder den Eintrag default. In diesem Fall wird hierher der gesamte Datenverkehr außerhalb des eigenen Netzes (hier 192.168.0.0) geschickt. In der zweiten Spalte von links finden Sie die Angabe für den Router. Das Zeichen »*« besagt, dass für das angegebene Ziel kein Router notwendig ist (hier lokales Netz). Dafür finden Sie zusätzlich eine Spalte weiter die passende Netzmaske (255.255.255.0). Für den Standard-Router finden Sie die IP-Adresse (192.168.0.1) sowie den Netzmaskeneintrag (0.0.0.0). Letzterer zeigt Ihnen zusätzlich an, dass alle nicht für das weiter oben angeführte lokale Netz bestimmten Pakete an diesen Router gegeben werden. Die Spalte Flags gibt Ihnen weitere Auskünfte (Tabelle 4.10). Die weiteren Angaben sind für die Kontrolle der Route ohne Belang.

Flag-Wert

Bedeutung

!

Sämtliche Datagramme werden verworfen.

D

Bezeichnet eine dynamische Route, die mittels ICMP-Nachricht oder eines Routing-Daemons erzeugt wird.

G

Die Route verläuft über ein Gateway.

H

Die Route bezieht sich auf einen einzelnen Host und kein (Teil-)Netz.

M

Der Eintrag wurde durch eine ICMP-Nachricht verändert.

U

aktive Netzwerkschnittstelle

Tabelle 4.10     Flag-Werte der »netstat«-Ausgabe

4.7.4    Routenverfolgung mit »traceroute«

Für die Verfolgung einer Route verwenden Sie traceroute. Sie müssen immer das Ziel als IP-Adresse oder Namen angeben. Die Option –6 prüft die Routen mit IPv6-Adressen. In Abbildung 4.35 sehen Sie zunächst eine Anfrage innerhalb des lokalen Netzes (1 Hop), weiter unten eine nach außerhalb (10 Hops).

Ausgabe von »traceroute«

Abbildung 4.35     Ausgabe von »traceroute«

4.7.5    Route manuell hinzufügen (»route add«)

Mit dem Befehl route add setzen Sie neue Einträge in die Routing-Tabelle des Systemkerns. Sie können sowohl einen Host (-host <ADRESSE>) als auch ein ganzes Netzwerk (‐net <ADRESSE>) als Ziel angeben. Unter Linux und FreeBSD finden Sie weitere Informationen, wenn Sie in der Shell man route eingeben. In Abbildung 4.36 sehen Sie das Setzen der Default-Route (Standard-Gateway). Mit der Zusatzangabe default gw drücken Sie dies in diesem Kommando aus.

Setzen der Default-Route

Abbildung 4.36     Setzen der Default-Route

Eine Route in ein weiteres Netz richten Sie mit der Angabe -net ein, wie Abbildung 4.37 zeigt. Hierbei müssen Sie auch die Netzmaske und die Schnittstelle angeben.

Setzen einer Route in ein (weiteres) Netz

Abbildung 4.37     Setzen einer Route in ein (weiteres) Netz

Sie können auch zu einem einzelnen Host eine Route setzen (Abbildung 4.38). Sie müssen die Netzwerkkarte angeben. In der Ausgabe von netstat sehen Sie die Kennzeichnung H für den Host.

Setzen einer Route für einen Host

Abbildung 4.38     Setzen einer Route für einen Host

Für die Betriebssysteme FreeBSD und Microsoft Windows weicht die Syntax des route-Kommandos ab. Sie finden die Befehle für das Setzen von Routen in Tabelle 4.11 und Tabelle 4.12.

Aktion

Beispiel

Default-Gateway setzen

route add default 192.168.0.1

Routing in ein weiteres Netz; der Router (192.168.1.1) muss mit angegeben werden.

route add -net 192.168.1.0/24 192.168.1.1

Routing an einen einzelnen Host

route add -host 192.168.1.2 192.168.1.1

Tabelle 4.11     FreeBSD: »route add«

Dauerhafte Routeneinträge bringen Sie in der Datei /etc/rc.conf unter. Schlagen Sie hierzu im Systemhandbuch von FreeBSD nach.

Aktion

Beispiel

Route anzeigen

route print

Standard-Gateway setzen

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1

Routing in ein weiteres Netzwerk

route add 192.168.1.0 mask 255.255.255.0 192.168.1.1

Dauerhafte Route setzen

route -p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

Tabelle 4.12     Microsoft Windows: »route add«

4.7.6    Route löschen (»route«)

Mit der Option -del löschen Sie Routen aus der Tabelle. Sie müssen dabei die vollständigen Angaben zur Route wie beim Setzen anführen (Abbildung 4.39).

Unter FreeBSD löschen Sie mittels

route del -net 192.168.1.0/24 

ein Netz oder mit

route del -host 192.168.1.2 

einen Host aus der Routing-Tabelle.

Löschen von Routen (zu einem Host und einem Netzwerk)

Abbildung 4.39     Löschen von Routen (zu einem Host und einem Netzwerk)

Bei Microsoft Windows geben Sie Folgendes ein:

route del 192.168.1.0 mask 255.255.255.0

Der route-Befehl von FreeBSD und Windows kennt einen Änderungsmodus (change). Damit ändern Sie Angaben in der Routing-Tabelle.