Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly1st Edition November 1999 1-56592-449-5, Order Number: 4495 416 pages, $34.95 |
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 Befehlnmblookup
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 phoenixDer 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#20Hier haben wir die Maschine
hydra
zum Primary Domain Controller auf der DomäneSIMPLE
bestimmt, wie das vom Ressourcetyp <1B> angezeigt wird, der dem Namen hinterhydra
'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 -D7.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.122Ist 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 = yesVerwende 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 bcastDie 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 Optionenwins
support=yes
undwins
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 bcastDas 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.192Dies 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 = yes7.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
, oderbcast
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 = yesDer 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 Parameterwins
server
aus; du kannst nicht beide gleichzeitig aufyes
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.110oder:
[global] wins server = wins.example.comDamit man mit dieser Option arbeiten kann, muss die Option
wins
support
aufno
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 = yes7.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 = yesDas 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 bcastDies 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.
© 1999, O'Reilly & Associates, Inc.