7 Netzwerkkonfiguration

In den vorangegangenen Kapiteln wurde bereits die Netzwerkfähigkeit von Linux beim Zugriff auf den Web - Server oder beim Versenden von Nachrichten ausgenutzt. An dieser Stelle wird die Netzwerkkonfiguration genauer untersucht und es werden weitere wichtige Dienste installiert und konfiguriert.

 

7.1 Das TCP/IP - Protokoll

Das im Internet verwendete Protokoll ist das TCP/IP - Protokoll. Hierbei handelt es sich um ein paketorientiertes Protokoll, d.h. die Daten werden in kleine Pakete aufgeteilt und ins Netz geschickt. Der Weg der einzelnen Pakete kann unterschiedlich sein und so müssen in jedem Paket Steuerinformationen enthalten sein um den korrekten Transport zu garantieren. Am Zielrechner werden die Teilinformationen dann wieder zusammengefügt.
Damit die verschickten Daten auch eindeutig einem Zielrechner zugeordnet werden können, wird jeder Rechner (Knoten) im Netz über eine weltweit eindeutige Adresse identifiziert, die sogenannte IP - Adresse. Diese Adresse besteht aus einem Netzanteil und einem Rechneranteil. Welcher Anteil der Adresse dem Netzwerk und welcher Teil dem Rechner zugeordnet ist, wird über die sogenannte Netzwerkmaske festgelegt. Das LTC z.B. hat Adressen wie folgt zugeordnet bekommen:

 

Beispiel:
mit der Netzwerkmaske:

255.255.255.0


Alle in der Netzwerkmaske mit "1" belegten Stellen, hier dezimale Schreibweise "255D=11111111B", geben den Netzanteil an und die mit "0" besetzten Stellen den Rechneranteil. Da die erste mögliche Adresse (158.64.19.0) als Netzadresse (Netzwerknummer) und die letzte (158.64.19.255) als Broadcastadresse (betrifft alle Knoten des Netzwerks) benutzt werden, können in einem solchen Netz 254 eindeutige Adressen den Rechnern zugewiesen werden.
Um Konflikte im Netzwerk zu vermeiden, können also nicht irgendwelche Adressen einem Rechner zugeordnet werden und man sollte dazu immer den Systemadministrator zu Rate ziehen. Im Falle eines privaten Netzes welches nicht direkt an das Internet gekoppelt wird, wurden spezielle Adressen reserviert die im Internet nicht weitergeleitet werden:

Klasse - A - Netz:

10.x.x.x
Maske 255.0.0.0
maximal 16777216 Rechner

Klasse - B - Netz:

172.16.x.x bis 172.31.x.x
Maske 255.255.0.0
maximal 16366 Rechner

Klasse - C - Netz:

192.168.0.0
Maske 255.255.255.0
maximal 254 Rechner


Weitere Informationen zu diesem Thema sind in fast allen Büchern zum Thema Linux und Internet zu finden, so daß hier von einer weiteren Ausführung abgesehen werden kann. (siehe [27] Kapitel 4.1 und [28] Kapitel 1.3)

 

7.1.1 TCP/IP - Tools

Um die Netzwerkkonfiguration zu überprüfen und um Fehler zu lokalisieren stehen dem Benutzer einige Anwendungen zur Verfügung:

 

7.2 Dezentrale Namensübersetzung

Das Arbeiten mit IP - Adressen ist für die Rechner sicher eine angenehme Sache, jedoch können die Menschen mit Zahlen nicht so gut umgehen und bevorzugen es einem Rechner einen leicht zu merkenden Namen zu geben.
Damit die Rechner diese Namen verstehen, müssen diese in die entsprechenden IP - Adressen umgewandelt werden. Diese Übersetzung kann einerseits zentral für die ganze Domäne auf einem Nameserver DNS (Domain Name Service) stattfinden, oder falls kein Nameserver im Netz vorhanden ist, lokal auf jedem Rechner.

Diese lokalen Zuordnungen werden in den folgenden Dateien eingetragen:

/etc/hosts
# IP-Address Full-Qualified-Hostname Short-Hostname
#

127.0.0.1
158.64.19.6
158.64.19.7
localhost
beethoven.ltc.lu
amadeus.ltc.lu

beethoven
amadeus

In dieser Datei werden alle Rechner eingetragen zu denen über den Namen eine Verbindung aufgebaut werden soll.

/etc/networks

loopback
ltc19
ltc20

127.0.0.0
158.64.19.0
158.64.20.0

Die Zuordnung kann nicht nur für Rechnernamen stattfinden, es können ebenso ganzen Netzwerken Namen zugeordnet werden.

