Statisches Routing: Ein Beispiel

Willemers Informatik-Ecke

Statisches Routing: Ein Beispiel

Das Beispiel geht von einer Firma mit zwei Filialen und zwei Hauptgeschäftsstellen aus. Die eine Zentrale liegt in Gintoft, die andere in Norgaardholz. Jede der Filialen hat 100 PCs. Die Filialen liegen in Hamburg und Frankfurt/Oder und haben je 2 PCs.

Es werden die IP-Nummern für die Netze festgelegt:

IP-Nummer ; Bereich
192.168.108.0 Gintofter Netz
192.168.109.0 Norgaardholzer Netz
192.168.110.0 Hamburger Netz
192.168.111.0 Frankfurter Netz

Die Arbeitsplätze sollen von 1 bis 190 durchnumeriert werden. Die Server sollen als 201, weitere als 202, 203 und Router als 254 angesprochen werden.

/etc/hosts

Da Nummern sehr abstrakt sind, sollen die Rechner Namen erhalten. Die Arbeitsplätze in Gintoft erhalten den Praefix gin, die von Norgaardholz nor. In der Datei /etc/hosts hält UNIX die Liste, die die Namen auf die IP-Nummern abbildet. Die /etc/hosts sieht etwa so aus:

192.168.108.1     gin1
192.168.108.2     gin2
192.168.108.3     gin3
192.168.108.254   ginrout1
192.168.108.201   ginsrv1

192.168.109.1     nor1
192.168.109.2     nor2
192.168.109.3     nor3
192.168.109.254   norrout1
192.168.109.201   norsrv1

192.168.110.1     hh1
192.168.110.2     hh2
192.168.110.254   hhrout1

192.168.111.1     ffo1
192.168.111.2     ffo2
192.168.111.254   fforout1

Nur ein Gateway: default route

Da es in unserem Beispiel nur ein Gateway in jedem Netz gibt, ist die Konfiguration der Arbeitsplätze recht einfach: sie erhalten jeweils einen Default-Eintrag auf ihren Router. Für die Norgaardholzer Arbeitsplätze und den dortigen Server lautet er:

route add default norrout1 1

route unter MS-Windows

Bei Arbeitsplätzen mit MS-Windows wird der Eintrag unter Systemkonfiguration - Netzwerk - Protokolle - TCP/IP - Gateway eingetragen. Hier ist Platz für ein oder mehrere default Routen. Ist es notwendig, einem Windowsrechner Routen zu verschiedenen Netzwerken über unterschiedliche Gateways einzutragen, erreicht man das nicht mehr über grafische Dialoge. Hier müssen Sie den route-Befehl in die AUTOEXEC.BAT schreiben. Wenn Sie im Beispiel davon ausgingen, dass Norgaardholz ein Router norrout2 den Zugang zum Internet realisierte, können Sie diesen in den Eintrag Gateway in der Systemkonfiguration eintragen. Für die Routen zu den Netzen Gintoft, Hamburg und Frankfurt müssten Sie folgende Befehle in der AUTOEXEC.BAT eintragen:

route add 192.168.108.0 mask 255.255.255.0 norrout1
route add 192.168.110.0 mask 255.255.255.0 norrout1
route add 192.168.111.0 mask 255.255.255.0 norrout1

Gateway-Konfiguration zwischen Gintoft und Norgaardholz

Zwischennetz zwischen den Routern

Die Konfiguration wird bei den Routern interessanter. norrout1 hat zwei Interfaces. Das eine ist als 192.168.109.254 eine Ethernetkarte. Das andere Interface geht auf eine Telefonleitung und verbindet sich mit dem ginrout1. Zwischen ginrout1 und norrout1 gibt es also wiederum ein Netzwerk. Da dieses Netz nur den beiden Routern bekannt ist, verwendet man dort einfach irgendeine freie Nummer, beispielsweise 192.168.1.109 für norrout1 und 192.168.1.108 für ginrout1. Da dieses >>Zwischennetz<< nur zwischen den Routern bekannt ist, ist dieses nicht unbedingt erforderlich und wird von einigen Routern gar nicht benötigt. Allerdings wird das Verständnis durch den Wegfall auch nicht leichter. Die Routingtabellen des norrout1 lauten also:

