ポートとは? よく使うポートのまとめ
サーバーのIPが「建物の住所」なら、ポートは「部屋番号」です。同じサーバーの中でも、Webサイトは443番、マインクラフトは25565番のように、プログラムごとに異なるポートで接続を受け付けます。外部から接続できないときは、たいていこのポートがふさがれているか、プログラムがそのポートで待ち受けていない場合です。
よく使うポート
| ポート | 用途 | 外部に開ける |
|---|---|---|
| 22 (TCP) | LinuxサーバーへのSSH接続 | 開いている(デフォルト) |
| 3389 (TCP) | Windowsのリモートデスクトップ | 開いている(デフォルト) |
| 80 (TCP) | Webサイト (HTTP) | Webサイトを運営するとき |
| 443 (TCP) | Webサイト (HTTPS) | Webサイトを運営するとき |
| 25565 (TCP) | マインクラフト Java版 | マインクラフトサーバーを立てるとき |
| 19132 (UDP) | マインクラフト 統合版(Bedrock) | 統合版サーバーを立てるとき |
| 3306 (TCP) | MySQL / MariaDB | 開けないでください |
| 5432 (TCP) | PostgreSQL | 開けないでください |
| 6379 (TCP) | Redis | 開けないでください |
| 3000, 8000など | 自分で作ったアプリ | 通常は開けずにNginxの後ろに置きます |
Discordボットは外部から接続を受け付けるプログラムではないため、ポートを開ける必要はありません。
DBのポートを開けてはいけない理由はデータベースをインストールするを、アプリをNginxの後ろに置く方法は自分で作ったWebアプリをサーバーにデプロイするを参考にしてください。
TCPとUDP
ポート番号が同じでも、TCPとUDPは別々に開ける必要があります。プログラムの説明書に書かれているとおりに開けてください。たとえば統合版サーバーはUDPなので、19132/tcpを開けても接続できません。
ポートの開け方
ファイアウォールのポートを開けるを参考にしてください。Linux(ufw)の例は次のとおりです。
sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp
プログラムがポートを正しく開いて待ち受けているか確認する
ファイアウォールを開けたのに接続できない場合は、プログラムが本当にそのポートで待ち受けているかを、サーバーの中で確認します。
sudo ss -tulpn
Local Address列でポート番号を探します。
0.0.0.0:25565または*:25565— 外部からの接続を受け付けられる状態です。127.0.0.1:25565— サーバーの中からの接続だけを受け付ける状態です。プログラムの設定で接続アドレスを変更しないと、外部からは入れません。- 一覧にない — プログラムが停止しているか、別のポートを使っています。
自分のPCからポートが開いているか確認する (Windows)
自分のPCのPowerShellで実行します。(確認できるのはTCPポートだけです)
Test-NetConnection server-ip -Port 25565
TcpTestSucceeded : Trueと表示されれば、外部からそのポートに接続できます。