Systemverwaltungshandbuch: IP Services

Netzwerkdatenbanken und die nsswitch.conf-Datei

Netzwerkdatenbanken sind Dateien, die für die Konfiguration des Netzwerks erforderliche Informationen bereitstellen. Folgende Netzwerkdatenbanken stehen zur Verfügung:

Wenn Ihr Netzwerk über Teilnetze verfügt, werden die Datenbanken hosts und netmasks im Rahmen der Konfiguration bearbeitet. Zwei Netzwerkdatenbanken , bootparams und ethers, dienen zur Konfiguration von Systemen als Netzwerkclients. Die verbleibenden Datenbanken werden vom Betriebssystem verwendet und müssen nur selten bearbeitet werden.

Obwohl es sich bei der Datei nsswitch.conf nicht um eine Netzwerkdatenbanken handelt, müssen Sie diese Datei zusammen mit den jeweiligen Netzwerkdatenbanken konfigurieren. nsswitch.conf gibt an, welcher Namen-Service für ein bestimmtes System verwendet wird: lokale Dateien, NIS, DNS oder LDAP.

Auswirkungen der Namen-Services auf Netzwerkdatenbanken

Das Format Ihrer Netzwerkdatenbanken hängt vom Typ des Namen-Services ab, den Sie für Ihr Netzwerk auswählen. Beispielsweise enthält die hosts-Datenbank mindestens den Hostnamen und die IPv4-Adresse des lokalen Systems sowie alle Netzwerkschnittstellen, die direkt mit dem lokalen System verbunden sind. Darüber hinaus könnte die hosts-Datenbank, abhängig vom Typ des Namen-Services in Ihrem Netzwerk, noch weitere IPv4-Adressen und Hostnamen enthalten.

Die Netzwerkdatenbanken werden wie folgt verwendet:


Hinweis –

DNS-Boot- und Datendateien entsprechen Netzwerkdatenbanken nicht direkt.


Die folgende Abbildung zeigt Formen der hosts-Datenbank, die von diesen Namen-Services verwendet werden.

Abbildung 10–2 Formen der hosts-Datenbank, die von Namen-Services verwendet werden

Diese Abbildung zeigt die unterschiedlichen Formen, die von den Namen-Services DNS, NIS, NIS+ und den lokalen Dateien in der hosts-Datenbank gespeichert werden.

In der folgenden Tabelle sind die Netzwerkdatenbanken sowie deren entsprechende lokale Dateien und NIS Maps aufgeführt.


Hinweis –

Die ipnodes-Datenbank wurde in den Oracle Solaris-Versionen nach Solaris 10 11/06 entfernt.


Tabelle 10–1 Netzwerkdatenbanken und entsprechenden Namen-Service-Dateien

Netzwerkdatenbank 

Lokale Dateien 

NIS-Maps 

hosts

/etc/inet/hosts

hosts.byaddr hosts.byname

ipnodes

/etc/inet/ipnodes

ipnodes.byaddr ipnodes.byname

netmasks

/etc/inet/netmasks

netmasks.byaddr

ethers

/etc/ethers

ethers.byname ethers.byaddr

bootparams

/etc/bootparams

bootparams

protocols

/etc/inet/protocols

protocols.byname protocols.bynumber

services

/etc/inet/services

services.byname

networks

/etc/inet/networks

networks.byaddr networks.byname

In diesem Buch werden die Netzwerkdatenbanken beschrieben, wie sie von Netzwerken gesehen werden, die lokale Dateien als Namen-Service verwenden.

Informationen zu den Netzwerkdatenbank-Entsprechungen bei den Namen-Services NIS, DNS und LDAP finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

nsswitch.conf-Datei