Hierzu ist diese Lösung allerdings sehr unpraktisch. Wenn ein Rechner dem Netz hinzugefügt wird, muß dieser auf jedem Rechner im Netz eingetragen werden. Dies ist nur in kleinen Netzen realisierbar und es sollte auf jeden Fall ein eigener Nameserver eingerichtet werden. (siehe Kapitel 7.5)


7.3 Routing im Netz

Das Routing ist der Reiseleiter der Daten, die im Netzwerk übermittelt werden. Datenpakte die für Rechner im lokalen Netz bestimmt sind, werden einfach direkt zugestellt. Wenn die Daten aber an ein fremdes Netz gesendet werden sollen (andere IP - Adressen), weiß der Rechner nicht was er mit diesen Paketen anfangen soll. Wie ist dieses fremde Netz erreichbar? Diese Informationen sind in den sogenannten Routing - Tabellen enthalten. Durch Eingabe des Befehls route wird die aktuelle Tabelle angezeigt:

z.B.:
beethoven:~ # route
Kernel IP routing table

Destination
158.64.19.0
loopback
default

Gateway
*
*
amadeus.ltc.lu
Genmask
255.255.255.0
255.0.0.0
0.0.0.0
Flags
U
U
UG
Metric
0
0
0
Ref
0
0
0
Use
24
9
0
Iface
eth0
lo
eth0

Zur Verdeutlichung ist die Netzstruktur in Bild 7.1 graphisch dargestellt.


Bild 7.1. Zwei getrennte Netze mit gemeinsamer Verbindung zum Internet


Die erste Zeile gibt an, daß alle Pakete die für das lokale Netz 158.64.19.0 bestimmt sind an die Netzwerkkarte eth0 übergeben werden, welche sich um den weiteren Transport kümmert.
loopback ist eine virtuelle Netzwerkkarte die den eigenen Rechner anspricht.
Alle anderen Pakete, default, werden über die Netzwerkkarte eth0 an den Rechner amadeus (falls die Namensübersetzung nicht installiert ist, wird die IP - Adresse angegeben) gesendet, der sich um den weiteren Transport kümmert. Dieser Rechner wiederum, wird in seinen Routing - Tabellen nachschauen wie er diese Zieladresse erreichen kann. Dies könnte eine zweite Netzwerkkarte sein die die Daten entweder direkt zustellen kann oder die Daten werden an einen anderen Rechner übermittelt der beispielsweise Zugang zum Internet hat.

Für alle anderen Rechner (Bsp: ramzy.ltc.lu) im Netz 158.64.19.0 ist die Konfiguration identisch, da sie alle den gleichen Weg wählen müssen um Pakete zuzustellen. Ausnahme ist der Rechner amadeus.ltc.lu, da dieser nicht alle Ziele über eine Netzwerkkarte erreichen kann:

amadeus:~ # route
Kernel IP routing table

Destination
158.64.19.0
158.64.20.0
loopback
default

Gateway
*
*
*
gate.ltc.lu
Genmask
255.255.255.0
255.255.255.0
255.0.0.0
0.0.0.0
Flags
U
U
U
UG
Metric
0
0
0
0
Ref
0
0
0
0
Use
0
0
0
0
Iface
eth0
eth1
lo
eth0

Dieser muß, je nach Zielort, die Pakete an die entsprechende Netzwerkkarte weiterleiten: für das Netzwerk 158.64.19.0 an die Schnittstelle eth0 und für das Netzwerk 158.64.20.0 an die Schnittstelle eth1. Die restlichen, unbekannten Adressen, werden an den Rechner gate.ltc.lu gesendet der sich um den weiteren Transport kümmert.

Die Installation und Konfiguration mehrerer Netzwerkkarten wird in Kapitel 7.4 beschrieben.

 

7.3.1 Ändern der Routen

Die Routen können auf zwei Arten geändert werden:

 

7.3.2 Routing starten und beenden

Das Starten und Beenden des Dienstes wird analog zu den anderen Diensten mit:
/sbin/init.d/route {start|stop|reload|restart}
durchgeführt.
Hierbei werden allerdings nur die Routen gesetzt bzw. gelöscht welche in der Datei /etc/route.conf enthalten sind.

Folgendes Problem kann z.B. hierbei auftreten:
Eine Route "R1" wird aus der Datei /etc/route.conf entfernt. Beim Aufruf des Befehls /sbin/init.d/route stop werden aber nur die sich in der Konfigurationsdatei befindenden Routen gelöscht. Folglich bleibt genau die Route "R1" bestehen.
Beim erneuten Starten mit /sbin/init.d/route start werden alle Routen aus der Konfigurationsdatei zusätzlich zu "R1" gesetzt, so daß keinerlei Änderung stattgefunden hat.
Dieser Fehler kann vermieden werden durch Einhaltung folgender Schritte:

  • /sbin/init.d/route stop
  • Ändern der Konfigurationsdatei /etc/route.conf
  • /sbin/init.d/route start
  • Die aktuellen Routen sollten immer mit dem Befehl route überprüft werden und ggf. muß eine Route manuell gelöscht oder gesetzt werden.

