IPv6 有効化サーバーでは、対応するクライアントで利用している内容に応じて、IPv4 アドレスか IPv6 アドレスを処理できます。/etc/inet/inetd.conf ファイルには、inetd(1M) がソケット経由でインターネット要求を受信したときに呼び出すサーバーリストが保存されています。ソケットベースのインターネットサーバーエントリはそれぞれ、次の構文を使用する 1 行です。
service_name socket_type proto flags user server_pathname args |
各フィールドに指定できる値については、inetd.conf(4) のマニュアルページを参照してください。Solaris オペレーティング環境の場合、IPv6 有効化で /etc/inet/inetd.conf ファイルにサービスを指定するには、proto フィールドに tcp6 または udp6 を指定します。サービスが IPv4 専用の場合、proto フィールドは tcp または udp として指定します。サービスに tcp6 または udp6 の proto 値を指定すると、inetd は所定のデーモン AF_INET6 ソケットを渡します。
inetd.conf ファイルの次のエントリは、IPv4 クライアントアプリケーションと IPv6 クライアントアプリケーションの両方と通信できる udp サーバー (myserver) を表します。
myserver dgram udp6 wait root /usr/sbin/myserver myserver |
AF_INET (IPv4 専用) ソケットまたは AF_INET6 (IPv6 と IPv4) ソケットを inetd から継承できるよう IPv6 有効化サーバーを書き込むと、サービスの proto 値が tcp6 (udp6) または tcp (udp) として指定されます。この種のサーバーでは、2 つの inetd.conf エントリを、1 つは proto で tcp として、もう 1 つは proto で tcp6 として指定できます。
AF_INET6 ソケットは、IPv4 プロトコルと IPv6 プロトコルのどちらでも使用できるため、proto 値 tcp6 (udp6) を指定すれば充分です。
各種 IPv6 有効化サーバーの記述方法については、『ネットワークインタフェース』を参照してください。
Solaris バンドルサーバーには、いずれも proto を tcp6 または udp6 と指定する inetd エントリが 1 つあれば十分です。ただし、リモートシェルサーバー (shell) とリモート実行サーバー (exec) のエントリには、tcp と tcp6 の両方の proto 値を指定する必要があります。例 16-4 は、rlogin、telnet、shell、exec 用の inetd エントリです。
login stream tcp6 nowait root /usr/sbin/in.rlogind in.rlogind telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd shell stream tcp nowait root /usr/sbin/in.rshd in.rshd shell stream tcp6 nowait root /usr/sbin/in.rshd in.rshd exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd |
以上のユーティリティの server_pathname として TCP ラッパー (telnet などさまざまなネットワークサービスで入力要求を監視、フィルタ処理するためのパブリックドメインユーティリティ) を指定するには、TCP ラッパーが IPv6 対応であることが条件です。対応していない場合、TCP ラッパーで使用するサービスの proto を tcp か udp に指定する必要があります。
また、Solaris に含まれるユーティリティを別の実装と交換する場合、そのサービスの実装が IPv6 をサポートしていることを確認する必要があります。サポートしていない場合、proto 値を tcp か udp に指定します。
proto 値を tcp か udp のどちらか一方に指定すると、サービスでは IPv4 だけが使用されます。IPv4 接続と IPv6 接続の両方を有効にするには、proto 値を tcp6 か udp6 に指定する必要があります。サービスで IPv6 をサポートしていない場合、tcp や udp は指定しないでください。
ソケットを使用する IPv6 有効化サーバーの記述については、『ネットワークインタフェース』を参照してください。