Die Suchreihenfolge der Netzwerkdatenbanken wird in der Datei /etc/nsswitch.conf definiert. Das Oracle Solaris-Installationsprogramm erstellt eine standardmäßige /etc/nsswitch.conf-Datei für das lokale System, die auf dem Namen-Service basiert, den Sie während der Installation angegeben haben. Mit der Option „Keinen“ wählen Sie lokale Dateien als Namen-Service. Die resultierende nsswitch.conf-Datei sieht etwa wie folgt aus.


Beispiel 10–5 nsswitch.conf-Datei für Netzwerke, die lokale Dateien als Namen-Service verwenden


# /etc/nsswitch.files:
#
# An example file that could be copied over to /etc/nsswitch.conf;
# it does not use any naming service.
#
# "hosts:" and "services:" in this file are used only if the
# /etc/netconfig file contains "switch.so" as a
# nametoaddr library for "inet" transports.

passwd:          files
group:           files
hosts:           files
networks:        files
protocols:       files
rpc:             files
ethers:          files
netmasks:        files
bootparams:      files
publickey:       files
# At present there isn't a 'files' backend for netgroup; the
# system will figure it out pretty quickly,
# and won't use netgroups at all.
netgroup:        files
automount:       files
aliases:         files
services:        files
sendmailvars:    files

Diese Datei wird ausführlich in der Manpage nsswitch.conf(4) beschrieben. Die allgemeine Syntax lautet:

Datenbank zu-durchsuchender-Namen-Service

Das Feld Datenbank kann einen der vielen Datenbanktypen enthalten, die das Betriebssystem durchsuchen kann. Beispielsweise könnte das Feld eine Datenbank angeben, die sich auf Benutzer auswirkt (z. B. passwd oder aliases), oder eine Netzwerkdatenbanken. Der Parameter zu-durchsuchender-Namen-Service kann die Werte files, nis oder nis+ für die Netzwerkdatenbanken annehmen. Die hosts-Datenbank kann auch dns als zu durchsuchenden Namen-Service enthalten. Sie können auch mehrere Namen-Services anführen, z. B. nis+ und files.

In Beispiel 10–5 ist die einzige angegebene Suchoption files. Aus diesem Grund bezieht das lokale System die Informationen zur Sicherheit und zum Automounting wie auch die Netzwerkdatenbank-Informationen aus Dateien, die sich in den Verzeichnissen /etc und /etc/inet befinden.

Ändern der Datei nsswitch.conf

Das Verzeichnis /etc enthält die vom Oracle Solaris-Installationsprogramm angelegte Datei nsswitch.conf. Darüber hinaus enthält dieses Verzeichnis die Vorlagendateien für die folgenden Namen-Services:

Wenn Sie von einem Namen-Services zu einem anderen wechseln möchten, können Sie die entsprechende Vorlage in nsswitch.conf kopieren. Sie können nsswitch.conf auch selektiv bearbeiten und den standardmäßig zu durchsuchenden Namen-Service für einzelne Datenbanken ändern.

Angenommen, ein Netzwerk führt NIS aus, und Sie möchten die nsswitch.conf-Datei auf dem Netzwerkclients ändern. Der Suchpfad für die Datenbanken bootparams und ethers muss als erste Option files und dann nis enthalten. Das folgende Beispiel zeigt die korrekten Suchpfade.


Beispiel 10–6 nsswitch.conf-Datei für einen Client in einem Netzwerk, das NIS ausführt


# /etc/nsswitch.conf:#
.
.
passwd:        files nis
group:         files nis

# consult /etc "files" only if nis is down.
hosts:         nis    [NOTFOUND=return] files
networks:      nis    [NOTFOUND=return] files
protocols:     nis    [NOTFOUND=return] files
rpc:           nis    [NOTFOUND=return] files
ethers:        files  [NOTFOUND=return] nis
netmasks:      nis    [NOTFOUND=return] files	
bootparams:    files  [NOTFOUND=return] nis
publickey:     nis    
netgroup:      nis

automount:     files nis
aliases:       files nis

# for efficient getservbyname() avoid nis
services:      files nis
sendmailvars:  files