Der Befehl route darf nicht mit dem Dämon routed verwechselt werden. Bei den hier verwendeten Routen handelt es sich um sogenannte statische Routen, die sich also nicht verändern. Dies ist auch sinnvoll, da sich die Netzwerkstruktur nicht ändert und die Datenpakete immer den gleichen Weg benutzen um an ihr Ziel zu gelangen.
Bei sehr großen Netzen, in welchen mehrere mögliche Strecken gewählt werden können für die Datenzustellung, kann mit dem Dämon routed ein dynamisches Routing aktiviert werden. Dabei wird ein eigenes Protokoll, RIP (Routing Information Protocol), benutzt mit welchem die einzelnen Router Informationen austauschen um so immer den günstigsten Weg zum Zielrechner zu ermitteln und die Routing - Tabellen automatisch, dynamisch anzupassen. Weitere Informationen können mit man routed angezeigt werden.

 

7.3.3 Unterteilung der Netze

In obigem Beispiel (Bild 7.1) könnten alle Rechner direkt ins Netz 158.64.20.0 aufgenommen werden und das Routing auf dem Rechner amadeus.ltc.lu könnte somit eingespart werden.

Eine Netzaufteilung kann folgende Gründe haben:


7.3.4 Einführung eines Grenznetzes

Am Anfang dieser Arbeit wurden viele Nachforschungen bezüglich der Sicherheit des Netzes gemacht. Bei der Wahlleitung ins Internet über den Provider RESTENA befanden sich alle Rechner in einem großen Netz und alle diese Rechner waren ohne Einschränkung direkt von außen zugänglich.

Die Aufgabe ist es also die Rechner im Schulnetz gegen unbefugten Zugriff von außen zu schützen und trotzdem Dienste öffentlich (WWW, FTP und Mail) zugänglich zu machen. Es gibt mehrere Sicherheitsmechanismen die hier angewendet werden können, für weitere Informationen wird auf [17] verwiesen.

Bei der hier angewandten Lösung handelt es sich um ein sogenanntes Grenznetz . Die gewählte Lösung ist allerdings von der Installation und Planung etwas aufwendiger, in bezug auf die Flexibilität ist sie jedoch sehr günstig. Da die meisten Schulen in absehbarer Zeit über eine Standleitung zum Internet verfügen, wird an dieser Stelle nicht mehr auf das Thema einer Wahlleitung per ISDN oder Modem eingegangen.


Bild 7.2. Einführung des Grenznetzes

Das Grenznetz liegt also zwischen dem internen Schulnetz und dem Internet als Abschirmung. Die Verbindung nach innen sowie nach außen erfolgt über einen separaten Router. Der Vorteil dieser Architektur liegt darin, daß jeweils der komplette Netzverkehr zum internen Netz auf dem internen Router (gate2.ltc.lu) protokolliert und gefiltert werden kann. Der Zugriff von außen wird über den, von RESTENA verwalteten, CISCO Router (gate.ltc.lu) geregelt.
Auf die Filtereinstellungen des CISCO Routers hat die Schule keinen Einfluß und RESTENA blockiert hier sämtliche Zugriffe von außen auf die internen Rechner. Damit ein Zugriff auf einige Rechner von außen überhaupt möglich ist, müssen die IP - Adressen und die gewünschten Protokolle der angebotenen Dienste explizit freigeschaltet werden. Zur Erinnerung:

  • Port 80:
  • Port 25:
  • Port 23:
  • Port 21:
  • Port 110

WWW
SMTP
Telnet
FTP
POP3

Anmerkung:

Da ein Zugriff von außen auf die internen Rechner nicht möglich ist, muß der Zugriff per FTP auf externe Rechner im passiven Modus ausgeführt werden. Normalerweise wird nämlich beim FTP - Zugriff auf einen externen Rechner die Verbindung vom internen Rechner angefragt, jedoch vom externen Rechner aufgebaut. Im passiven Modus wird die Verbindung direkt vom internen Rechner aufgebaut und somit ist kein Zugriff von außen nötig.

Für Testzwecke sollten jedoch einige wenige Adressen für alle Protokolle freigeschaltet werden. Somit ist es dem Administrator möglich neue Varianten oder Dienste auf diesen Adressen zu testen bevor eine neue Adresse mit speziellem Port bei RESTENA freigeschaltet werden muß.

