Systemverwaltungshandbuch: IP Services

Kapitel 10 TCP/IP und IPv4 im Detail (Referenz)

Dieses Kapitel enthält TCP/IP-Netzwerkreferenzen zu den Netzwerkkonfigurationsdateien, einschließlich Typ, Zweck und Format der Dateieinträge. Darüber hinaus werden die bestehenden Netzwerkdatenbanken detailliert beschrieben. Weiterhin zeigt das Kapitel, wie die Struktur der IPv4-Adressen basierend auf den Netzwerkklassifikationen und den Teilnetznummern abgeleitet wird.

Dieses Kapitel enthält die folgenden Informationen:

Neuerungen in diesem Kapitel

Unter Solaris 10 7/07 wird die /etc/inet/ipnodes-Datei nicht mehr benötigt. Verwenden Sie /etc/inet/ipnodes nur für frühere Oracle Solaris 10-Versionen, wie es in den jeweiligen Verfahren beschrieben wird.

TCP/IP-Konfigurationsdateien

Jedes System im Netzwerk bezieht die TCP/IP-Konfigurationsinformationen aus den folgenden TCP/IP-Konfigurationsdateien und Netzwerkdatenbanken:

Diese Dateien werden während der Installation vom Oracle Solaris-Installationsprogramm angelegt. Sie können diese Dateien gemäß den Anweisungen in diesem Abschnitt auch manuell bearbeiten. Die Datenbanken hosts und netmasks sind zwei der Netzwerkdatenbanken, die von den Namen-Services in Oracle Solaris-Netzwerken eingelesen werden. Netzwerkdatenbanken und die nsswitch.conf-Datei beschreibt das Konzept der Netzwerkdatenbanken ausführlich. Wenn Sie unter Solaris 10 11/06 oder früheren Releases arbeiten, finden Sie Informationen zur ipnodes-Datei unter ipnodes-Datenbank.

/etc/hostname.Schnittstelle-Datei

Diese Datei definiert die physikalischen Netzwerkschnittstellen auf dem lokalen Host. Mindestens eine /etc/hostname.Schnittstelle-Datei sollte auf dem lokalen System vorhanden sein. Das Oracle Solaris-Installationsprogramm erstellt eine /etc/hostname.Schnittstelle-Datei für die erste während des Installationsprozesses erfasste Schnittstelle. Diese Schnittstelle hat in der Regel die niedrigste Gerätenummer, z. B. eri0, und wird als primäre Netzwerkschnittstelle bezeichnet. Erfasst das Installationsprogramm noch weitere Schnittstellen, können diese ebenfalls im Rahmen der Installation konfiguriert werden.


Hinweis –

Wenn Sie alternative Hostname-Dateien für die gleiche Schnittstelle erstellen, müssen die alternativen Dateien ebenfalls dem Benennungsformathostname folgen.[0–9]*, wie z. B. hostname.qfe0.a123. Namen wiehostname.qfe0.bak oder hostname.qfe0.old sind ungültig und werden von Skripten beim Booten des Systems ignoriert.

Beachten Sie außerdem, dass eine angegebene Schnittstelle nur eine entsprechende Hostname-Datei haben darf. Wenn Sie eine alternative Hostname-Datei für eine Schnittstelle mit einem gültigen Dateinamen angeben, wie beispielsweise /etc/hostname.qfe und /etc/hostname.qfe.a123 , versuchen die Boot-Skripten, die Konfiguration durchzuführen, indem sie die Inhalte beider Hostname-Dateien referenzieren, woraus Fehler resultieren würden. Um diese Fehler zu vermeiden, geben Sie einen ungültigen Dateinamen für die Hostname-Datei an, die Sie in einer bestimmten Konfiguration nicht verwenden möchten.


Fügen Sie nach der Installation neue Netzwerkschnittstellen zu Ihrem System hinzu, wenn müssen Sie für diese Schnittstellen eine /etc/hostname.Schnittstelle-Datei erstellen. Dies wird unter So konfigurieren Sie eine physikalische Schnittstelle nach der Systeminstallation beschrieben. Damit Oracle Solaris die neue Netzwerkschnittstelle erkennt und verwendet, müssen Sie dem Gerätetreiber der Schnittstelle in das entsprechende Verzeichnis kopieren. Informationen zum geeigneten Schnittstellennamen und dem Gerätetreiber finden Sie in der Dokumentation der neuen Netzwerkschnittstelle.