# die Route auf das eigene, interne Netz
route add 192.168.109.0 192.168.109.254 1 
# Gintoft über den Gintofter Router
route add 192.168.108.0 192.168.1.108 1   
# Gintofter Router über WAN
route add 192.168.1.108 192.168.1.109 1   

Damit kann norrout1 nur Nachrichten nach Gintoft bearbeiten. Andere Pakete fasst er nicht an. Ein Paket von Norgaardholz nach Gintoft würde nun seinen Weg finden, aber nicht mehr zurück, da in Gintoft der Router nicht weiß, wie das Paket nach Norgaardholz findet. Auf dem ginrout1 müssten die Routen also spiegelbildlich zum norrout1 eingerichtet werden. Noch einfacher wird es, wenn man davon ausgehen kann, dass der norrout1 alle Verbindungen zu den Filialen übernimmt. Dann braucht ginrout1 nur den Eintrag

route add default 192.168.1.109 1

Anbindung der Filialen

Nun werden in Norgaardholz noch die Routen zu den Filialen in Hamburg und Frankfurt/Oder gebraucht. Wir vergeben der WAN Schnittstelle in Hamburg die Nummer 192.168.1.110 und der in Frankfurt 192.168.1.111. Durch die Routen

route add 192.168.110.0 192.168.1.110 1  # HH über HH Router
route add 192.168.111.0 192.168.1.111 1  # Ffm über Ffm Router
route add 192.168.1.110 192.168.1.109 1  # HH Router über WAN
route add 192.168.1.111 192.168.1.109 1  # Ffm Router über WAN

würde eine Verbindung von Norgaardholz nach Hamburg oder Frankfurt auf gleiche Weise geschlagen wie nach Gintoft. Natürlich muss auch hhrout1 und fforout1 mit den entsprechenden Routing-Einträgen versehen werden.

Was passiert aber, wenn Hamburg und Gintoft gleichzeitig arbeiten wollten? Damit jede Aussenstelle jederzeit eine freie Leitung vorfindet, werden drei Modems oder zwei ISDN-Karten besorgt. Da jede ISDN-Karte zwei B-Kanäle betreuen kann, reichen zwei ISDN-Aschnlüsse, da jeder zwei B-Kanäle besitzt. Damit die Zuordnung klar ist, werden für den norrout1 mehrere WAN-Adapter eingerichtet.

route add 192.168.1.110 192.168.1.2 1   # HH  Router über WAN 2
route add 192.168.1.111 192.168.1.3 1   # Ffm Router über WAN 3

Alternativen

Würde nun Gintoft deutlich häufiger mit Hamburg zu tun haben als Norgaardholz, würde man die WAN-Anbindung dorthin natürlich nicht über Norgaardholz, sondern über Gintoft ansteuern. Dabei würde man sogar einen ISDN-Anschluss sparen, da Gintoft und Norgaardholz je zwei Kanäle brauchten. Allerdings würde das Routing geringfügig komplizierter, da der Router norrout1 für eine Verbindung nach Hamburg auf ginrout1 verweisen müsste.

Insbesondere bei Firmen mit vielen Filialen stellt sich die Frage, ob man nicht abwechselnd alle Filialen über eine Telefonleitung ansprechen kann. Das hängt natürlich davon ab, wie die Filialen mit den Rechnern in den Zentralen arbeiten. Findet nur nachts ein Datenabgleich statt, kann man den natürlich serialisieren. Geeignete Router, die verschiedene Netzadressen auf verschiedene Telefonnummern abbilden, sind am Markt verfügbar. In dem Moment, wo aber die Filialen in Konkurrenz und zeitlich nicht vorhersehbar auf die Zentralen zugreifen und umgekehrt, empfiehlt sich eine Trennung nach Kanälen. Ein Anschluss für ISDN ist nicht sehr teuer und die Möglichkeit, dass sich das Netz verklemmt, ist ausgeschlossen. Beim Thema Kosten sollte auch geprüft werden, ob es nicht sogar günstiger ist, eine Standleitung zu verwenden.

Von der IP zur Telefonnummer

Bisher wurde völlig übergangen, wie man eine TCP/IP-­Ver­bin­dung über ISDN legen kann. Tatsächlich ist das recht einfach möglich. Leider ist die Art der Konfiguration von dem verwendeten Router abhängig.