Der innere Router kann mit einem Linux Rechner realisiert werden und so kann der Administrator des Schulnetzes den Zugriff zwischen dem internen Schulnetz und dem Grenznetz kontrollieren. Folgende Möglichkeiten bieten sich an:

Nach der Installation des CISCO - Routers durch RESTENA mit den sehr restriktiven Regeln wurde bislang von einer Installation und Konfiguration von weiteren Kontrollen und Zugriffsbeschränkungen auf dem internen Router abgesehen. Dieser leitet also im Moment alle Daten ohne Einschränkung weiter. Die Einführung des Grenznetzes wird aber beibehalten, da so zu jedem beliebigen Zeitpunkt ohne etwaige Konfigurationsänderungen der Rechner im internen Netz, beliebige Einschränkungen ohne großen Aufwand installiert werden können.

Für weitere Informationen sollten folgende Pakete aus der Serie n: firewall, ipchains, ipfwadm, sf installiert werden, und die mitgelieferten Dokumentationen in /usr/doc/packages sowie die entsprechenden Howtos (DE-Firewall-HOWTO.html)[30] sollten durchgelesen werden. Sehr empfehlenswert ist [17], hier sind auch die entsprechenden Hintergrundinformationen zu finden. Weitere Informationen befinden sich in [28] Kapitel 15 und [27] Kapitel 11.

 

7.4 Konfiguration mehrerer Netzwerkkarten

Im Falle einer physikalischen Trennung von zwei Netzwerken, die über einen Router miteinander verbunden werden sollen, müssen in diesem Rechner zwei Netzwerkkarten installiert werden.
Die Netzwerkarten werden unter Linux wie alle Hardwarekomponenten als Device angesprochen. Der Linux Kernel unterstützt standardmäßig bis zu vier Netzwerkarten: eth0, eth1, eth2, eth3. Falls mehr Netzwerkkarten benötigt werden, muß der Kernel mit einer entsprechenden Angabe neu kompiliert werden. (siehe [29])

Da hier nicht auf die Vielzahl der möglichen Netzwerkkarten eingegangen werden kann, wird auf DE-Mehrere-Ethernetkarten-HOWTO.html [29] verwiesen. Diese Datei ist, sofern die deutschen Howto's installiert wurden, unter /usr/doc/howto/de/html/mini/ zu finden. Die deutschen Howto's können auch direkt unter http://www.tu-harburg.de/~semb2204/dlhp/index.html abgerufen werden.

 

7.4.1 Konfiguration der Netzwerkkarten

Bei der Installation (siehe Kapitel 3) können Module für die Netzwerkkarten geladen werden. Es muß unterschieden werden, ob bereits beide Netzwerkkarten installiert sind und bei der Grundinstallation geladen werden, oder ob eine Karte zu einem späteren Zeitpunkt nachträglich installiert wird. Vor dem Einbau der Karten ist darauf zu achten, daß keine Konflikte bestehen und daß die I/O - Adressen sowie die Interrupts der Karten notiert werden.


7.4.1.1 Bei der Grundinstallation

Im Menü der Grundinstallation sind die Punkte Kernel-Module (Hardware-Treiber) und Netzwerktreiber laden auszuwählen. Nach Auswahl des Kartenmodells ist die Adresse in hexadezimaler Schreibweise (Bsp.: io=0x280) anzugeben.
Bei zwei unterschiedlichen Netzwerkkarten wird anschließend das nächste Modul mit entsprechender Adressenangabe geladen.
Da bei identischen Netzwerkkarten das entsprechende Modul nur einmal geladen werden kann, müssen beide Adressen sofort angegeben werden.
(Bsp.: io=0x280,0x300)
Die Zuordnung der Schnittstelle eth0, eth1 erfolgt nach der Reihenfolge der geladenen Module. Für das obige Beispiel ist eth0 also die Karte mit der Adresse 0x280 und eth1 die Karte mit der Adresse 0x300.
Diese Zuordnung sollte direkt an der Anschlußbuchse notiert werden um später Probleme zu vermeiden, da die Schnittstelle (eth0, eth1) beim Einrichten der Routen angegeben werden muß. Durch die physikalische Trennung der Netze muß ebenfalls darauf geachtet werden welches Kabel an welche Karte angeschlossen wird.

 

7.4.1.2 Nachträgliche Konfiguration der Netzwerkkarten

Wenn zu einem späteren Zeitpunkt die Karten installiert werden oder eine Karte hinzugefügt wird, werden diese mit YaST installiert und konfiguriert:
Administration des Systems, Hardware in System integrieren, Netzwerkkarte konfigurieren. (siehe Bild 7.3)

