30.11.2001

Wh.: Eine Zone ist ein Teil der DNS-Datenbank, für die ein Server die Verwaltung übernimmt. Der Unterschied zwischen einer sekundären und primären Zone ist der Schreibschutz. Eine sekundäre Zone ist nur die Kopie einer Primären. Ein Cache-Only-DNS-Server verringert den Traffic, weil er Anfragen zwischenspeichert und selbst beantworten kann. Ausserdem findet kein Zonentransfer statt, da er ja keine Zone hat.

 

 

Netzwerk-Infrastruktur

(NetBIOS / WINS)

Bei dieser Möglichkeit der Namensauflösung wird ein flacher Namensraum benutzt. Ausserdem wird das nur in LAN's benutzt, es gibt also kein grösseres Netzwerk damit. Alle Rechner, die mit Betriebssystemen vor W2k benutzt wurden, liefen standardmässig mit NetBIOS. Diese Rechner fanden ohne NetBIOS nicht mal den DNS-Server für die Anmeldung. Weil der Namensraum flach ist, müssen die Namen im Netzwerk eindeutig sein und können 15 + 1 Zeichen betragen. 15 Zeichen für den Namen und ein Zeichen für den Dienst. Zur Untergliederung existiert eine Bereichs-ID. Damit kann man Rechner gruppieren aber Microsoft empfiehlt die Verwendung dieser nicht. Sie ist auch ausgesperrt aus den WINS-Einstellungen. Einstellbar ist sie trotzdem noch in der Registry unter: HKEY Local Machine \ System \ CurrentControlSet \ Services \ Netbt \ Parameters \ ScopeID. Hauptsächlich arbeitet NetBIOS mit drei Schritten: die Registrierung, Namensauflösung und Freigabe.

Ohne WINS ist NetBIOS ein Broadcastprotokoll. Es sucht andere Rechner über das Aussenden von Broadcasts. NetBIOS-Netzwerkressourcen werden in einer Liste zusammengestellt, damit man die verfügbaren Ressourcen sieht und darauf zugreifen kann (Browserdienst, Suchdienst). Das Tool, mit dem man sich die Liste anschauen kann, ist die Netzwerkumgebung oder ersatzweise net-Befehle wie /use / share oder /view. Das Prinzip funktioniert, weil jeder startende Rechner einmal ins Netz brüllt: "Hallo hier bin ich!". Alle Rechner, die einen Hauptsuchdienst laufen lassen, nehmen mit dem Namen auch die Freigaben auf und leiten sie an den Mastersuchdienst weiter. Dieser baut sie zusammen und stellt sie den Hauptsuchdiensten komplett zur Verfügung. Clients haben drei Hauptsuchdienstrechner eingetragen und in der Registry kann man irgendwo einen Maintance-Wert einstellen, der auf diesem Rechner den Suchdienst aktiviert. Gibt es keine Rechner im LAN, startet der Rechner selbst den Suchdienst. Treten zwischen zwei Suchdiensten Konflikte auf, gewinnt die Art des Betriebssystems, der Rechnername (alphabetisch), oder die Abfrage, ob er mal Suchdienst war, bzw. wie lange er Suchdienst war.

In der Netzwerkumgebung treten auch Rechner auf, die gar nicht mehr da sind. Fährt ein Rechner nicht richtig runter, sendet er kein Freigabepaket und wird nicht ausgetragen, oder der Hauptsuchdienst gibt die Daten erst nach 15 Minuten an die Clients. Fährt der Rechner nicht richtig runter, testet der Hauptsuchdienst zus. dreimal alle 12 Minuten, ob der Rechner erreichbar ist. Das heisst, es kann maximal 51 Minuten dauern, bis ein Rechner ausgetragen wird.

Die Empfehlung für den Einsatz von NetBIOS lautet, einen WINS-Server einzusetzen. Es werden dadurch grösstenteils Broadcasts vermieden. Ausserdem funktioniert das Protokoll sonst nicht in gerouteten Netzwerken, ebenfalls mit einem WINS-Server möglich.

Die Namensregistrierung arbeitet folgendermassen: Der WINS-Client äussert seinen Namenswunsch dem Server, dieser sucht daraufhin in der Datenbank. Ist der Name unbekannt, bekommt der Client ihn, ist er schon vergeben, wird die Verfügbarkeit des Namens geprüft. Bei Antwort wird dem Client der Namen verweigert, es taucht eine Fehlermeldung auf. Gibt es keinen Client mit diesem Namen, wird dieser Client registriert und kann ihn nutzen. Beschränkt wird die Nutzung durch eine einstellbare TTL. Die Ports, die für NetBIOS genutzt werden, sind die bei Hacker beliebten Nummern 137 und 138. (139 ist nur für die Sitzung zuständig)

Antwortet ein primärer WINS-Server nicht, sendet ein Client in drei weiteren Versuchen im Abstand von ca. 0,5 sek. ein Signal. Ansonsten wird der nächste gefragt, und das können maximal 12 sein. Antwortet gar keiner, kommt die normale Namensauflösung ohne WINS-Server zum tragen.

Bei einer Namenserneuerung sendet der Client eine Erneuerungsanforderung nach 50% der Zeit. Ist der Ablauf erfolgreich, bekommt der Client eine neue TTL zugewiesen (Standard 6 Tage). Ist dieser nicht erfolgreich, versucht der Client nach ca. 10 Minuten eine Verbindung aufzubauen, und zwar bis zum Ende der TTL.

