UDPおよびTCPカーネル・パラメータの手動設定
修正スクリプトまたはCVUを使用してエフェメラル・ポートを設定しない場合は、次のガイドラインに従って、エラーまたは問題を最小限に抑えたスムーズで高パフォーマンスのエクスペリエンスを確保します。
- 両方とも奇数または両方とも偶数ではなく、偶数/奇数となる低い番号と高い番号を選択します。
- 下限を9000以上に設定し、Well Knownポートや、Oracleおよび他のベンダーやサーバーで使用するために一般的に登録されているポートを避けます。
- ポート範囲は、使用する予定のアプリケーション用の予約済ポートと、サーバーの予測ワークロードに対応できる十分な大きさのエフェメラル・ポートが含まれるように十分に高く設定します。
たとえば、IPv4の場合は、次のコマンドを使用してエフェメラル・ポートの現在の範囲を確認します。
$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61001
上の例では、最低ポート(32768)および最高ポート(61000)はデフォルト範囲に設定されています。
必要に応じて、UDPおよびTCPエフェメラル・ポートの範囲を、システムの予測負荷に対応できる十分な値に更新し、エフェメラル・ポートの範囲が9000以上になるようにします。たとえば:
# echo 9000 65535 > /proc/sys/net/ipv4/ip_local_port_range
これらの設定は永続的にすることをお薦めします。たとえば、
root
として、テキスト・エディタを使用して/etc/sysctl.conf
を開き、net.ipv4.ip_local_port_range = 9000 65535
のように追加または変更してから、ネットワークを再起動します。$ sudo systemctl restart NetworkManager.service
システム再起動時のエフェメラル・ポート範囲の変更の自動化の詳細は、Linuxディストリビューションのシステム管理に関するドキュメントを参照してください。
親トピック: Linuxのカーネル・パラメータの構成