Analog zur Grundinstallation müssen bei identischen Karten alle Adressen angegeben werden und für unterschiedliche Karten wird dieser Punkt ein weiteres Mal aufgerufen und dann die Adresse der zweiten Karte angegeben. Da hier die Schnittstelle angegeben wird, kann eth1 auch vor eth0 definiert werden.

Die hier gemachten Eintragungen, sowie die Informationen über alle Module, werden in der Datei /etc/conf.modules gespeichert und können ggf. auch editiert werden.


Bild 7.3 Auswahl Netzwerkkarte

 

7.4.2 Aktivieren der Netzwerkkarten

Die Karten sind jetzt dem System bekannt und es müssen ihnen noch die IP - Adressen zugeordnet werden. Dies wird ebenfalls mit YaST unter folgendem Punkt vorgenommen. Administration des Systems, Netzwerk konfigurieren, Netzwerk Grundkonfiguration:


Bild 7.4 Auswahl des Netzwerks


Mit F5 wird die Karte ausgewählt. Bei Ethernet wird eine automatische Numerierung vorgenommen eth0, eth1. Mit F6 wird der entsprechenden Karte eine IP - Adresse zugeordnet. Durch die abschließende Aktivierung der Karte mit F4 wird die geänderte Konfiguration mit F10 abgespeichert.

Trotz Ausführung von SuSEconfig kann allerdings noch nicht auf das Netzwerk zugegriffen werden, da das Netzwerk erst noch gestartet werden muß. Dies kann erreicht werden durch:

Jetzt sind die Netzwerkkarten aktiviert, jedoch kann immer noch nicht auf einen anderen Rechner zugegriffen werden, da die Routen noch nicht definiert sind. Mit:
/sbin/init.d/route start werden auch diese aktiviert.

Auf diesem Rechner sind jetzt beide Netzwerke erreichbar. Allerdings können die Rechner des einen Netzes noch nicht auf die Rechner des anderen Netzes zugreifen. Dafür müssen noch zwei Einstellungen vorgenommen werden:

Beispiel:

wenn 158.64.19.1 und 158.64.20.1 die IP - Adressen der beiden Netzwerkkarten im Router sind.
route add -net 158.64.20.0 gw 158.64.19.1
route add -net 158.64.19.0 gw 158.64.20.1

 

7.4.3 Probleme mit NE2000 kompatiblen Netzwerkkarten

Bei der ersten Installation in der Schule wurden die Rechner mit NE2000 kompatiblen Karten ausgerüstet. Im abgeschirmten Netz laufen alle Dienste sehr zuverlässig. Bei der Integration ins Schulnetz sind die Rechner allerdings aus bislang unerklärlichen Gründen regelmäßig abgestürzt.

Es wurden viele Tests durchgeführt um das Problem zu beseitigen, aber alle getätigten Veränderungen konnten die Systemabstürze nicht verhindern. Durch Ersetzen der NE2000 - Karten durch 3Com 3C503 - Karten ist das Problem nicht mehr aufgetreten, so daß von einer weiteren Untersuchung abgesehen wurde.
Für weitere Informationen wird auf [28] verwiesen, in welchem sich das Kapitel 2.3.4 ausschließlich mit den Problemen von NE2000 - kompatiblen Netzwerkkarten beschäftigt.

 

7.4.4 Virtuelle Netzwerkkarten

Eine weitere Möglichkeit, die sehr oft zum Einsatz kommt, ist die Verwendung von virtuellen Netzwerkkarten. Somit kann auch ein Routing eingerichtet werden, allerdings wird dann auf eine physikalische Trennung der Netze komplett verzichtet. Hiermit wird also weder die Netzwerklast reduziert, noch eine sichere Trennung erreicht.
Der Einsatz ist allerdings sinnvoll um einer Netzwerkkarte mehrere IP - Adressen zuzuordnen. Nach außen erscheinen diese wie verschiedene Rechner. Zusätzlich können mehrere IP - basierte WWW - Server oder FTP - Server auf einem einzigen Rechner laufen. (siehe Kapitel 4 und 5)
Die Einrichtung virtueller Karten verläuft identisch wie bei realen Karten. Zur Unterscheidung werden sie aber anders bezeichnet. Wenn bereits eine reale Karte eth0 installiert ist, so werden die virtuellen Karten einfach eth0:0, eth0:1, eth0:2 bezeichnet.
Bei Auswahl des Netzwerks in YaST wird bei Device einfach <andere Device eingeben> ausgewählt und eth0:0 eingegeben. Nach Zuordnung der IP - Adresse und Starten des Netzwerks mit /sbin/init.d/network restart ist die virtuelle Karte eingerichtet. Sie kann aber auch direkt an der Kommandozeile mit eingerichtet werden:

