Namensauflösung

Aus M740 WikiWeb

Wechseln zu: Navigation, Suche


Als Namensauflösung bezeichnet man die Verfahren, die es ermöglichen Namen, Namen von Rechnern bzw. Diensten in eine vom Computer verarbeitbare Adresse aufzulösen.

Der Mensch merkt sich leichter sprechende Namen, die Computer müssen hingegen numerische Adressen verwenden. Z.B. werden im Internet Namen als Adresse verwendet (www.wikipedia.de). Der Namen muss in eine IP-Adresse aufgelöst werden, damit der Computer die Internetseite erreichen kann. Die Namensauflösung für www.wikipedia.de liefert die IP-Adresse 207.142.131.235 zurück. Quelle: Wikipedia

Inhaltsverzeichnis

DNS für die M740AV

Siemens hat bei der Konfiguration der Netzwerkunterstützung keine Eingabe eines Nameservers vorgesehen. Benötigt wird sie für den "normalen" Betrieb auch nicht, der SMB-Client kann die Namen auch mit Hilfe von NetBIOS auflösen.

Gebraucht wird sie z.B. für

  • das hoch oder herrunterladen von Dateien auf oder zu einem Rechner im Internet, zumindest wenn er über einen Hostnamen angesprochen wird.
  • Den Betrieb eines Sambaservers

Je nach Anforderung gibt es mehr wie eine Lösung, der M740AV die Namensauflösung beizubringen.

Eigener DNS Server im Netzwerk

Falls schon ein DNS-Server im Netzwerk am werkeln ist (z.B. auf einem Linux DSL-Router oder einem Windows Server), ist die Sache sehr einfach und vor allem sehr elegant: bei dem DNS-Server wird einfach ein Eintrag mit dem Namen und der IP der M740AV hinzugefügt (am besten auch gleich ein Eintrag für die Rückwärtsauflösung/PTR) und der DNS-Server der Box bekannt gemacht (benötigt wird Zugriff auf die M740AV via Telnet):

echo domain <arbeitsgruppe|domäne> > /etc/resolv.conf
echo nameserver <ip des dns-server> >> /etc/resolv.conf

Vorher <arbeitsgruppe|domäne> und <ip des dns-server> durch sinnvolle Angaben ersetzten. /etc/resolv.conf ist übrigens nur ein Link auf die Datei /var/etc/resolv.conf, es kann also ebenso auch diese Datei bearbeitet werden. Ansonsten ist /etc nihct beschreibbar.

Vorteil dieser Lösung: mit einem Schlag sind eigentlich alle DNS-Probleme gelöst, Änderungen werden einfach zentral auf dem DNS-Server eingepflegt und stehen netzwerkweit zur Verfügung.

Nachteil dieser Lösung: nicht jeder hat einen vollwertigen DNS-Server im eigenen Netzwerk. Wesentlich öfters wird nur ein DNS-Forwarder vorhanden sein, z.B. auf einem DSL-Router. Für die Auflösung von Internetadressen funktioniert solch ein DNS-Forwarder wunderbar, lokale Adressen können so nicht aufgelöst werden.

Der DNS Ersatz: /etc/hosts

Auf so gut wie jedem Linux (und auch Windows) -System gibt es die Datei /etc/hosts. Hier eingetragene Kombinationen Hostname/IP-Adresse können vom System ebenfalls aufgelöst werden. Der Aufbau dieser Datei ist sehr simpel, hier als Beispiel mal die /etc/hosts einer unveränderten M740AV

127.0.0.1       localhost
172.16.0.100    linux
172.16.100.156  magellan
172.16.100.62   dortmund

Jede Zeile stellt einen Eintrag dar, immer in der Form IP-Adresse, Leerzeichen, Hostname. Ein Leerzeichen reicht völlig, es dürfen aber auch mehr sein. Der oberste Eintrag (127.0.0.1 localhost) muss bleiben, die anderen Einträge sind nicht mehr wichtig (sie stammen aus dem Intranet von (wahrscheinlich) Siemens). Die Hostnamen brauchen nicht unbedingt nur lokale Adressen sein, sondern dürfen auch aus dem Internet stammen (z.B. 80.190.247.62 m740.de funktioniert auch).

vor Firmware 1.50.6.lemmi

Vor der Firmware 1.50.6.lemmi gibt es bei der Sache einen Haken: die Datei ist nicht beschreibbar, wie alle Dateien aus /etc. Aber dafür gibt es eine Lösung von Lemmi, die im Forum nachgelesen werden kann.

Im konkreten Fall müsste die Datei /var/etc/rc.local (ungetestet!) wie folgt geändert/erstellt/angepasst werden

#!/bin/sh
dub-mount-etc
[[ ! -f /var/etc/hosts ]] && cp -p /etc/hosts /var/etc/hosts
rm /etc/hosts
ln -s /var/etc/hosts /etc/hosts

Jetzt kann die Datei /var/etc/hosts (und auch /etc/hosts) bearbeitet werden.

ab Firmware 1.50.6.lemmi

Ab der Firmware Firmware 1.50.6.lemmi (gilt auch für die 1.50-er Beta-Versionen davor) ist es einfacher geworden. Unter /etc/hosts zeigt jetzt ein symbolischer Link nach /var/etc/hosts. Die Datei /etc/hosts bzw. /var/etc/hosts kann also direkt ohne die o.g. Klimmzüge bearbeitet werden.

Vor- und Nachteile

