UDPおよびTCPカーネル・パラメータの手動設定

修正スクリプトまたはCVUを使用してエフェメラル・ポートを設定しない場合は、TCP/IPエフェメラル・ポート範囲のパラメータを設定して、予想されるサーバーのワークロードに対して十分なエフェメラル・ポートを提供します。

下限を9000以上に設定し、Well KnownポートとOracleおよびその他のサーバー・ポートで一般的に使用される登録済ポート範囲のポートを避けます。使用するアプリケーションに予約済のポートを避けるようにポート範囲を高く設定します。範囲の下限が9000を超え、予想されるワークロードに対して範囲が十分大きい場合は、エフェメラル・ポート範囲に関するOracle Universal Installer警告は無視できます。

Oracle Solaris 10では、nddコマンドを使用して、エフェメラル・ポートの現在の範囲を確認します。
# /usr/sbin/ndd /dev/tcp tcp_smallest_anon_port tcp_largest_anon_port

32768
65535
Oracle Solaris 11では、ipadmコマンドを使用して、エフェメラル・ポートの現在の範囲を確認します。
# ipadm show-prop -p smallest_anon_port,largest_anon_port tcp

PROTO PROPERTY           PERM CURRENT PERSISTENT DEFAULT POSSIBLE
tcp   smallest_anon_port rw   32768       --     32768   1024-65535
tcp   largest_anon_port  rw   65500       --     65535   32768-65535

上の例で、エフェメラル・ポートの範囲はデフォルトの範囲(32768-65535)に設定されています。

予想されるワークロードまたはサーバー数に必要な場合は、UDPとTCPエフェメラル・ポート範囲を広めに更新します。次に例を示します。

Oracle Solaris 10の場合:
# /usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000
# /usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500
# /usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000
# /usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500
Oracle Solaris 11の場合:
# ipadm set-prop -p smallest_anon_port=9000 tcp
# ipadm set-prop -p largest_anon_port=65500 tcp
# ipadm set-prop -p smallest_anon_port=9000 udp
# ipadm set-prop -p largest_anon_port=65500 udp

これらの設定は永続的にすることをお薦めします。システムの再起動時にこのエフェメラル・ポートの範囲変更を自動で行う方法については、システムの管理ドキュメントを参照してください。