Die Namensauflösung funktioniert nach folgendem Prinzip: Als erstes schaut der Rechner im NetBIOS-Cache nach (nbtstat -c). Danach wird der NetBIOS-Knoten angesprochen. Davon gibt es vier Stück:

B Broadcast
P Peer (WINS-Server wird gefragt)
M Mixed (erst B, dann P)
H Hybrid (erst P, dann B / Standard bei WINS-Server)

Das heisst, erst wird der WINS-Server gefragt, danach wird ein Broadcast gesendet. Erfolgt immer noch keine Antwort, wird die lokale lmhosts-Datei abgefragt, sofern sie aktiviert wurde:

Die lmhosts wird (wie die hosts-Datei) zeilenweise abgearbeitet und befindet sich winnt \ system32 \ drivers \ etc. Standardmässig gibt es keine lmhosts-Datei. Die Standard-Cachedauer beträgt 10 Minuten. Die Namensfreigabe ist nur möglich, wenn der NetBIOS-Dienst ordnungsgemäss heruntergefahren wird. Dann wird einfach die TTL einfach auf 0 gesetzt und weil WINS dynamisch ist, wird der Name automatisch freigegeben.

Die Vorraussetzung für einen WINS-Server ist erstmal das BS (W2k-Server). Der Dienst muss installiert und konfiguriert werden. Ausserdem braucht er eine statische IP-Adresse und, in einer gerouteten Umgebung, ein Standardgateway. Der Client muss in den TCP/IP-Konfigurationen den WINS-Server, und wahrscheinlich das Standardgateway beigesetzt bekommen. Hier ist die Eingabe von bis zu 12 WINS-Servern möglich. Die lmhosts-Abfrage ist deaktivierbar, genau wie NetBIOS. Soll er ein DHCP-Client sein, muss auf dem DHCP-Server, der im Client eingegeben ist, die Optionen 003 - Router, 44 - WINS-Server (braucht keine feste WINS-Server im Client) und die 046 - NetBIOS-Knotentyp.

Genau wie in der hosts-Datei kann man eine IP-Adresse und mit einem Tabulator oder Leerzeichen getrennt einen WINS-Namen eingeben. Da W2k bevorzugt DNS benutzt, dauert ein ping auf den Namen ziemlich lange. Man kann an den WINS-Namen noch Tags anhängen. Eines davon ist #PRE. Kommentare werden mit # abgegrenzt. Weitere Tags existieren:

#PRE - wird beim Start in den NetBIOS-Cache geladen (dauerhaft, Wert -1)
#DOM:Domäne - DC für diese Domäne (wird mit #PRE sehr häufig eingesetzt)
#MH - Multihome-Computer, Rechner mit mehreren Netzwerkkarten (bei diesem Eintrag wird die Liste weiterverfolgt, im Gegensatz zu normalen Einträgen.)
#begin_alternate - schliesst mit #end_alternate mehrere Includes zusammen
#include [UNC] - Verweise auf andere lmhosts-Datei
#end_alternate - schliesst mit #begin_alternate mehrere Includes zusammen

Die #PRE-Einträge sollten sinnvollerweise am Ende stehen.

Für Nicht-WINS-fähige-Rechner gibts folgendes Beispiel:

WINS-Server WINS-Client Router WINS-Client Broadcast-Client (no WINS) Nicht-NetBIOS-Rechner
W A   B C D
- statischer Eintrag für D in der WINS-Datenbank, damit ist D für andere erreichbar - IP-Adresse von W muss bekannt sein   - IP-Adresse von W muss bekannt sein - ist mind. Win3.1 -
- evtl. statischer Eintrag für C     - wird als WINS-Proxy eingerichtet, damit er die Broadcasts von C an W weiterleiten   - arbeitet aber mit DNS
      - Registry-Eintrag: HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ NetBT \ Parameters \ EnableProxy=1    
      - bei Registrierungsbroadcast überprüft der Proxy den Namen, es findet aber keine Registrierung statt    
      - beim Auflösungsbroadcast sucht der Proxy im eig. Cache, fragt dann den WINS-Server    
           

WINS kann man mit DNS koppeln, um nicht NetBIOS-fähige, aber DNS-Clients ins Netzwerk zu binden, oder um eine WINS-Datenbank im DNS-Netz zwecks Kompatibilität zu integrieren. Bei W2k-Rechnern ist die DNS-Datenbank vor der WINS-Datenbank aktiv, bei Rechnern älterer Generationen ist es umgekehrt. Der DNS-Server bekommt eine WINS-Lookup-Zone und verweist auf die WINS-Datenbank:

Die Gültigkeitsdauer zeigt an, dass der aus der WINS-Datenbank aufgelöste Name standardmässig eine Stunde in der DNS-Datenbank verbleibt. Unter erweitert ist noch ein Cachezeitlimit optional einzugeben.

Bei WINS ist ziemlich wenig Konfiguration notwendig. Aber damit die Aktualisierung funktioniert, muss er selbst eingetragen werden und es muss ein WINS-Proxy-Agent installiert sein; und zwar auch in dem Teilnetz vom WINS-Server.

Geben wir jetzt einen ping auf einem W2k-Rechner zu einem WINS-Namen an, hängt der Client als erstes sein DNS-Suffix an (W2k nimmt zuerst DNS!), weil der Name nicht vollständig ist. Danach kommt der Clientcache und die Hosts-Datei dran. Danach der DNS-Server. Dieser sucht die Suffix-Zone und leitet ihn dahin. In der Zone existiert kein Host dieses Namens. Dann kommt die WINS-Datenbank, die vom DNS-Server initialisiert wurde. Dort gibt es den Host und die WINS-Datenbank