Ausführliche Informationen zum Ändern des Namen-Services finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .

bootparams-Datenbank

Die bootparams-Datenbank enthält Informationen, die von Systemen genutzt werden, die im Netzwerkclient-Modus booten. Sie müssen diese Datenbank bearbeiten, falls Ihr Netzwerk über Netzwerkclients verfügt. Informationen zu den Verfahren finden Sie unter Konfiguration der Netzwerkclients Die Datenbank wird aus den Informationen erstellt, die in die /etc/bootparams-Datei eingegeben wurde.

Vollständige Informationen zur Syntax für diese Datenbank finden Sie in der Manpage bootparams(4) Die allgemeine Syntax lautet:

Systemname Dateischlüssel-Servername:Pfadname

Ein Eintrag für ein Netzwerkclientsystem kann die folgenden Informationen umfassen: Name des Clients, eine Liste der Schlüssel, die Namen der Server und die Pfadnamen. Das erste Objekt jedes Eintrags ist der Name des Clientsystems. Alle Objekte außer dem ersten sind optional. Ein Beispiel:


Beispiel 10–7 bootparams-Datenbank


myclient   root=myserver : /nfsroot/myclient  \
swap=myserver : /nfsswap//myclient \
dump=myserver : /nfsdump/myclient

In diesem Beispiel weist der Begriff dump= Clienthosts an, nicht nach einer Dump-Datei zu suchen.

Platzhaltereintrag für bootparams

In den meisten Fällen verwenden Sie einen Platzhaltereintrag, wenn Sie die bootparams-Datenbank bearbeiten, um bestimmte Clients zu unterstützen. Ein Beispieleintrag:

*  root=server:/path dump=:

Der Platzhalter (*) gibt an, dass dieser Eintrag für alle Clients gilt, die nicht namentlich in der bootparams-Datenbank aufgeführt sind.

ethers-Datenbank

Die ethers-Datenbank wird aus den Informationen erstellt, die in die /etc/ethers-Datei eingegeben wurden. Diese Datenbank ordnet Hostnamen zu ihren Media Access Control (MAC)-Adressen zu. Sie müssen nur dann eine ethers-Datenbank erstellen, wenn Sie den RARP-Daemon ausführen. Das heißt, Sie müssen diese Datenbank erstellen, wenn Sie Netzwerkclients konfigurieren.

RARP ordnet mithilfe dieser Datei MAC-Adressen zu IP-Adressen zu. Wenn Sie den RARP-Daemon in.rarpd ausführen, müssen Sie die ethers-Datei einrichten und auf allen den Daemon ausführenden Hosts pflegen, um die Änderungen im Netzwerk widerzuspiegeln.

Vollständige Informationen zur Syntax für diese Datenbank finden Sie in der Manpage ethers(4) Die allgemeine Syntax lautet:


MAC-address   hostname   #comment
MAC-Adresse

Die MAC-Adresse des Hosts

Host-Name

Der offizielle Name des Hosts

#Kommentar

Ein Hinweis, der an einen Eintrag in der Datei angehängt werden soll

Die MAC-Adresse wird vom Gerätehersteller bereitgestellt. Wenn das System die MAC-Adresse während des Bootens nicht anzeigt, schlagen Sie in den Hardware-Handbüchern nach.

Stellen Sie beim Hinzufügen von Einträgen zur ethers-Datenbank sicher, dass die Hostnamen in der hosts-Datenbank (und, unter Solaris 10 11/06 und früheren Releases, in der ipnodes-Datenbank) den primären Namen und nicht den Nicknamen entsprechen.


Beispiel 10–8 Einträge in der ethers-Datenbank


8:0:20:1:40:16  fayoum
8:0:20:1:40:15  nubian 
8:0:20:1:40:7   sahara    # This is a comment
8:0:20:1:40:14  tenere 

Andere Netzwerkdatenbanken