Als Beispiel soll ein Router unter Linux verwendet werden. Dort gibt es bei jeder Distribution das Paket i4l (ISDN for Linux). Die einzelnen B-Kanäle der ISDN-Karten werden auf ISDN-Devices abgebildet. Bei einer einfachen Karte lauten sie isdn0 und isdn1. Jedem dieser Devices wird mit dem Befehl isdnctrl die anzurufende Telefonnummer hinterlegt. Sobald das Interface angesprochen wird, wird die Verbindung gewählt. Bewegt sich auf der Leitung einige Zeit nichts mehr, legt die Software auf, um Verbindungskosten zu sparen.

Sicherung des ISDN-Zugangs

Einen solchen ISDN-Zugang wird jede Firma als Sicherheitsrisiko empfinden, solange nicht sichergestellt ist, dass er nur von der Filiale benutzt werden kann. Man kann dem Interface die Nummer angeben, die der Anrufer haben darf. Alle anderen Telefonnummern werden dann vom Interface abgewiesen. Es ist für einen Angreifer leicht, seine Telefonnummer zu unterdrücken. Aber das nützt ihm nichts, da er die Nummer der Filiale vorweisen muss und das ist nicht so einfach. Eine weitere Sicherungsmöglichkeit besteht im Callback. Die Filiale ruft an und signalisiert damit, dass sie eine Verbindung haben möchte. Die Zentrale weist den Anruf zurück und ruft die Filiale sofort zurück. Auf diese Weise ist sicher, dass nur die Filiale einen Zugang hat, selbst wenn es einem Angreifer gelingen würde, die Telefonnummer der Filiale zu fälschen.

Paketchen auf Reisen

Zur Veranschaulichung wollen wir ein Paket vom gin3 zum norsrv1 und zurück schicken. Es würde also auf dem gin3 der Befehl

ping norsrv1

gin3

abgesetzt. Zunächst würde über die Datei /etc/hosts von gin3 festgestellt, dass norsrv1 die IP-Nummer 192.168.109.201 hat. Das Paket erhält dies als Zieladresse und die eigene Adresse wird in den Absender gesteckt. Bereits dem Rechner gin3 ist klar, dass das Paket nicht zum eigenen Netz gehört. Gäbe es auf gin3 keinen Routing-Eintrag, erhielte man hier die Meldung:

no route to host

ginrout1

Durch die default-Route wird das Paket nun erst einmal zum ginrout1 geschafft. Dieser liest wiederum die Adresse. Wäre ihm keine Route bekannt, würde er das Paket mit der Fehlermeldung >>no route to host<< an gin3 zurückschicken.

norrout1

Da er aber eine Route hat, die an die ISDN Schnittstelle des norrout1 gerichtet ist, wird das Paket auf die Reise geschickt. norrout1 erkennt in der Adresse eine gültige Adresse für das Netz an seiner Ethernetkarte. Also reicht er das Paket hierhin weiter. Auf dem Ethernet findet es nun norsrv1.

nosrv1

Gemäß dem ping-Protokoll tauscht norsrv1 nun Sender- und Empfängeradresse und schickt das Paket wieder los. Würde hier nicht die default Route greifen, würde norsrv1 auf einem Paket sitzen, das nicht ins eigene Netz gehört und für das es keine Route gibt. Da eben gerade die Adresse von gin3 unbekannt ist, kann gin3 von diesem Problem nichts mitbekommen. Bleiben Pakete also ohne Fehlermeldung einfach aus, spricht alles dafür, dass sie korrekt das eigene Netz verlassen konnten, aber im fremden Netz nicht mehr den Weg zurück fanden. In diesem Fall könnte man sicher sein, dass das Problem auf norsrv1 oder norrout1 liegt.

norrout1

Da es aber die default-Route gibt, geht das Paket an norrout1. norrout1 erkennt die Nummer als Netznummer von Gintoft und besitzt eine Route dorthin über ginrout1.

ginrout1

Dieser gibt das Paket auf das Ethernet, so dass es zu gin3 zurück findet.

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru
Verlagsrechte bei galileo computing


Homepage (C) Copyright 2002 Arnold Willemer