Vorteil dieser Lösung ist, das kein DNS-Server (der ja installiert und gewartet werden will und zudem u.U. noch einen weiteren Rechner beschäftig) benötigt wird, es funktioniert tadellos und ist einfach in der Handhabung (wenn ersteinmal der Link auf /var/etc/hosts steht). Zusammen mit einem DNS-Forwarder können so ebenfalls alle Adressen aufgelöst werden.

Nachteil dieser Lösung: alle Änderungen müssen per Hand eingetragen werden, und zwar bei jedem Rechner, der über eine solche Hosts-Datei verfügt. Falls diese Datei nur auf der M740AV gepflegt werden muss, und es sich zudem nur um einige wenige Einträge handelt, ist dieser Nachteil sicherlich vernachläßigbar.

DNS-Server auf der M740AV

Die wohl übertriebenste Lösung ist ein eigener DNS-Server auf der M740AV. Am Beispiel des yaku-ns (ehemals ens) wird das vorgehen im folgenden beschrieben.

Benötigt wird:

  • Speicherplatz, der immer während die M740AV läuft zur Verfügung steht (im folgenden wird von einer USB-Festplatte ausgegangen)
  • Zugriff auf die M740AV via Telnet (im folgenden wird von einer Lemmi-FW ausgegangen)
  • Eine kompilierte Version des DNS-Servers: yaku-ns

Die Datei im Verzeichnis /var/media/USB-HDD/bin speichern und via Telnet auf die m740AV als root einloggen.

cd /var/media/USB-HDD/bin
bzip2 -d yaku-ns-m740av.tar.bz2
tar -xvf yaku-ns-m740av.tar

Als nächstes muss die Datei /var/media/USB-HDD/bin/yaku-ns.conf angepasst werden. Zunächst muss ein DNS-Server eingegeben werden, zudem Anfragen geschickt werden, die vom yaku-ns nicht beantwortet werden können. Hierfür bietet sich der evt. vorhandene DNS-Forwarder auf dem DSL-Router oder der DNS-Server des eigenen Internetproviders an. Wichtig: hierfür wird die IP-Adresse (z.B. 213.191.73.65) und nicht der Hostname (z.B. ns1.hansenet.de) benötigt! Sollen nur lokale Adressen aufgelöst werden, wird die Angabe eines DNS-Servers nicht benötigt. In der Konfigurationsdatei muss folgende Zeile angepasst werden:

nameserver 192.168.1.3

Anstatt der 192.168.1.3 muss die IP des DNS-Servers eingetragen werden bzw. falls nur lokale Auflösung gewünscht wird die ganze Zeile mit einem # auskommentiert werden.

Anschliessend müssen die lokalen Adressen, die aufgelöst werden sollen, eingetragen werden. Dafür sind die folgenden Zeilen zuständig:

A morbo.intranet 192.168.1.5
A nibbler.intranet 192.168.1.3

Diese beiden Zeilen dienen nur als Beispiel und müssen angepasst und ergänzt werden. Der Aufnau ist

A <hostname>.<arbeitsgruppe|domäne> <ipadresse>

Zusätzlich zu dieser (Vorwärts-) Auflösung werden noch Einträge für die Rückwärtsauflösung (PTR, reverse DNS) benötigt:

PTR 5.1.168.192.in-addr.arpa morbo.intranet
PTR 3.1.168.192.in-addr.arpa nibbler.intranet

Die IP Adresse wird Rückwärts aufgeschrieben (also 5.1.168.192 anstatt 192.168.1.5) und mit dem Anhängsel .in-addr.arpa versehen.

Weiter Konfigurationsmöglichkeiten sind in der Datei yaku-ns.conf.example beschrieben.

Der Server wird mit

/var/media/USB-HDD/bin/yaku-ns -u root -c /var/media/USB-HDD/bin/yaku-ns.conf -d

gestartet. Für erste Tests kann die Option -d auch weggelassen werden. In diesem Fall wird der Server nicht als daemon (und damit im Hintergrund) gestartet und kann einfach durch die Tastenkombination Strg+C beendet werden.

Getestet werden kann der DNS-Server mit

nslookup morbo.intranet 192.168.1.5

wobei morbo.intranet einer der Hostnamen ist, die in die Konfiguration eingetragen wurden, und 192.168.1.5 die IP der M740AV ist. Dieser Test kann nicht auf der Box ausgeführt werden, da hier der Befehl nslookup fehlt. Dafür wird ein weiterer Rechner im Netzwerk benötigt.

Damit der yaku-ns automatisch mit der Box zusammen gestartet wird, einfach den Startbefehl in die Datei /var/etc/rc.local eintragen.

Damit die M740AV den yaku-ns für die Namensauflösung verwendet, muss er wie unter Eigener DNS Server im Netzwerk beschrieben in die Datei /etc/resolv.conf eingetragen werden:

echo domain <arbeitsgruppe|domäne> > /etc/resolv.conf
echo nameserver 127.0.0.1 >> /etc/resolv.conf

wobei <arbeitsgruppe|domäne> durch einen sinnvollen Wert ersetzt werden muss.

Den Sourcecode zu diesem DNS-Server gibt es unter http://kille.cx/downloads/yaku-ns-src.tar.gz. Die offiziele Homepage ist http://www.kyuzz.org/antirez/ens.html.

Vorteil dieser Lösung: zusätzlich zu dem unter Eigener DNS Server im Netzwerk beschriebenen Vorteilen kommt noch dazu, dass auch für alle anderen Rechner im Netzwerk jetzt ein DNS-Server für lokale Adressen zur Verfügung steht - falls die M740AV läuft. Nachteil dieser Lösung: sehr aufwendig und zusätzlicher Resourcenverbrauch auf der M740AV.

Persönliche Werkzeuge