z.B. ipconfig -a eth0:0 158.64.19.5

 

7.5 DNS - Domain Name Service

In Kapitel 7.2 wurde bereits auf die dezentrale Namensübersetzung eingegangen. Diese Art der Übersetzung der IP - Adressen in leicht zu merkende Namen wird allerdings in großen Netzen unüberschaubar und schwer konfigurierbar.

Will man beispielsweise Informationen vom Rechner www.men.lu beziehen, so weiß der eigene Rechner nicht wie er diesen Rechner erreichen kann. Um im Internet Informationen über den Standort der Rechner zentral aufzubewahren, wird die Übersetzung des Namens in die entsprechende IP - Adresse auf sogenannten Nameservern in Datenbanken aufbewahrt.

Bei der Auflösung des FQDN (Fully Qualified Domain Name) wird hinten angefangen. Auf einigen wenigen Rechnern im Internet, den Root - Rechnern, werden Informationen über die Top Level Domains (.com, .org, .edu, .de, .lu, ...) aufbewahrt. Beim Zugriff auf www.men.lu wird also zuerst .lu aufgelöst und man wird von einem solchen Root - Rechner die Information bekommen, daß die Top Level Domain .lu von RESTENA verwaltet wird. Der Top Level Nameserver bei RESTENA wiederum weiß, welcher Rechner die Informationen der Domäne men.lu aufbewahrt (medusa.men.lu) und dieser wird dann die IP - Adresse des Rechners www.men.lu zurückliefern.

Die Schulen in Luxemburg erhalten alle eine Second Level Domain (Bsp.: ltc.lu, lgl.lu, ...). Im nun folgenden wird die Einrichtung eines Nameservers für eine solche Domäne beschrieben.

 

7.5.1 Installation

Für die Einrichtung des Nameservers muß das Paket bind aus der Serie n installiert werden. Es gibt zwei Versionen vom Dämon named , die Version 4 und die Version 8. Für den Anfang reicht die alte Version völlig aus, sie ist leichter zu konfigurieren und kann später problemlos auf die neue Version angepaßt werden.

Bei der Installation werden auch Hilfetexte mitinstalliert, die unter /usr/doc/packages/bind zu finden sind. In der Datei ./dns-setup ist die Einrichtung sehr detailliert beschrieben, so daß an dieser Stelle nicht alle Einzelheiten behandelt werden. Es soll lediglich ein Schnelleinstieg erfolgen und es wird auf aufgetretene Probleme hingewiesen. Weitere Informationen sind unter [32] zu finden.

 

7.5.2 Konfiguration

Das Verhalten des Dämons named wird in der Datei /etc/named.boot festgelegt. Diese Datei ist mit vielen Beispielen versehen. Die verwendeten Einstellungen entsprechen dem Bild 7.2.

Die Datei named.boot am Beispiel des LTC Nameservers

Mit directory wird das Verzeichnis festgelegt, in welchem die Dateien für den Nameserver abgelegt werden.

Mit cache werden dem Nameserver einige Root - Server bekannt gemacht. Bei vollkommen unbekannten Domänen wird bei der Ermittlung der Adresse bei diesen Rechnern angefangen (siehe Beispiel www.men.lu). Der "." ist der Platzhalter für die Top Level Domains und root.cache ist die Datei in der die Informationen zu finden sind. Diese Datei wird mitgeliefert und befindet sich bereits im Verzeichnis /var/named.

Der erste primary - Eintrag gibt an, daß der Rechner als primärer Nameserver für das Loopback - Netzwerk arbeitet.

Mit der zweiten Angabe primary wird definiert, daß dieser Rechner die maßgebende Instanz für die Domäne ltc.lu ist. In der Datei ltc.lu.zone, die einen beliebigen Namen haben kann, ist die Abbildung der Rechnernamen auf die IP - Adressen enthalten.

Für die umgekehrte Auflösung, d.h. die Abbildung einer IP - Adresse auf einen Rechnernamen, sind die beiden nächsten Zeilen zuständig. Diese Informationen sind in der Datei ltc.lu.rev19 und ltc.lu.rev20 gespeichert. Der Ausdruck 19.64.158.in-addr.arpa ist zwingend vorgeschrieben. Es handelt sich hierbei um die rückwärts geschriebene Netzwerkadresse der Domäne ltc.lu, gefolgt vom Ausdruck in-addr.arpa. Da in dieser Domäne zwei Klasse C Netzwerke vorhanden sind, muß für jedes Netz eine solche Datei eingerichtet werden.
Bei der Angabe des Loopback - Netzes mit 0.0.127.in-addr.arpa wird dieses als Klasse C Netz behandelt, bei einem Netzwerk der Klasse B wäre der Eintrag 0.127.in-addr.arpa.

