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-Verbindung
ü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
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:
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.