Eine einfache /etc/hostname.Schnittstelle-Datei enthält nur einen Eintrag: den Hostnamen oder die IPv4-Adresse, der/die der Netzwerkschnittstelle zugeordnet ist. Die IPv4-Adresse kann im traditionellen getrennten dezimalen Format oder in der CIDR-Notation angegeben werden. Wenn Sie einen Hostnamen als Eintrag für die /etc/hostname.Schnittstelle-Datei verwenden, muss dieser Hostname auch in der /etc/inet/hosts-Datei vorhanden sein.

Angenommen, smc0 ist die primäre Netzwerkschnittstelle für ein System mit der Bezeichnung tenere. Die Datei /etc/hostname.smc0 kann entweder die IPv4-Adresse im getrennten dezimalen Format oder in der CIDR-Notation oder den Hostnamen tenere als Eintrag enthalten.


Hinweis –

IPv6 verwendet die /etc/hostname6.Schnittstelle-Datei zur Definition von Netzwerkschnittstellen. Weitere Informationen hierzu finden Sie unter IPv6-Schnittstellenkonfigurationsdatei.


/etc/nodename-Datei

Diese Datei sollte nur einen Eintrag enthalten: den Hostnamen des lokalen Systems. Bei dem System timbuktu würde die Datei /etc/nodename nur den Eintrag timbuktu enthalten.

/etc/defaultdomain-Datei

Diese Datei sollte nur einen Eintrag enthalten: den vollständig qualifizierten Namen der administrativen Domäne, zu der das Netzwerk des lokalen Hosts gehört. Sie können diesen Namen dem Oracle Solaris-Installationsprogramm bereitstellen oder die Datei zu einem späteren Zeitpunkt bearbeiten. Weitere Informationen zu Netzwerkdomänen finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP) .

/etc/defaultrouter-Datei

Diese Datei kann einen Eintrag für jeden Router enthalten, der direkt mit dem Netzwerk verbunden ist. Der Eintrag sollte der Name der Netzwerkschnittstelle sein, die als Router zwischen Netzwerken fungiert. Das Vorhandensein der /etc/defaultrouter-Datei kennzeichnet, dass das System zur Unterstützung des statischen Routings konfiguriert wurde.

hosts-Datenbank

Die hosts-Datenbank enthält die IPv4-Adressen und die Hostnamen der Systeme in Ihrem Netzwerk. Wenn Sie den Namen-Service NIS oder DNS oder den LDAP-Verzeichnisdienst verwenden, wird die hosts-Datenbank in einer Datenbank verwaltet, die für Host-Informationen ausgelegt ist. In einem Netzwerk, das NIS ausführt, wird die hosts-Datenbank beispielsweise in der hostsbyname-Datei verwaltet.

Wenn Sie lokale Dateien als Namen-Service verwenden, wird die Datenbank hosts in der Datei /etc/inet/hosts verwaltet. Diese Datei enthält die Hostnamen und die IPv4-Adressen der primären Netzwerkschnittstelle, andere Netzwerkschnittstellen, die an das System angehängt sind und alle sonstigen Netzwerkadressen, die das System prüfen muss.


Hinweis –

Um die Kompatibilität mit BSD-basierten Betriebssystemen aufrechtzuerhalten, stellt die /etc/hosts-Datei eine symbolische Verknüpfung zur /etc/inet/hosts-Datei dar.


/etc/inet/hosts-Dateiformat

Die Datei /etc/inet/hosts verwendet die folgende allgemeine Syntax. Vollständige Informationen zur Syntax finden Sie in der Manpage hosts(4).

