
私のLinuxシステムには、次の一時ポート範囲が表示されます。
sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
16000付近からポート範囲を広げたいです。以下は簡単な質問です。他のアプリケーションの範囲を変更しても安全ですか?この変更によって他のアプリケーションも影響を受けますか?私が理解しているように、アプリケーションは指定されたポート範囲内のポートを使用している場合にのみ影響を受けます。しかし、一般的に、この種の問題はどのように扱われますか?
答え1
一時ポート範囲を変更すると、次を使用すると問題が発生する可能性があります。メイスルズ。
Mesos はホストのリソースを各ノードに宣伝します。メソスフレームワークその後、広告されたリソースを使用することを選択できます。既知のリソースには、CPU、メモリ、ポートなどが含まれます。 Mesosが広告するデフォルトのポートセットは次のとおりです。31000-32000。これにより、デフォルトのLinux一時ポート範囲との競合を防ぐことができます。32768-61000。
Mesosは、ポートが他のプロセスで使用されているかどうかを知らず、自分が調整しているエンティティに割り当てられているポートのみを追跡することに注意する価値があります(メソスの仕事&メソス執行者)。したがって、Mesosポート範囲と重なるように一時ポート範囲を変更すると、いくつかのランダムプロセスが実際にこれらの「Mesosポート」の1つである一時ポートを使用できます。これにより、Mesos がそのポートを提供できるようになります。メソスフレームワーク、一見ランダムエラーが発生します。メソス執行者そして/またはメソスの仕事そのポートにバインドできないためです。
mesos-slave
一時ポートの範囲を増やす必要があり、Mesosも実行する必要がある場合(すぐに名前が変更される予定)、設定パラメータを使用して公開されたmesos-agent
ポートを変更できます--resources
。
答え2
ローカルファイルで範囲の内容を確認して、影響を受ける可能性のあるサービスのリストを取得できます/etc/services
。たとえば、次のようになります。
awk '/^#/ { next } $2+0 >= 16000 && $2+0 < 32768 { print }' /etc/services
または権威ある場所で:
wget http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv
awk -F, '$2+0 >= 16000 && $2+0 < 32768 { print }' service-names-port-numbers.csv