Die übrigen Netzwerkdatenbanken müssen nur selten bearbeitet werden.

networks-Datenbank

Die networks-Datenbank ordnet Netzwerknummern den Netzwerknamen zu und ermöglicht bestimmten Anwendungen, Namen anstelle von Zahlen zu verwenden und anzuzeigen. Die networks-Datenbank basiert auf den Informationen in der /etc/inet/networks-Datei. Diese Datei enthält die Namen aller Netzwerke, mit denen Ihr Netzwerk über Router verbunden ist.

Das Oracle Solaris-Installationsprogramm konfiguriert eine erste networks-Datenbank. Wenn Sie jedoch Ihrer vorhandenen Netzwerktopologie ein neues Netzwerk hinzufügen, müssen Sie diese Datenbank aktualisieren.

Die Manpage networks(4) enthält ausführliche Informationen zur Syntax der /etc/inet/networks-Datei. Die allgemeine Syntax lautet:


network-name  network-number  nickname(s)  #comment
Netzwerkname

Offizieller Name des Netzwerks

Netzwerknummer

Adresse, die vom ISP oder der Internet Registry zugewiesen wurde

Nickname

Ein weiterer Name, unter dem das Netzwerk bekannt ist

#Kommentar

Ein Hinweis, der an einen Eintrag in der Datei angehängt werden soll

Sie müssen die networks-Datei pflegen. Das Programm netstat verwendet die Informationen in dieser Datenbank zum Erzeugen der Statustabellen.

Beispiel einer /etc/networks-Datei:


Beispiel 10–9 /etc/networks-Datei


#ident	"@(#)networks	1.4	92/07/14 SMI"	/* SVr4.0 1.1	*/
#
# The networks file associates Internet Protocol (IP) network
# numbers with network names. The format of this file is:
#
# 	network-name		 	 network-number		 	 nicnames . . .

# The loopback network is used only for intra-machine communication
loopback		 	 127

#
# Internet networks
#
arpanet     10	   arpa  # Historical
#
# local networks

eng   192.168.9 #engineering
acc   192.168.5 #accounting
prog  192.168.2 #programming

protocols-Datenbank

Die protocols-Datenbank enthält die auf Ihrem System installierten TCP/IP-Protokolle sowie deren Protokollnummern. Diese Datenbank wird automatisch vom Oracle Solaris-Installationsprogramm erstellt. Für diese Datenbank ist nur selten ein Benutzereingriff erforderlich.

Die Syntax dieser Datenbank ist in der Manpage protocols(4) beschrieben. Beispiel einer /etc/inet/protocols-Datei:


Beispiel 10–10 /etc/inet/protocols-Datei


#
# Internet (IP) protocols
#
ip    0   IP    # internet protocol, pseudo protocol number
icmp  1   ICMP  # internet control message protocol
tcp   6   TCP   # transmission control protocol
udp  17   UDP   # user datagram protocol

Services-Datenbank

Die Services-Datenbank enthält die Namen der TCP- und UDP-Services und deren bekannte Portnummern. Die Datenbank wird von Programmen verwendet, die Netzwerkservices aufrufen. Die Services-Datenbank wird automatisch vom Oracle Solaris-Installationsprogramm erstellt. Im Allgemeinen ist für diese Datenbank kein Benutzereingriff erforderlich.

Vollständige Informationen zur Syntax finden Sie in der Manpage services(4) Auszug einer typischen /etc/inet/services-Datei:


Beispiel 10–11 /etc/inet/services-Datei


#
# Network services
#
echo      7/udp
echo      7/tcp
echo      7/sctp6
discard   9/udp     sink null
discard   11/tcp
daytime   13/udp
daytime   13/tcp
netstat   15/tcp
ftp-data  20/tcp
ftp       21/tcp
telnet    23/tcp
time      37/tcp    timeserver
time      37/udp    timeserver
name      42/udp    nameserver
whois     43/tcp    nickname