IPv4-Adresse Hostname [Nicknamen] [#Kommentar]

IPv4-Adresse

Enthält die IPv4-Adresse jeder Schnittstelle, die der lokalen Host erkennen muss.

Host-Name

Enthält den Hostnamen, der dem System beim Setup zugewiesen wurde, sowie die Hostnamen, die zusätzlichen Netzwerkschnittstellen zugewiesen wurden und die dem lokalen Host bekannt sein müssen.

[Nickname]

Ein optionales Feld, das einen Nicknamen für den Host enthält.

[#Kommentar]

Ein optionales Feld für einen Kommentar.

Ursprüngliche /etc/inet/hosts-Datei

Wenn Sie das Oracle Solaris-Installationsprogramm auf einem System ausführen, konfiguriert das Programm eine ursprüngliche /etc/inet/hosts-Datei. Diese Datei enthält die Mindestanzahl an Einträgen, die für den lokalen Host erforderlich sind. Diese Einträge umfassen die Loopback-Adresse, die IPv4-Adresse des Hosts und den Hostnamen.

Angenommen, das Oracle Solaris-Installationsprogramm erstellt die folgende /etc/inet/hosts-Datei für das System tenere, das in Abbildung 5–1 vorgestellt wurde:


Beispiel 10–1 /etc/inet/hosts-Datei für das System tenere


127.0.0.1     localhost         loghost    #loopback address
192.168.200.3   tenere                      #host name

Loopback-Adresse

In Beispiel 10–1 ist die IPv4-Adresse 127.0.0.1 die Loopback-Adresse. Die Loopback-Adresse ist eine reservierte Netzwerkschnittstelle, die vom lokalen System für eine prozessinterne Konfiguration verwendet wird. Über diese Adresse kann der Host Pakete an sich selbst senden. Der Befehl ifconfig verwendet die Loopback-Adresse zur Konfiguration und zu Testzwecken. Dies wird unter Überwachen der Schnittstellenkonfiguration mit dem Befehl ifconfig beschrieben. Jedes System in einem TCP/IP-Netzwerk muss die IP-Adresse 127.0.0.1 als IPv4-Loopback auf dem lokalen Host verwenden.

Hostname

Die IPv4-Adresse 192.168.200.1 und der Name tenere sind die Adresse und der Hostname des lokalen Systems. Sie sind der primären Netzwerkschnittstelle des Systems zugeordnet.

Mehrere Netzwerkschnittstellen

Einige Systeme verfügen über mehrere Netzwerkschnittstellen, da es sich entweder um Router oder um Multihomed-Hosts handelt. Jede an ein System angehängte Netzwerkschnittstelle benötigt eine eigene IP-Adresse sowie einen zugewiesenen Namen. Sie müssen während der Installation eine primäre Netzwerkschnittstelle konfigurieren. Verfügt ein bestimmtes System während der Installation über mehrere Schnittstellen, fordert Sie das Oracle Solaris-Installationsprogramm auf, diese zusätzlichen Schnittstellen zu konfigurieren. Sie können diese zusätzlichen Schnittstellen entweder während der Installation oder zu einem späteren Zeitpunkt manuell konfigurieren.

Nach der Installation von Oracle Solaris können Sie zusätzliche Schnittstellen für einen Router oder einen Multihomed-Host konfigurieren, indem Sie die Schnittstelleninformationen einfach in die /etc/inet/hosts-Datei eingeben. Weitere Informationen zur Konfiguration von Routern und Multihomed-Hosts finden Sie unter Konfiguration eines IPv4-Routers und Konfiguration von Multihomed-Hosts.

Beispiel 10–2 zeigt die /etc/inet/hosts-Datei für das System timbuktu, das in Abbildung 5–1 vorgestellt wurde.


Beispiel 10–2 /etc/inet/hosts-Datei für das System timbuktu


127.0.0.1        localhost     loghost
192.168.200.70   timbuktu      #This is the local host name
192.168.201.10   timbuktu-201  #Interface to network 192.9.201

Mit diesen beiden Schnittstellen kann timbuktu die beiden Netzwerke 192.168.200 und 192.168.201 als Router miteinander verbinden.

So wirken sich Namen-Services auf die hosts-Datenbank aus

Die Namen-Services NIS und DNS und der LDAP-Verzeichnisdienst verwalten die Hostnamen und Adressen entweder auf einem oder auf mehreren Servern. Diese Server pflegen hosts-Datenbanken, in denen Informationen zu den Hosts und Routern (sofern anwendbar) im Netzwerk des Servers gespeichert sind. Weitere Informationen zu diesen Services finden Sie im System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Wenn lokale Dateien den Namen-Service bereitstellen

In einem Netzwerk, in dem lokale Dateien als Namen-Services dienen, verwenden Systeme im lokale Dateien-Modus ihre individuellen /etc/inet/hosts-Dateien, um Informationen zu den IPv4-Adressen und Hostnamen anderer Systeme im Netzwerk abzurufen. Aus diesem Grund müssen die /etc/inet/hosts-Dateien dieser Systeme Folgendes enthalten:

Abbildung 10–1 zeigt die /etc/inet/hosts-Datei für das System tenere. Dieses System wird im lokale Dateien-Modus ausgeführt. Beachten Sie, dass die Datei die IPv4-Adressen und Hostnamen jedes Systems im Netzwerk 192.9.200 enthält. Darüber hinaus enthält die Datei die IPv4-Adresse sowie den Schnittstellennamen timbuktu-201. Diese Schnittstelle verbindet das Netzwerk 192.9.200 mit dem Netzwerk 192.9.201.

Ein als Netzwerkclient konfiguriertes System verwendet die lokale Datei /etc/inet/hosts für seine Loopback- und die IPv4-Adresse.

Abbildung 10–1 /etc/inet/hosts-Datei für ein System, das im lokale Dateien-Modus ausgeführt wird

Zeigt, wie die hosts-Datei für ein System aussieht, das im lokale Dateien-Modus ausgeführt wird.

ipnodes-Datenbank


Hinweis –

Die ipnodes-Datenbank ist in Releases nach Solaris 10 11/06 nicht mehr enthalten. In den nachfolgenden Releases sind die IPv6-Funktionen der ipnodes-Datenbank in die hosts-Datenbank eingeflossen.


Die /etc/inet/ipnodes-Datei nimmt sowohl IPv4 -als auch IPv6-Adressen auf. Die IPv4-Adressen können entweder im traditionellen getrennten dezimalen Format oder in der CIDR-Notation gespeichert werden. Diese Datei dient als eine lokale Datenbank, die Hostnamen mit den zugehörigen IPv4- und IPv6-Adressen verknüpft. Speichern Sie Hostnamen und deren Adressen nicht in statischen Dateien wie /etc/inet/ipnodes. Speichern Sie die IPv6-Adressen zu Testzwecken auf die gleiche Weise, wie IPv4-Adressen in /etc/inet/hosts gespeichert werden. Die ipnodes-Datei verwendet die gleichen Formatskonventionen wie die hosts-Datei. Weitere Informationen zur /etc/inet/hosts-Datei finden Sie unter hosts-Datenbank. Eine Beschreibung der ipnodes-Datei finden Sie in der Manpage ipnodes(4).

IPv6-konforme Anwendungen verwenden die /etc/inet/ipnodes-Datenbank. Die bestehende /etc/hosts-Datenbank, in der nur IPv4-Adressen enthalten sind, bleibt gleich, um das Arbeiten mit vorhandenen Anwendungen zu vereinfachen. Wenn die ipnodes-Datenbank nicht existiert, verwenden IPv6-konforme Anwendungen die vorhandene hosts-Datenbank.


Hinweis –

Wenn Sie Adressen hinzufügen müssen, fügen Sie die IPv4-Adressen der hosts- und der ipnodes-Datei hinzu. IPv6-Adressen werden nur der ipnodes-Datei hinzugefügt.



Beispiel 10–3 /etc/inet/ipnodes-Datei

Hostnamenadressen müssen nach dem Hostnamen gruppiert werden. Dies wird in dem folgenden Beispiel gezeigt.


#
# Internet IPv6 host table
# with both IPv4 and IPv6 addresses
#
::1     localhost
2001:db8:3b4c:114:a00:20ff:fe78:f37c   farsite.com farsite farsite-v6
fe80::a00:20ff:fe78:f37c     farsite-11.com farsitell
192.168.85.87   				 farsite.com farsite farsite-v4
2001:db8:86c0:32:a00:20ff:fe87:9aba   nearsite.com nearsite nearsite-v6
fe80::a00:20ff:fe87:9aba     nearsite-11.com nearsitell
10.0.0.177  				 nearsite.com nearsite nearsite-v4 loghost

netmasks-Datenbank

Die netmasks-Datenbank muss nur dann im Rahmen der Netzwerkkonfiguration bearbeitet werden, wenn Sie Teilnetze für Ihr Netzwerk eingerichtet haben. Die netmasks-Datenbank enthält eine Liste der Netzwerke und deren zugewiesenen Teilnetzmasken.


Hinweis –

Wenn Sie Teilnetze erstellen, muss jedes neue Netzwerk ein separates physikalisches Netzwerk sein. Teilnetze können nicht in einem einzelnen physikalischen Netzwerk eingerichtet werden.


Was versteht man unter Subnetting?

Subnetting ist eine Methode zur Maximierung des eingeschränkten 32-Bit-IPv4-Adressraums, während gleichzeitig die Größe der Routing-Tabellen in einem großen Internetzwerk reduziert wird. Subnetting bietet bei allen Adressklassen eine Möglichkeit, einen Teil des Host-Adressraums so Netzwerkadressen zugeordnet wird, dass Sie mehr Netzwerke erhalten. Die Komponente des Host-Adressraums, der die neuen Netzwerkadressen zugeordnet werden, wird als Teilnetznummer bezeichnet.

Neben der effizienteren Nutzung des IPv4-Adressraums bietet das Subnetting verschiedene administrative Vorteile. Mit steigender Anzahl an Netzwerken wird das Routing sehr komplex. Ein kleines Unternehmen kann jedem lokalen Netzwerk z. B. eine Klasse-C-Nummer zuordnen. Wenn das Unternehmen wächst, wird die Verwaltung verschiedener Netzwerknummern immer komplizierter. Besser ist es, jeder wichtigen Abteilung in einem Unternehmen einige wenige Klasse-B-Netzwerknummern zuzuweisen. Beispielsweise können Sie ein Klasse-B-Netzwerk für die Technikabteilung, ein Klasse-B-Netzwerk für die Betriebsabteilung usw. zuweisen. Dann können Sie jedes Klasse-B-Netzwerk in weitere Netzwerke unterteilen und dabei die zusätzlichen Netzwerknummern nutzen, die durch das Subnetting erhalten werden. Diese Aufteilung reduziert auch die Routing-Informationen, die zwischen Routern übertragen werden müssen.

Erstellen der Netzwerkmaske für IPv4-Adressen

Im Rahmen des Subnetting-Prozesses müssen Sie eine im gesamten Netzwerk gültige Netzmaske auswählen. Die Netzmaske legt fest, wie viele und welche Bit im Host-Adressraum die Teilnetznummer darstellen und wie viele und welche Bit für die Hostnummer stehen. Sie erinnern sich, eine vollständige IPv4-Adresse besteht aus 32 Bit. Abhängig von der Adressklasse stehen bis zu 24 Bit oder nur 8 Bit für die Darstellung des Host-Adressraums zur Verfügung. Die Netzmaske wird in der netmasks-Datenbank angegeben.

Wenn Sie beabsichtigen, Teilnetze einzusetzen, müssen Sie Ihre Netzmaske vor der Konfiguration von TCP/IP festlegen. Möchten Sie das Betriebssystem im Rahmen der Netzwerkkonfiguration installieren, fordert das Oracle Solaris-Installationsprogramm die Netzmaske für Ihr Netzwerk an.

Wie unter Erstellen eines IPv4-Adressierungsschemas beschrieben, bestehen 32-Bit-IP-Adressen aus einer Netzwerk- und einer Hostkomponente. Die 32 Bit werden in 4 Byte unterteilt. Jedes Byte ist, abhängig von der Netzwerkklasse, entweder der Netzwerknummer oder der Hostnummer zugeordnet.

Bei einer Klasse-B-IPv4-Adresse sind die 2 Byte auf der linken Seite der Netzwerknummer und die 2 Byte auf der rechten Seite der Hostnummer zugeordnet. Bei der Klasse-B-IPv4-Adresse 172.16.10 können Sie die 2 Byte auf der rechten Seite Hosts zuweisen.

Wenn Sie das Subnetting implementieren, benötigen Sie einige Bit im Byte der Hostnummer für die Teilnetzadressen. Beispielsweise bietet ein 16-Bit-Host-Adressraum Adressen für 65.534 Hosts. Wenn Sie das dritte Byte für Teilnetzadressen und das vierte Byte für Hostadressen verwenden, können Sie bis zu 254 Netzwerke mit jeweils bis zu 254 Hosts adressieren.

Die Bit in den Hostadressen-Byte für Teilnetzadresse und die Bit für Hostadressen werden durch eine Teilnetzmaske festgelegt. Teilnetzmasken dienen zur Auswahl der Bit von beiden Byte für die Verwendung als Teilnetzadresse. Obwohl die Netzmaskenbit aufeinander folgend sein müssen, müssen sie nicht in Byte-Segmenten ausgerichtet sein.

Die Netzmaske kann mithilfe des bitweise logischen UND-Operators an einer IPv4-Adresse angewendet werden. Dieser Vorgang wählt die Positionen der Netzwerknummer und der Teilnetznummer in der Adresse.

Netzmasken können über ihre Binärdarstellung erklärt werden. Zur Binär-Dezimal-Umwandlung können Sie einen Taschenrechner verwenden. Die folgenden Beispiele zeigen sowohl die dezimalen als auch die binären Formen der Netzmaske.

Wenn die Netzmaske 255.255.255.0 an der IPv4-Adresse 172.16.41.101 angewendet wird, ist das Ergebnis die IPv4-Adresse 172.16.41.0.

172.16.41.101 & 255.255.255.0 = 172.16.41.0

In binärer Form läuft der Vorgang wie folgt ab:

10000001.10010000.00101001.01100101 (IPv4-Adresse)

AND-Vorgang mit

11111111.11111111.11111111.00000000 (Netzmaske)

Jetzt sucht das System nach der Netzwerknummer 172.16.41 anstatt nach der Netzwerknummer 172.16. Ist die Adresse 172.16.41 in Ihrem Netzwerk vorhanden, ist diese Adresse diejenige, die das System sucht und findet. Da Sie dem dritten Byte des IPv4-Adressraums bis zu 254 Werte zuweisen können, können Sie durch Subnetting Adressraum für 254 Netzwerke erstellen, während vorher nur eines verfügbar war.

Wenn Sie nur für zwei zusätzliche Netzwerke Adressraum bereitstellen, können Sie die folgende Teilnetzmaske verwenden:

255.255.192.0

Diese Netzmaske bietet das folgende Ergebnis:

11111111.11111111.1100000.00000000

Bei diesem Ergebnis verbleiben noch 14 Bit für Hostadressen. Da alle 0en und 1en reserviert sind, müssen mindestens zwei Bit für die Hostnummer reserviert werden.

/etc/inet/netmasks-Datei

Wenn Ihr Netzwerk NIS oder LDAP ausführt, pflegen die Server netmasks-Datenbanken für diese Namen-Services. Bei Netzwerken, die lokale Dateien als Namen-Service verwenden, werden diese Informationen in der /etc/inet/netmasks-Datei gepflegt.


Hinweis –

Um die Kompatibilität mit BSD-basierten Betriebssystemen aufrechtzuerhalten , ist die /etc/netmasks-Datei eine symbolische Verknüpfung zur /etc/inet/netmasks-Datei.


Das folgende Beispiel zeigt die /etc/inet/netmasks-Datei für ein Klasse-B-Netzwerk.


Beispiel 10–4 /etc/inet/netmasks-Datei für ein Klasse-B-Netzwerk


 # The netmasks file associates Internet Protocol (IPv4) address
 # masks with IPv4 network numbers.
 #
 # 	network-number	netmask
 #
 # Both the network-number and the netmasks are specified in
 # “decimal dot” notation, e.g:
 #
 #        128.32.0.0   255.255.255.0
 192.168.0.0  255.255.255.0

Wenn die Datei /etc/netmasks nicht vorhanden ist, muss sie mit einem Texteditor erstellt werden. Verwenden Sie die folgende Syntax:

network-number	netmask-number

Ausführliche Informationen finden Sie in der Manpage netmasks(4).

Beim Erstellen der Netzmaskennummern geben Sie die vom ISP oder der Internet Registry zugewiesene Netzwerknummer (nicht die Teilnetznummer) und die Netzmaskennummer in die /etc/inet/netmasks-Datei ein. Jede Teilnetzmaske muss auf einer separaten Zeile erscheinen.

Beispiel:


128.78.0.0	    255.255.248.0

Sie können auch symbolische Namen für die Netzwerknummern in die /etc/inet/hosts-Datei eingeben. Dann verwenden Sie diese Netzwerknamen anstelle der Netzwerknummern als Parameter für Befehle.

inetd Internet Services-Daemon

Der inetd-Daemon startet die standardmäßigen Internet Services beim Booten eines Systems und kann einen Service bei aktivem System neustarten. Mit dem Service Management Facility (SMF) können Sie standardmäßige Internet Services bearbeiten oder zusätzliche Services durch den inetd-Daemon starten.

Mit dem folgenden SMF-Befehlen können Sie Services verwalten, die von inetd-Daemon gestartet wurden:

svcadm

Für administrative Aktionen an einem Service, z. B. Aktivieren, Deaktivieren oder Neustarten. Ausführliche Informationen finden Sie in der Manpage svcadm(1M).

svcs

Zum Abfragen des Status eines Services. Ausführliche Informationen finden Sie in der Manpage svcs(1).

inetadm

Zum Anzeigen und Bearbeiten der Eigenschaften eines Services. Ausführliche Informationen finden Sie in der Manpage inetadm(1M).

Der Feldwert proto im inetadm-Profil eines bestimmten Services gibt das Transportschichtprotokoll an, auf dem der Service ausgeführt wird. Wenn der Service nur IPv4-konform ist, muss in dem Feld proto entweder tcp, udp oder sctp angegeben werden.

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

Routing-Protokolle in Oracle Solaris

In diesem Abschnitt werden zwei Routing-Protokolle beschrieben, die von Oracle Solaris 10 unterstützt werden): Routing Information Protocol (RIP) und ICMP Router Discovery (RDISC). RIP und RDISC sind TCP/IP-Standardprotokolle. Eine vollständige Liste der in Oracle Solaris 10 verfügbaren Routing-Protokolle finden Sie in Tabelle 5–1 und Tabelle 5–2.

Routing Information Protocol (RIP)

RIP wird von in.routed , dem Routing-Daemon implementiert, der beim Booten des Systems automatisch gestartet wird. Wird der in.routed-Daemon auf einem Router mit der Option s ausgeführt, füllt er die Kernel-Routing-Tabelle mit einer Route zu jedem erreichbaren Netzwerk aus und meldet die „Erreichbarkeit“ an alle Netzwerkschnittstellen.

Wenn der in.routed-Daemon auf einem Host mit der Option q ausgeführt wird, extrahiert er zwar die Routing-Informationen, gibt aber die Erreichbarkeit nicht bekannt. Routing-Informationen auf Hosts können auf zwei Arten extrahiert werden:

ICMP Router Discovery (RDISC)-Protokoll

Hosts verwenden RDISC, um Routing-Informationen von Routern zu beziehen. Wenn Hosts RDISC ausführen, müssen Router noch ein weiteres Protokoll ausführen, z. B. RIP, um Router-Informationen auszutauschen.

RDISC wird vom in.routed-Daemon implementiert, der auf Routern und Hosts ausgeführt werden muss. Auf Hosts verwendet der in.routed-Daemon RDISC, um die Standardrouten von Routern zu erfassen, die sich selbst über RDISC melden. Auf Routern verwendet der in.routed-Daemon RDISC, um Standardrouten zu Hosts in direkt verbundenen Netzwerken bekannt zu geben. Weitere Informationen finden Sie in den Manpages in.routed(1M) und gateways(4).

Netzwerkklassen


Hinweis –

Klassenbasierte Netzwerknummern werden von der IANA nicht mehr vergeben, obwohl verschiedene ältere Netzwerke noch immer klassenbasiert sind.


Dieser Abschnitt enthält ausführliche Informationen zu IPv4-Netzwerkklassen. Jede Klasse verwendet den 32-Bit-IPv4-Adressraum anders und stellt mehr oder weniger Bit als Netzwerkkomponenten der Adresse zur Verfügung. Die Klassen sind Klasse A, Klasse B und Klasse C.

Klasse A-Netzwerknummern

Eine Klasse A-Netzwerknummer verwendet die ersten acht Bit der IPv4-Adresse als „Netzwerkkomponente “. Die verbleibenden 24 Bit enthalten die Hostkomponente der IPv4 Adresse. Dies wird in der folgenden Abbildung verdeutlicht.

Abbildung 10–3 Byte-Zuweisung in einer Klasse A-Adresse

Das Diagramm zeigt, dass die Bit 0-7 die Netzwerkkomponente und die verbleibenden 24 Bit die Hostkomponente einer 32 Bit IPv4-Adresse der Klasse A darstellen.

Die Werte, die dem ersten Byte einer Klasse A-Netzwerknummer zugeordnet werden, liegen im Bereich von 0–127. Betrachten Sie die IPv4-Adresse 75.4.10.4. Der Wert 75 im ersten Byte kennzeichnet, dass sich der Host in einem Klasse A-Netzwerk befindet. Die verbleibenden Byte 4.10.4 geben die Hostadresse an. Nur das erste Byte einer Klasse A-Nummer ist bei der IANA registriert. Die Verwendung der verbleibenden 3 Byte obliegt dem Eigentümer der Netzwerknummer. Es existieren nur 127 Klasse A-Netzwerke. Jede dieser Zahlen kann maximal 16.777.214 Hosts aufnehmen.

Klasse B-Netzwerknummern

Eine Klasse B-Netzwerknummer verwendet 16 Bit für die Netzwerknummer und 16 Bit für die Hostnummern. Das erste Byte einer Klasse B-Netzwerknummer liegt im Bereich 128–191. In der Zahlengruppe 172.16.50.56 sind die ersten 2 Byte, 172.16, bei der IANA registriert und bilden die Netzwerkadresse. Die letzten 2 Byte, 50.56, enthalten die Hostadresse. Die Zuweisung obliegt dem Eigentümer der Netzwerknummer. Eine Klasse B-Adresse wird in der folgenden Abbildung dargestellt.

Abbildung 10–4 Byte-Zuweisung in einer Klasse B-Adresse

Das Diagramm zeigt, dass die Bit 0-15 den Netzwerkteil darstellen und die verbleibenden 16 Bit den Hostteil einer 32 Bit IPv4-Adresse der Klasse B.

Die Klasse B wird im Allgemeinen Organisationen zugewiesen, deren Netzwerk viele Hosts enthalten.

Klasse C-Netzwerknummern

Eine Klasse C-Netzwerknummer verwendet 24 Bit für die Netzwerknummer und 8 Bit für die Hostnummern. Klasse C-Netzwerknummern eignen sich für Netzwerke mit nur wenigen Hosts (maximal 254). Eine Klasse C-Netzwerknummer belegt die ersten drei Byte einer IPv4-Adresse. Nur die Zuweisung des vierten Byte obliegt den Eigentümern des Netzwerks. Die Byte in einer Klasse C-Adresse sind in der folgenden Abbildung grafisch dargestellt.

Abbildung 10–5 Byte-Zuweisung in einer Klasse C-Adresse

Das Diagramm zeigt, dass die Bit 0-23 den Netzwerkteil darstellen und die verbleibenden 8 Bit den Hostteil einer 32 Bit IPv4-Adresse der Klasse C.

Das erste Byte einer Klasse C-Netzwerknummer liegt im Bereich 192–223. Das zweite und dritte Byte decken jeweils den Bereich 1– 255 ab. Eine typische Klasse C-Adresse ist z. B. 192.168.2.5. Die ersten 3 Byte, 192.168.2, bilden die Netzwerknummer. Das letzte Byte in diesem Beispiel, 5, ist die Hostnummer.