Mit forwarders wird ein (oder mehrere) Nameserver angegeben, die wahrscheinlich die Anfrage beantworten können, die der eigene Rechner nicht auflösen konnte. Damit wird erreicht, daß nicht bei jeder beliebigen Anfrage die Root - Rechner befragt werden müssen und somit werden die entlastet. Zusätzlich werden dadurch auch die Anfragen schneller beantwortet. Sinnvoll ist die Angabe des Nameservers des Internetanbieters (hier: ns.restena.lu - 158.64.1.25)

Achtung:

Die DNS unterscheidet nicht zwischen Klein- und Großschreibung, d.h. bei LTC.lu, lTC.lu und Ltc.Lu handelt es sich um die gleiche Domäne. Es ist ebenfalls darauf zu achten, daß nicht alle Zeichen erlaubt sind für die Vergabe von Rechnernamen (a-z, 0-9 und "-"). Ein weiterer wichtiger Unterschied zu sonstigen Konfigurationsdateien ist, daß das Kommentarzeichen ";" im Gegensatz zu "#" verwendet wird.

Jetzt müssen die oben angegebenen Dateien localhost.rev, ltc.lu.zone und ltc.lu.rev19 und ltc.lu.rev20 erstellt werden.

Es wird zunächst die Datei localhost.rev angegeben und die einzelnen Einträge werden dann einzeln erklärt.

Die Datei localhost.rev


Anmerkung:

Der Punkt hat noch eine weitere wichtige Funktion. Falls ein Name mit einem Punkt abgeschlossen wird, handelt es sich um einen kompletten FQDN (Fully Qualified Domain Name) und die Domäne darf nicht angehängt werden. Ist der Punkt nicht vorhanden, so wird jeweils der Domänenname an den Rechnernamen angehängt. Beim angehängten Domänennamen handelt es sich um den in @ gespeicherten Wert.

Beispiel:

in localhost.rev steht @ für 0.0.127.in-addr.arpa
in ltc.lu.zone steht @ für ltc.lu



Die Datei ltc.lu.zone

 

Der Anfang dieser Datei ist identisch mit der Datei localhost.rev, außer daß hier jetzt der richtige Rechnername ns.ltc.lu eingesetzt wurde.

Beim Rechner amadeus ist ebenfalls ein MX - Record eingetragen. Jede direkt an diesen Rechner gerichtete Nachricht wird an den zentralen Mail - Server gesendet. Die restlichen Rechner empfangen ihre Nachrichten selbst.

amadeus

IN A
IN MX

158.64.19.7
mail.ltc.lu.


Es wird noch einmal an die Bedeutung des Punkts erinnert. Bei amadeus wird die Domäne @=ltc.lu angehängt und bei mail.ltc.lu. nicht. Die beiden Zeilen entsprechen:

amadeus.ltc.lu.

IN A
IN MX

158.64.19.7
mail.ltc.lu.

 

Die Datei ltc.lu.rev19

 

Die Datei ltc.lu.rev20

 

Hier ist besonders darauf zu achten, daß die kompletten Rechnernamen mit angehängter Domäne angegeben werden und mit abschließendem Punkt angegeben werden.

Folgender Eintrag:

1 IN PTR gate2

würde nämlich zu:

1 IN PTR gate2.20.64.158.in-addr.arpa

vervollständigt werden.

 

7.5.3 Starten des Nameservers

Der Dämon named wird mit:
/sbin/init.d/named {start|stop|restart|reload|status}
gestartet bzw. beendet. Bei einer Änderung der Konfigurationsdateien können diese auch ohne Neustart geladen werden.
Anschließend muß die Konfiguration des Rechners noch geändert werden, damit dieser auch den Nameserver und nicht weiterhin die dezentrale Namensverwaltung benutzt. Mit YaST , Administration des Systems, Netzwerkkonfiguration, Konfiguration Nameserver wird der eigene Rechner als Nameserver angegeben. Es ist darauf zu achten, daß die IP - Adresse und nicht der Name des Servers angegeben wird, da der Name ja noch nicht aufgelöst werden kann.

Liste der IP - Adressen:

158.64.19.1

Liste der Domains:

ltc.lu


Diese Einstellungen werden in /etc/resolv.conf abgespeichert. Es können auch mehrere Server eingegeben werden. Als zweite Angabe eignet sich der Nameserver von RESTENA (158.64.1.25).

