ファイアウォールのポートを開ける
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 ファイアウォール
画面で設定する
Win + R→wf.mscと入力 → Enter- 左の受信の規則 → 右の新しい規則
- ポートを選択 → TCP、「特定のローカル ポート」にポート番号を入力(例:
8080) - 接続を許可する → 適用するプロファイルをすべてチェック → 規則の名前を入力して完了
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で待ち受け中のポートを確認できます。 - それでも解決しない場合は、サーバーに接続できないときを確認するか、技術サポートまでお問い合わせください。