本文へスキップ
← ガイド一覧

ファイアウォールのポートを開ける

Webサイト(80/443)、ゲームサーバー(例: マインクラフト 25565)、自分で作ったプログラム(例: 8080)のように、外部から接続する必要があるサービスは、サーバーのファイアウォールでそのポートを開ける必要があります。

⚠️ ファイアウォールをオンにする前に、接続用のポート(Linux SSH 22、Windows RDP 3389)を先に許可してください。このポートをふさぐとサーバーに接続できなくなり、マイページにも「サーバー応答なし」と表示されることがあります。誤ってふさいでしまった場合は、ブラウザーコンソール(VNC)から入って元に戻せます。

Linux(Ubuntu) — ufw

Ubuntuには、ufwというシンプルなファイアウォールツールが入っています。

現在の状態を確認

sudo ufw status

Status: inactiveなら、ファイアウォールがオフで、すべてのポートが開いている状態です。

ファイアウォールをオンにする (最初に1回)

sudo ufw allow 22/tcp      # 先にSSHを許可(必ず!)
sudo ufw enable

ポートを開ける / 閉じる

sudo ufw allow 80/tcp          # Web (HTTP)
sudo ufw allow 443/tcp         # Web (HTTPS)
sudo ufw allow 25565/tcp       # マインクラフト
sudo ufw delete allow 25565/tcp   # 開けたポートを閉じる

特定のIPからのみ許可する

DBのように自分だけが接続できればよいポートは、自分のIPからのみ許可すると安全です。

sudo ufw allow from my-ip to any port 3306 proto tcp

Windowsサーバー — Windows Defender ファイアウォール

画面で設定する

  1. Win + R → wf.mscと入力 → Enter
  2. 左の受信の規則 → 右の新しい規則
  3. ポートを選択 → TCP、「特定のローカル ポート」にポート番号を入力(例: 8080)
  4. 接続を許可する → 適用するプロファイルをすべてチェック → 規則の名前を入力して完了

PowerShellで1行で設定する

PowerShellを管理者権限で開いて入力します。

New-NetFirewallRule -DisplayName "My App 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow

ポートを開けたのに接続できません

  • プログラムが127.0.0.1(内部専用)ではなく0.0.0.0(すべてのアドレス)で待ち受けるように設定されているか確認してください。
  • サーバー内でプログラムが実際に実行中か確認してください。Linuxではsudo ss -tlnpで待ち受け中のポートを確認できます。
  • それでも解決しない場合は、サーバーに接続できないときを確認するか、技術サポートまでお問い合わせください。

解決しない問題がある場合は、Discordのチケットでお問い合わせください。