Jetzt kann mit tail /var/log/messages der Startvorgang überprüft werden:
gate named[5227]: starting
gate named[5227]: cache zone "" loaded (serial 0)
gate named[5227]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1999080401)
gate named[5227]: primary zone "ltc.lu" loaded (serial 1999080401)
gate named[5227]: primary zone "20.64.158.in-addr.arpa" loaded (serial 1999080401)
gate named[5227]: primary zone "19.64.158.in-addr.arpa" loaded (serial 1999080401)
gate named[5228]: Ready to answer queries.

Alle in den Dateien vorhandenen Rechner können jetzt direkt über den Namen angesprochen werden. Es bleibt noch den Nameserver auch auf den anderen Maschinen im Netz einzutragen.
Um den Dienst bei jedem Neustart des Rechners zu aktivieren, wird dies in der Konfigurationsdatei mit YaST - Administration des Systems - Konfigurationsdatei verändern durch folgende Angabe mitgeteilt:

START_NAMED=yes

 

7.5.4 Sekundärer Namesever

Sekundäre Server halten eine aktuelle Kopie der Daten zur Verfügung und beantworten die Anfragen in dem Fall, wo der primäre Nameserver nicht erreichbar ist.
Die Einrichtung eines sekundären Nameservers wird ebenfalls über die Datei /etc/named.boot realisiert. Dabei ist es unerheblich ob es sich um einen reinen sekundären Server handelt, oder ob er auch primärer Nameserver seiner eigenen Domäne ist. Folgende Zeilen werden in die Konfigurationsdatei eingefügt:

Diese Konfiguration könnte z.B. auf host2.ltc.lu durchgeführt werden.

Beim Start des Dämons werden die Originaldaten vom primären Server in den angegebenen Dateien gespeichert. Um diese von anderen Daten zu unterscheiden, kann man sie in einem getrennten Verzeichnis ablegen, oder wie hier, mit einer leicht erkennbaren Erweiterung (.sec) kennzeichnen. Anfragen die nicht beantwortet werden können, werden an die unter forwarders angegebenen Server weitergeleitet.
Die Aktualisierung der Daten erfolgt jeweils nur, wenn die Seriennummer der Originaldaten sich verändert. Deshalb ist es wichtig, falls sekundäre Server im Einsatz sind, diese Seriennummer immer anzupassen. Der Zeitintervall nach dem eine etwaige Aktualisierung erfolgen soll , ist in der Datei mit der Option Refresh angegeben. Bei der Angabe von 28800 Sekunden wird die Seriennummer der bereits geladenen Datei mit der Seriennummer der Originaldateien alle 8 Stunden verglichen.

Es bietet sich an bei RESTENA einen sekundären Nameserver der eigenen Domäne laufen zu lassen. Dabei ist allerdings zu beachten, daß Anfragen aus dem Internet zuerst von diesem beantwortet werden und es somit bis zu maximal 8 Stunden dauern kann bevor Änderungen im Internet wirksam werden. Bei Zeiten starker Änderungen im eigenen Netz sollte die Refresh - Rate vorübergehend herabgesetzt werden.

 

7.5.5 Umstieg auf die Version 8

Die Version 8 bietet viele neue Möglichkeiten den Server zu konfigurieren. An dieser Stelle soll aber nicht darauf eingegangen werden. Die letzte Version von [32], vom Februar 1999, bezieht sich bereits auf die neue Version 8. Hier ist auch der Umstieg von der alten Version gut beschrieben.

Um die alte Konfigurationsdatei von der neuen zu unterscheiden wurde der Name geändert. Von named.boot auf named.conf. Um diese Datei nicht neu erstellen zu müssen wird ein kleines Skript named-bootconf.pl mitgeliefert, welches die Umwandlung übernimmt. Es ist unter /usr/doc/packages/bind zu finden. Die Datei root.cache heißt nun root.hint und sie muß ebenfalls in der Konfigurationsdatei angegeben werden.

Am besten kopiert man dieses Skript und die Datei /etc/named.boot in das Verzeichnis /var/named. Anschließend muß man dem Skript noch Ausführungsrechte hinzufügen mit:

chmod +x named-bootconf.pl


Jetzt wird mit: ./named-bootconf.pl < named.boot > named.conf
die neue Konfigurationsdatei erstellt. Nachdem diese in das Verzeichnis /etc kopiert wurde und der Dämon named neu gestartet wurde läuft die neue Version.


Bei der Konvertierung fehlt allerdings eine Eingabe bei sekundären (slave) Zonen, die diverse Fehlermeldungen in den log - Dateien beim Start des Dämons produziert. Es handelt sich hierbei um die IP - Adresse des primären Servers (master). Nach dem Einfügen der Adresse und dem Neustart läuft alles.



 

Home
1999 Claude Leniger claude.leniger@ltc.lu