Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Inhaltsverzeichnis


Previous: 7.2 Drucken auf Windows-Client-Drucker Kapitel 7
Drucken und Namensauflösung
Next: 8. Zusätzliche Information über Samba
 

7.3 Namensauflösung unter Samba

Bevor NetBIOS-Nameserver zum Einsatz kamen, arbeitete die Namensauflösung völlig über Broadcast. Wenn du die Adresse einer Maschine brauchtest, "broadcastest" du einfach ihren Namen über das Netzwerk, und die Maschine würde theoretisch selbst antworten. Diese Methode ist noch möglich: jemand, der eine Maschine namens fred sucht, kann noch eine Frage broadcasten und herausfinden, ob sie existiert und welche IP-Adresse sie hat. (Wir benützen diese Fähigkeit zur Fehlersuche bei Samba-Namensdiensten mit dem Befehl nmblookup in Kapitel 9, Feststellen und Lösen von Problemen unter Samba.)

Wie du im ersten Kapitel sahst, überschreitet eben Broadcasting - ob es Browsing oder Namensregistrierung und -auflösung ist - nicht leicht mehrere Subnetze. Außerdem neigen viele Broadcasts dazu, Netzwerke lahmzulegen. Zur Lösung dieses Problems bietet Microsoft nun den Windows Internet Naming Service (WINS), ein subnetz-übergreifender NBNS, den Samba unterstützt. Damit kann ein Administrator eine einzelne Maschine bestimmen, als ein WINS-Server zu agieren, und jedem Client, der Namensauflösung anfordert, die Adresse des WINS-Servers zur Verfügung stellen. Folglich können von jedem Punkt des Netzwerks Anforderungen nach Namensregistrierung und -auflösung an eine einzelne Maschine gerichtet werden, anstatt des Broadcast.

WINS und Broadcasting sind ja nicht die einzigen Mittel zur Namensauflösung. Es gibt momentan vier Mechanismen, die bei Samba verwendet werden können:

Samba kann irgendeine oder alle diese Methoden der Namensauflösung in der Reihenfolge verwenden, wie du sie in der Samba Konfigurationsdatei festlegst, indem du den Parameter name resolve order benützt. Nun, bevor wir die Konfigurationsoptionen erforschen, lass uns die besprechen, die dir vielleicht vorher noch nie begegnet ist: die Datei LMHOSTS.

7.3.1 Die Datei LMHOSTS

LMHOSTS ist die Standard LAN Manager hosts-Datei und wird verwendet, um auf dem System Namen in IP-Adressen aufzulösen. Sie ist das NBT-Äquivalent der Datei /etc/hosts, die Standard auf allen Unix-Systemen ist. Als Voreinstellung wird die Datei üblicherweise als /usr/local/samba/lib/LMHOSTS gespeichert und teilt sich mit /etc/hosts ein ähnliches Format. Zum Beispiel:

192.168.220.100    hydra
192.168.220.101    phoenix

Der einzige Unterschied ist, dass die Namen auf der rechten Seite der Einträge NetBIOS-Namen statt DNS-Namen sind. Weil sie NetBIOS-Namen sind, kannst du ihnen auch Ressourcetypen zuordnen:

192.168.220.100    hydra#20
192.168.220.100    simple#1b
192.168.220.101    phoenix#20

Hier haben wir die Maschine hydra zum Primary Domain Controller auf der Domäne SIMPLE bestimmt, wie das vom Ressourcetyp <1B> angezeigt wird, der dem Namen hinter hydra's IP-Adresse in der zweiten Zeile zugewiesen wird. Die beiden anderen sind Standard-Arbeitsstationen.

Wenn du eine LMHOSTS-Datei irgendwo anders unterbringen willst als auf dem vorgegebenen Standort, musst du den nmbd-Prozess beim Start benachrichtigen wie folgt:

nmbd -H /etc/samba/lmhosts -D

