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:
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.
Jedes System im Netzwerk bezieht die TCP/IP-Konfigurationsinformationen aus den folgenden TCP/IP-Konfigurationsdateien und Netzwerkdatenbanken:
/etc/hostname.Schnittstelle-Datei
/etc/nodename-Datei
/etc/defaultdomain-Datei
/etc/defaultrouter-Datei (optional)
hosts-Datenbank
Unter Solaris 10 11/06 und früheren Releases, ipnodes-Datenbank
netmasks-Datenbank (optional)
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.
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.
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.
IPv6 verwendet die /etc/hostname6.Schnittstelle-Datei zur Definition von Netzwerkschnittstellen. Weitere Informationen hierzu finden Sie unter IPv6-Schnittstellenkonfigurationsdatei.
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.
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) .
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.
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.
Um die Kompatibilität mit BSD-basierten Betriebssystemen aufrechtzuerhalten, stellt die /etc/hosts-Datei eine symbolische Verknüpfung zur /etc/inet/hosts-Datei dar.
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]
Enthält die IPv4-Adresse jeder Schnittstelle, die der lokalen Host erkennen muss.
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.
Ein optionales Feld, das einen Nicknamen für den Host enthält.
Ein optionales Feld für einen Kommentar.
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:
127.0.0.1 localhost loghost #loopback address 192.168.200.3 tenere #host name |
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.
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.
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.
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.
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).
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:
Loopback-Adresse
IPv4-Adresse und Hostname des lokalen Systems (primäre Netzwerkschnittstelle)
IPv4-Adresse und Hostname der zusätzliche Netzwerkschnittstellen, die an dieses System angehängt sind (sofern anwendbar)
IPv4-Adressen und Hostnamen aller Hosts im lokalen System
IPv4-Adressen und Hostnamen aller Router, über die dieses System informiert sein muss (sofern anwendbar)
IPv4-Adresse aller Systeme, die Ihr System über den Hostnamen anspricht
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.
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.
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.
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 |
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.
Wenn Sie Teilnetze erstellen, muss jedes neue Netzwerk ein separates physikalisches Netzwerk sein. Teilnetze können nicht in einem einzelnen physikalischen Netzwerk eingerichtet werden.
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.
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.
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.
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.
# 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.
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:
Für administrative Aktionen an einem Service, z. B. Aktivieren, Deaktivieren oder Neustarten. Ausführliche Informationen finden Sie in der Manpage svcadm(1M).
Zum Abfragen des Status eines Services. Ausführliche Informationen finden Sie in der Manpage svcs(1).
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.
Anweisungen zum Verwenden der SMF-Befehle finden Sie im SMF Command-Line Administrative Utilities in System Administration Guide: Basic Administration.
Eine Beispielaufgabe, in der SMF-Befehle zum Hinzufügen eines über SCTP ausgeführten Services verwendet werden, finden Sie unter So fügen Sie Services hinzu, die das SCTP-Protokoll verwenden.
Informationen zum Hinzufügen von Services, die sowohl IPv4- als auch IPv6-Anforderungen verarbeiten können, finden Sie unter inetd Internet Services-Daemon
Netzwerkdatenbanken sind Dateien, die für die Konfiguration des Netzwerks erforderliche Informationen bereitstellen. Folgende Netzwerkdatenbanken stehen zur Verfügung:
hosts
netmasks
ethers
bootparams
protocols
services
networks
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.
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:
Netzwerke, die lokale Dateien als Namen-Service verwenden, beziehen ihre Informationen aus Dateien in den Verzeichnissen /etc/inet und /etc.
NIS verwendet Datenbanken, die als NIS Maps bezeichnet werden.
DNS-Boot- und Datendateien entsprechen Netzwerkdatenbanken nicht direkt.
Die folgende Abbildung zeigt Formen der hosts-Datenbank, die von diesen Namen-Services verwendet werden.
In der folgenden Tabelle sind die Netzwerkdatenbanken sowie deren entsprechende lokale Dateien und NIS Maps aufgeführt.
Die ipnodes-Datenbank wurde in den Oracle Solaris-Versionen nach Solaris 10 11/06 entfernt.
Netzwerkdatenbank |
Lokale Dateien |
NIS-Maps |
---|---|---|
/etc/inet/hosts |
hosts.byaddr hosts.byname |
|
ipnodes |
/etc/inet/ipnodes |
ipnodes.byaddr ipnodes.byname |
/etc/inet/netmasks |
netmasks.byaddr |
|
/etc/ethers |
ethers.byname ethers.byaddr |
|
/etc/bootparams |
bootparams |
|
/etc/inet/protocols |
protocols.byname protocols.bynumber |
|
/etc/inet/services |
services.byname |
|
/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 zur hosts-Datenbank finden Sie unter hosts-Datenbank.
Informationen zur netmasks-Datenbank finden Sie unter netmasks-Datenbank.
Für Solaris 10 11/06 und frühere Releases finden Sie Informationen zur ipnodes-Datenbank unter ipnodes-Datenbank.
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).
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.
# /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.
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:
nsswitch.files
nsswitch.nis
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.
# /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) .
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:
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.
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.
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 |
Die MAC-Adresse des Hosts
Der offizielle Name des Hosts
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.
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 |
Die übrigen Netzwerkdatenbanken müssen nur selten bearbeitet werden.
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 |
Offizieller Name des Netzwerks
Adresse, die vom ISP oder der Internet Registry zugewiesen wurde
Ein weiterer Name, unter dem das Netzwerk bekannt ist
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:
#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 |
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:
# # 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 |
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:
# # 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 |
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.
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:
Geben Sie nicht das Flag S („S“ als Großbuchstabe: „Platz sparender Modus“ an). in.routed erstellt, genauso wie auf einem Router, eine vollständige Routing-Tabelle.
Geben Sie das Flag S an. in.routed erstellt eine minimale Kernel-Tabelle, die eine Standardroute zu jedem verfügbaren Router enthält.
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).
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.
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.
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.
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.
Die Klasse B wird im Allgemeinen Organisationen zugewiesen, deren Netzwerk viele Hosts enthalten.
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.
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.