0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linux サーバが送信元として使うポート番号が知りたい

Posted at

環境情報

  • Rocky Linux 8

発生した問題

「ネットワークを制限した環境でアプリケーションを動作させるため、アプリケーションが利用する送信元ポートアドレスを知りたい」という依頼があった。

通信を受け付けるサーバが Listen するポートや、 curl などで利用する送信先ポートアドレス (80、443 など) はわかれど、送信元ポートアドレスを知る方法は全く分からなかったため調べた。

解決方法

アプリケーション側で特に送信元ポートアドレスについての管理などはしていなかったため、利用する送信元ポートアドレスについては OS 依存だということが分かった。

どうも、「送信元ポートアドレスとして利用されるポート」は、 Ephemeral port という用語が該当するらしい。この用語で検索をかけると色々と情報が出てきた。

Ephemeral port の範囲は、 net.ipv4.ip_local_port_range というカーネルパラメータとして設定されている。現在の設定は、以下のように確認できる。

# sysctl net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    60999

もしくは、 /proc/sys/net/ipv4/ip_local_port_range の内容を直接確認することでも同じ情報が得られる。

# cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

このシステムで使われる送信元ポートの範囲は、 32768 ~ 60999 である。

なおこれは、 Linux のカーネルとして広く使われている範囲らしい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?