7.3.2 Samba für die Benutzung eines anderen WINS-Servers einrichten

Du kannst Samba einrichten, damit es einen WINS-Server irgendwo auf dem Netzwerk benützt, indem es einfach auf die IP-Adresse des WINS-Servers zeigt. Das geschieht mit der globalen Konfigurationsoption wins server, wie hier gezeigt:

[global]
	wins server = 192.168.200.122

Ist diese Option eingeschaltet, wird Samba alle WINS-Anfragen an den Server auf 192.168.200.122 weiterleiten. Beachte, dass wir uns keine Sorgen wegen irgendwelcher broadcasting-eigener Probleme machen müssen, weil die Anfrage an eine einzelne Maschine gerichtet wird. Nun, obwohl du in der Konfigurationsdatei eine IP-Adresse für einen WINS-Server festgelegt hast, wird Samba nicht notwendigerweise den WINS-Server vor anderen Formen der Namensauflösung benützen. Die Reihenfolge, in der Samba verschiedene Namensauflösungs-Techniken versucht, wird durch die Konfigurationsoption name resolve order vorgegeben, die wir kurz besprechen wollen.

Wenn du auf einem Subnetz einen Sambaserver besitzt, der noch Broadcasting benützt, und der Sambaserver kennt den korrekten Standort eines WINS-Servers in einem anderen Subnetz, kannst du den Sambaserver mit der Option wins proxy konfigurieren, damit er irgendwelche Namensauflösungs-Anfragen befördert:

[global]
	wins server = 192.168.200.12
	wins proxy = yes

Verwende das nur in Situationen, wo der WINS-Server sich in einem anderen Subnetz befindet. Ansonsten erreicht der Broadcast den WINS-Server ungeachtet irgendeiner Vertretung.

7.3.3 Samba als WINS-Server einrichten

Du kannst Samba als WINS-Server einrichten, indem du zwei globale Optionen in der Konfigurationsdatei setzt, siehe hier:

[global]
	wins support = yes
	name resolve order = wins lmhosts hosts bcast

Die Option wins support verwandelt Samba in einen WINS-Server. Glaub es oder glaub es nicht, das ist alles, was du zu tun hast! Samba behandelt den Rest im Hintergrund und hinterlässt dich als relaxten Administrator. Die Optionen wins support=yes und wins server schließen sich gegenseitig aus; du kannst nicht gleichzeitig Samba als den WINS-Server anbieten und auf ein anderes System als den Server zeigen.

Wenn Samba als WINS-Server agiert, solltest du dich mit der früher erwähnten Option name resolve order beschäftigen. Diese Option sagt Samba die Reihenfolge der Methoden, in der sie versucht, einen NetBIOS-Namen aufzulösen. Sie kann vier Werte annehmen:

lmhosts

Verwendet eine LAN Manager LMHOSTS-Datei

hosts

Verwendet die Standard Namensauflösungsmethoden des Unix-Systems, /etc/hosts, DNS, NIS oder eine Kombination (wie für das System konfiguriert wurde)

wins

Verwendet den WINS-Server

bcast

Verwendet eine Broadcast-Methode

Die Reihenfolge, in der du sie im Wert festlegst, ist die Reihenfolge, in der Samba die Namensauflösung versucht, wenn es als WINS-Server agiert. Schauen wir z.B. auf den vorderen festgelegten Wert:

name resolve order = wins lmhosts hosts bcast

Das bedeutet, dass Samba versuchen wird, zuerst seine WINS-Einträge für die Namensauflösung zu verwenden, gefolgt von der LAN Manager LMHOSTS-Datei auf seinem System. Als Nächstes verursacht der Wert hosts die Verwendung der Unix Namensauflösungsmethoden. Das Wort hosts könnte irreführend sein; es umfasst nicht nur die Datei /etc/hosts, sondern auch den Gebrauch von DNS oder NIS (wie auf dem Unix-Host konfiguriert wurde). Wenn schließlich diese drei nicht funktionieren, wird es einen Broadcast benützen, um die richtige Maschine zu finden.

