レイヤ4のTCP/UDPのポート番号。発信元はDynamic and/or Private Portsを使います。
IANAさんは、次のようにポート番号を使い分けたまへと言いました。
0~1023 Well known ports(System Ports:サービスの待ち受けポートとして良く知られているもの)
1024~49151 Registered Ports(登録済み 別名User Ports)
49152~65535 Dynamic and/or Private Ports (動的及びプライベートポート 別名 ephemeral ports)
ということで、BSDやらWindows達はそれに合わせて実装を変えてきました。Ciscoさんでも最近はそんな感じです。
では、CentOS7ではどうなっているのか確認してみましょう。
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 60999
あれ?なにやら 数字が何か違います。どうやらlinux全般はそんな状態らしいです。改めてIANAさんのページを見てみると。
Service Name and Transport Protocol Port Number Registry
TCP,UDP以外にもDCCPとかSCTPとかいろいろ書かれていますが同じくレイヤ4あたりの話です。IANAさん的にはRSVPが忘れられています。
では設定を変えてしまいましょう。ファイルを1個作って中身をごにょごにょとかきます。そして反映。
# cat /etc/sysctl.d/ephemeral_ports.conf net.ipv4.ip_local_port_range = 1024 65535 # sysctl -p /etc/sysctl.d/ephemeral_ports.conf net.ipv4.ip_local_port_range = 1024 65535 # cat /proc/sys/net/ipv4/ip_local_port_range 1024 65535
IANAさんのガイドラインでは発信元port番号は16000個ちょっと。linuxの標準では28000個。設定を変えてあげると64000個程になります。クライアントなら16000個もあれば十分でしょうけどサーバ側は足りなさそうです。
windowsは昔は1025から5000個を使っていたそうですがいまはきちんと?IANAにあわせています。
しかし、microsoftのbiztalkのサイトではネットワークのパフォーマンスを上げるために次のようなコマンドを打ってみるとか書いてあったり。
C:\Windows\system32>netsh int ipv4 set dynamicport tcp start=1025 num=64511
と指定することで1025から65535まで使えるようになります。