In diesem Abschnitt werden IPv4-bezogene Daemons beschrieben.
Der in.ndpd-in Daemon implementiert das IPv6-Neighbor Discovery-Protokoll und die Router-Erkennung. Darüber hinaus setzt der Daemon die automatische Adresskonfiguration für IPv6 um. Im Folgenden sind die unterstützten Optionen des in.ndpd-Daemons aufgeführt.
Aktiviert das Debugging.
Aktiviert das Debugging für bestimmte Ereignisse.
Gibt eine Datei an, die anstelle der Standard-Datei /etc/inet/ndpd.conf zum Einlesen von Konfigurationsdaten verwendet wird.
Druckt Informationen zu jeder Schnittstelle.
Führt kein Loopback für Router Advertisement-Nachrichten aus.
Ignoriert empfangene Pakete.
Aktiviert den ausführlichen Modus und zeigt verschiedene Diagnosemeldungen an.
Aktiviert die Paketverfolgung.
Der in.ndpd-Daemon wird neben den Parametern, die in der Konfigurationsdatei /etc/inet/ndpd.conf eingerichtet werden, durch die entsprechenden Parameter in der Startdatei /var/inet/ndpd_state.Schnittstelle gesteuert.
Wenn die Datei /etc/inet/ndpd.conf vorhanden ist, wird sie geparst und zur Konfiguration eines Knotens als Router verwendet. Tabelle 11–2 enthält eine Liste der gültigen Schlüsselwörter, die in dieser Datei enthalten sein können. Wenn ein Host bootet, stehen die Router eventuell nicht sofort zur Verfügung. Vom Router gesendete Pakete werden eventuell abgeworfen. Eventuell erreichen gesendete Pakete den Host nicht.
Die /var/inet/ndpd_state.Schnittstelle-Datei ist eine Statusdatei. Diese Datei wird regelmäßig von jedem Knoten aktualisiert. Wenn ein Knoten ausfällt und neu gestartet wird, kann der Knoten seine Schnittstellen auch bei Abwesenheit von Routern konfigurieren. Diese Datei enthält die Schnittstellenadresse, das Datum der letzten Aktualisierung der Datei und den Gültigkeitszeitraum der Datei. Darüber hinaus enthält diese Datei weitere Parameter, die bei früheren Router Advertisement-Nachrichten „gelernt“ wurden.
Sie müssen die Inhalte von Statusdateien nicht ändern. Statusdateien werden automatisch vom in.ndpd-Daemon gepflegt.
Eine Liste der Konfigurationsvariablen sowie der zulässigen Werte finden Sie in den Manpages in.ndpd(1M)und ndpd.conf(4).
Der in.ripngd-Daemon implementiert das Routing Information Protocol der nächsten Generation für IPv6-Router (RIPng). RIPng ist das IPv6-Äquivalent von RIP. Wenn Sie einen IPv6-Router mit dem Befehl routeadm konfigurieren und das IPv6-Routing aktivieren, implementiert der in.ripngd-Daemon RIPng auf dem Router.
Im Folgenden sind die von RIPng unterstützten Optionen aufgeführt.
n gibt den alternativen Port an, der zum Senden und Empfangen von RIPnG-Paketen verwendet wird.
Unterdrückt Routing-Informationen.
Erzwingt Routing-Informationen auch dann, wenn der Daemon als Router fungiert.
Unterdrückt die Verwendung von Poison Reverse.
Wenn in.ripngd nicht als Router fungiert, gibt der Daemon nur eine Standard-Route für jeden Router ein.
Eine IPv6-konforme Serveranwendung kann sowohl IPv4- als auch IPv6-Anforderungen oder nur IPv6-Anforderungen verarbeiten. Der Server verarbeitet Anforderungen immer über einen IPv6-Socket. Darüber hinaus verwendet der Server das gleiche Protokoll wie der entsprechende Client. Um einen Service für IPv6 hinzuzufügen oder zu modifizieren, verwenden Sie die Befehle der Service Management Facility (SMF).
Weitere Informationen zu den SMF-Befehlen finden Sie im SMF Command-Line Administrative Utilities in System Administration Guide: Basic Administration.
Eine Beispielaufgabe, die SMF zur Konfiguration eines IPv4-Servicemanifestes verwendet, das über SCTP ausgeführt wird, finden Sie unter So fügen Sie Services hinzu, die das SCTP-Protokoll verwenden.
Bei der Konfiguration eines IPv6-Services müssen Sie sicherstellen, dass der Feldwert proto im Profil inetadm den entsprechenden Wert für diesen Service enthält:
Bei einem Service, der sowohl IPv4- als auch IPv6-Anforderungen verarbeitet, wählen Sie tcp6, udp6 oder sctp. Ein proto-Wert von tcp6, udp6 oder sctp6 führt dazu, dass inetd einen IPv6-Socket an den Server übergibt. Der Server enthält eine IPv4-zugeordnete Adresse, falls ein IPv4-Client eine Anforderung stellt.
Bei einem Service, der ausschließlich IPv6-Anforderungen verarbeitet, wählen Sie tcp6only oder udp6only. Wenn einer dieser Werte für proto eingerichtet wurde, übergibt inetd einen IPv6-Socket an den Server.
Wenn Sie einen Oracle Solaris-Befehl durch eine andere Implementierung ersetzen, müssen Sie sicherstellen, dass die Implementierung dieses Service IPv6 unterstützt. Andernfalls müssen Sie tcp, udp oder sctp als proto-Wert angeben
Im Folgenden finden Sie ein Profil, das aus der Ausführung von inetadm für ein echo-Servicemanifest resultiert, das sowohl IPv4 als auch IPv6 unterstützt und über SCTP ausgeführt wird:
# inetadm -l svc:/network/echo:sctp_stream SCOPE NAME=VALUE name="echo" endpoint_type="stream" proto="sctp6" isrpc=FALSE wait=FALSE exec="/usr/lib/inet/in.echod -s" user="root" default bind_addr="" default bind_fail_max=-1 default bind_fail_interval=-1 default max_con_rate=-1 default max_copies=-1 default con_rate_offline=-1 default failrate_cnt=40 default failrate_interval=60 default inherit_env=TRUE default tcp_trace=FALSE default tcp_wrappers=FALSE |
Um den Wert des Feldes proto zu ändern, verwenden Sie die folgende Syntax:
# inetadm -m FMRI proto="transport-protocols" |
Alle Server, auf denen die Oracle Solaris-Software installiert ist, benötigen nur einen Profileintrag, der proto als tcp6, udp6 oder sctp6 einrichtet. Der Remote Shell Server (shell) und der Remote Execution Server (exec) bestehen jetzt jedoch aus einer Service-Instanz, die einen proto-Wert benötigt, für den die beiden Werte tcp und tcp6only erforderlich sind. Um beispielsweise den Wert proto für shell einzurichten, geben Sie den folgenden Befehl ein:
# inetadm -m network/shell:default proto="tcp,tcp6only" |
Weitere Informationen zum Schreiben von IPv4-konformen Servern, die Sockets verwenden, finden Sie in den IPv6-Erweiterungen zur Socket API im Programming Interfaces Guide .
Wenn Sie einen Service für IPv6 hinzufügen oder modifizieren, müssen Sie Folgendes berücksichtigen:
Sie müssen den proto-Wert als tcp6, sctp6 oder udp6 angeben, um sowohl IPv4- als auch IPv6-Verbindungen zu ermöglichen. Wenn Sie den Wert für proto mit tcp, sctp oder udp angeben, verwendet der Service ausschließlich IPv4.
Obwohl Sie eine Service-Instanz hinzufügen können, die 1:n-SCTP-Sockets für inetd verwendet, wird diese Vorgehensweise nicht empfohlen. inetd arbeitet nicht mit 1:n-SCTP-Sockets.
Wenn ein Service zwei Einträge erfordert, da seine wait-status- oder exec-Eigenschaften abweichen, müssen Sie zwei Instanzen/Services aus dem ursprünglichen Service erstellen.