Schließlich kannst du einen Sambaserver, der als WINS-Server agiert, instruieren, eine Überprüfung mit dem DNS-Server des Systems durchzuführen, wenn ein gesuchter Host nicht in seiner WINS-Datenbank gefunden werden kann. Bei einem typischen Linux-System z.B. kannst du die IP-Adresse des DNS-Servers mittels einer Suche in der Datei /etc/resolv.conf finden. Darin könntest du einen Eintrag wie den folgenden sehen:

nameserver 127.0.0.1
nameserver 192.168.200.192

Dies sagt uns, dass sich auf 192.168.220.192 ein DNS-Server befindet. (127.0.0.1 ist die Localhost-Adresse und niemals eine gültige DNS-Serveradresse.)

Verwende die globale Option dns proxy, um Samba auf die Verwendung des konfigurierten DNS-Servers aufmerksam zu machen:

[global]
	wins support = yes
	name resolve order = wins lmhosts hosts bcast
	dns proxy = yes

7.3.4 Konfigurationsoptionen für die Namensauflösung

Samba's WINS-Optionen werden in Tabelle 7.5 gezeigt.


Tabelle 7.5: WINS-Optionen

Option

Parameter

Funktion

Vorgabe

Bereich

wins support

boolean

Wenn auf yes gesetzt, agiert Samba als WINS-Server.

no

Global

wins server

string (IP-Adresse oder DNS-Name)

Identifiziert einen WINS-Server für Samba, das ihn für Namensregistrierung und -auflösung verwendet.

Keine

Global

wins proxy

boolean

Erlaubt Samba, als Proxy zu einem WINS-Server auf einem anderen Subnetz zu agieren.

no

Global

dns proxy

boolean

Wenn auf yes gesetzt, wird ein Samba-WINS-Server DNS suchen, wenn es keinen Namen in WINS finden kann.

no

Global

name resolve order

lmhosts, hosts, wins, oder bcast

Bestimmt eine Reihenfolge der zum Auflösen der NetBIOS-Namen verwendeten Methoden.

lmhosts hosts wins bcast

Global

max ttl

numerisch

Bestimmt die maximale Lebenszeit in Sekunden für gesuchte NetBIOS-Namen.

259200 (3 Tage)

Global

max wins ttl

numerisch

Bestimmt die maximale Lebenszeit in Sekunden für NetBIOS-Namen, die von Samba als WINS-Server ausgegeben werden.

518400 (6 Tage)

Global

min wins ttl

numerisch

Bestimmt die minimale Lebenszeit in Sekunden für NetBIOS-Namen, die von Samba als WINS-Server ausgegeben werden.

21600 (6 Stunden)

Global

7.3.4.1 wins support

Samba stellt allen Maschinen im Netzwerk den WINS-Namensdienst zur Verfügung, wenn du das Folgende in der Sektion [global] der Datei smb.conf festlegst:

[global]
    wins support = yes

Der Vorgabewert ist no, was typischerweise bewirkt, dass ein anderer Windows NT-Server ein WINS-Server werden kann. Wenn du diese Option einschaltest, denk daran, dass ein Samba-WINS-Server derzeit keine Daten mit irgendwelchen Backup-WINS-Servern austauschen kann. Wenn sie aktiviert ist, schließt diese Option den Parameter wins server aus; du kannst nicht beide gleichzeitig auf yes setzen, oder Samba zeigt einen Fehler an.

7.3.4.2 wins server

Samba verwendet einen existierenden WINS-Server auf dem Netzwerk, wenn du die globale Option wins server in deiner Konfigurationsdatei einrichtest. Der Wert dieser Option ist entweder die IP-Adresse oder der DNS-Name (nicht der NetBIOS-Name) des WINS-Server. Zum Beispiel:

[global]
    wins server = 192.168.220.110

oder:

[global]
    wins server = wins.example.com

Damit man mit dieser Option arbeiten kann, muss die Option wins support auf no gesetzt werden (die Voreinstellung). Sonst meldet Samba einen Fehler. Bei Verwendung dieser Option kannst du nur einen WINS-Server angeben.

7.3.4.3 wins proxy

Diese Option erlaubt Samba, als ein Proxy zu einem anderen WINS-Server zu agieren und auf diese Weise Anfragen wegen Namensregistrierung und -auflösung von selbst zum realen WINS-Server zu übertragen, der oft außerhalb des gegenwärtigen Subnetzes liegt. Der WINS-Server kann durch die Option wins server festgelegt werden. Der Proxy retourniert die WINS-Antwort zum Client. Du kannst diese Option durch folgende Angabe in der Sektion [global] einschalten:

[global]
    wins proxy = yes

7.3.4.4 dns proxy

Wenn du willst, dass der Domain Name Service (DNS) benützt wird, wenn ein Name in WINS nicht gefunden wird, kannst du die folgende Option setzen:

[global]
    dns proxy = yes

Das veranlasst nmbd, nach Maschinennamen zu fragen, die den Standard des Servers, Domain Name Service, verwenden. Du willst vielleicht diese Option deaktivieren, wenn du keine permanente Verbindung zu deinem DNS-Server hast. Trotz dieser Option empfehlen wir die Verwendung eines WINS-Servers. Wenn du nicht schon WINS-Server auf deinem Netzwerk hast, mach eine Samba-Maschine zum WINS-Server. Mach keine zwei Samba-Maschinen zu WINS-Servern (einen primären und einen Backup-), weil sie derzeit keine WINS-Datenbanken austauschen können.

7.3.4.5 name resolve order

Die globale Option name resolve order bestimmt die Reihenfolge der Dienste, die Samba beim Versuch der Namensauflösung verwendet. Die voreingestellte Reihenfolge ist, die Datei LMHOSTS zu verwenden, gefolgt von den Standard Unix-Methoden der Namensauflösung (eine Kombination von /etc/hosts, DNS, und NIS), dann die Frage nach einem WINS-Server und schließlich die Verwendung von Broadcasting, um die Adresse eines NetBIOS-Namens zu bestimmen. Du kannst diese Option verändern, indem du etwas festlegst wie das Folgende:

[global]
    name resolve order = lmhosts wins hosts bcast

Dies verursacht zuerst die Auflösung unter Benutzung der Datei LMHOSTS, gefolgt von einer Frage nach einem WINS-Server, der System-Passwortdatei und schließlich Broadcasting. Du musst nicht alle vier Optionen verwenden, wenn du nicht willst. Weiter vorne in diesem Kapitel wird diese Option genauer im Abschnitt 7.3.3, Samba als WINS-Server einrichten, erklärt.

7.3.4.6 max ttl

Diese Option vergibt die maximale Lebenszeit (TTL), während der ein beim Sambaserver registrierter NetBIOS-Name aktiv bleibt. Du solltest diesen Wert niemals verändern müssen.

7.3.4.7 max wins ttl

Diese Option vergibt die maximale Lebenszeit (TTL), während der ein von einem WINS-Server aufgelöster NetBIOS-Name aktiv bleibt. Du solltest den vorgegebenen Wert niemals verändern müssen.

7.3.4.8 min wins ttl

Diese Option vergibt die minimale Lebenszeit (TTL), während der ein von einem WINS-Server aufgelöster NetBIOS-Name aktiv bleibt. Du solltest den vorgegebenen Wert niemals verändern müssen.


Previous: 7.2 Drucken auf Windows-Client-Drucker Next: 8. Zusätzliche Information über Samba
7.2 Drucken auf Windows-Client-Drucker Buch-Index (engl.) 8. Zusätzliche Information über Samba

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.