Windows10のPCをサーバーとして公開する場合、ポート開放(ポートフォワーディング)が必要になるケースがあります。
しかし、ポート開放したのにも関わらず、外部からサーバーにアクセスできない現象が発生することがあります。
特にMinecraftなどのゲームサーバーを公開する際にうまくポート開放できないことが多いと思います。
今回は、Windows10のPCをサーバーにしたポート開放ができない時の原因と対処法について紹介していきます。
この記事の内容
ポート開放ができない原因
Windows10のPCをサーバー機にしてポート開放できない場合、主に次の原因が考えられます。
- プロバイダ(ISP)がグルーバルIPを提供していない
- ポートフォワーディングの設定が間違っている
- プロトコルの設定が間違っている
- セキュリティソフト・ファイアウォールが通信を遮断している
- LAN側のIP(ローカルIP)が変動している
- WAN側のIP(グローバルIP)が変動している
- サーバー用PCで別のアプリケーションが同じポートを使用している
- 2重ルータになっている
インターネット回線のプロバイダが原因になっている場合は、設定では対処ができないため契約の変更が必要です。
プロバイダに問題がない場合は、正しい設定をすれば基本的にポートを開放することができます。
外部ネットワークからサーバーにうまくアクセスできない場合は、紹介する対処方法を1つずつ見直してみて下さい。
対処1: グローバルIPが提供されるプロバイダと契約する
契約プロバイダから割り当てられているIPアドレスがプライベートIPの場合、ポートを開放することは基本的にできません。
理由としては、ポート開放をする必要のあるネットワーク機器をプロバイダが管理してるためです。
プライベートIP契約の状態で、自環境のルーターのポート開放を行っても、プロバイダ側でポートがブロックされてしまいます。
そのため、契約中のプロバイダのプランがグローバルIPの契約になっているか確認して下さい。
プライベートIPの場合は、対策としてグローバルIPが提供される契約に変更する必要があります。
- グローバルIPが提供されるプランに変更する。(*プロバイダのプランがある場合)
- グローバルIPを提供するプロバイダに変更する。
グローバルIPが割り当てられている状態でポート開放ができない場合は次の対処に進んで下さい。
対処2: ポートフォワーディングを再設定する
ポートフォワーディングの設定に1箇所でも誤りがあると、通信がサーバーに到達しないためアクセスできません。
そのため、ルーターのポートフォワーディングの設定を再度見直して下さい。また、設定していない場合は設定を行って下さい。
ポートフォワーディングの設定は、次の手順で行います。
1. WindowsPCのIPアドレスを確認する
まず、サーバー機のWindowsPCのIPアドレスを次の手順で確認します。
- 「Windowsマーク」を右クリックして「Windows PowerShell」を選択します。
- 次のコマンドを入力してEnterキーを押します。
ipconfig
- 「IPv4 Address」の値を控えておきます。
- 通常の環境であれば「192.168.XX.XXX」の形式で表示されます。
2.ポートフォワーディングの設定を行う
WindowsのPCのIPアドレスが確認できたら、ゲートウェイルーター(PPPoEなどのインターネット接続設定しているルーター)にポートフォワーディングの設定を行います。
ポートフォワーディングの設定はルーターの機種によって異なるため、マニュアルを参考にしてください。
今回は、NTTからレンタルすることの多いホームゲートウェイの設定例を紹介します。
- ブラウザのアドレスバーに「ルーターのIPアドレス」を入力して設定画面にアクセスします。
- ルーターのIPアドレスは、初期設定であれば「192.168.1.1」であることが多いです。
- ルーターの管理ユーザーの「ユーザー名」と「パスワード」を入力します。
- ユーザー名は「user」、パスワードはルーター設置時の初期設定パスワードです。
- ルーターの設定画面が開いたら「詳細設定」→「静的IPマスカレード設定」をクリックします。
- ルーターによっては、「ポートマッピング設定」や「ポートフォワーディング設定」の場合があります。
- 「編集」をクリックします。
- 変換するプロトコルとポート番号、宛先のIPアドレスとポート番号を入力して「設定」をクリックして追加します。
- 変換対象プロトコル: ポート開放するプロトコルの種類(TCP/UDP)を選択します。
- 変換対象ポート: 開放するポート番号を指定します。
- 例: Minecraftのゲームサーバを公開する場合は「25565」など
- 宛先IPアドレス: ポート開放して通信するサーバー用のWindowsPCのIPアドレスを入力します。
- 先程確認した「192.168.XX.XXX」のIPアドレスを入力して下さい。
- コンピュータ名を使用するとポート開放できない原因になるので、IPアドレスで指定して下さい。
- 宛先ポート: サーバー用のWindowsPCに送るポート番号を指定します。
- ポート番号の変換が必要ない場合は、変換対象ポートと同じポート番号を指定すれば問題ありません。
- 開放するポートが複数ある場合は、同じ手順で全て追加します。
- 追加した設定の一覧の一番左に表示されるチェックボックスを全て「オン」にします。
- 「設定」をクリックしてポートフォワーディングの設定を保存します。
以上でポートフォワーディングの設定は完了です。サーバーへのアクセスを試してポート開放できているか確認して下さい。
正しいポートフォワーディングを設定してもサーバーにアクセスできない場合は、次の対処法を試して下さい。
対処3: 重複しているポートフォワーディング設定を削除する
ルーターのポートフォワーディングの設定で、同じポートに対して複数の宛先(サーバーのIP)を設定していると、ポートフォワーディングが機能しません。
そのため、ポートフォワーディングの設定の転送ルールが重複していないか確認して下さい。
重複したポート転送ルールがある場合は、不要な転送ルールの削除を行って下さい。
対処4: LAN側のIP(ローカルIP)を固定する
サーバーとして利用するWindowsPCのローカルIPアドレスを固定していないと、ポートの通信を転送できない原因になります。
PCのIPアドレスは、固定していないと自動的に異なるIPに更新されます。そのため、ポートフォワーディングの宛先IPを変更しないとアクセスできない状態になってしまいます。
上記のIPアドレスの変動問題を解決するためには、サーバーのローカルIPを固定化することをおすすめします。
Windows10のPCでローカルIPを固定する方法は以下の通りです。
- ipconfigコマンドで、IPアドレスを確認して、「IPv4 Address」「Default Gateway」「Subnet Mask」の値を控えておきます。
- 手順は、『WindowsPCのIPアドレスを確認する』と同様です。
- 「Windowsマーク」を右クリックして「ネットワーク接続」を選択します。
- 右ペインで「アダプタのオプションを変更する」をクリックします。
- 「イーサネット/ローカルエリア接続」のアイコンを右クリックして「プロパティ」を選択します。
- 表示されたウィンドウのリストの中で、「インターネット プロトコル バージョン4(TCP/IPv4)」を選択して、リスト右下にある「プロパティ」をクリックします。
- 「次のIPアドレスを使う」のオプションを選択して、IPアドレスの情報を入力します。
- IPアドレス: 確認した「IPv4 Address」の値の最後のホスト部を変更した値を入力します。
- 例: 「192.168.1.12」だった場合は、「192.168.1.201」など
- IPアドレスは他のデバイスと重複しないよう、ルーターのDHCP設定の使用範囲から外しておく必要があります。
- DHCPの使用範囲は、ルーターの設定画面で確認できます。
- 分からない場合は、200〜230の値にしておくと重複しにくいです。ネットワークに問題が起きた場合は、別のIPを設定して下さい。
- サブネットマスク: 確認した「Subnet Mask」の値を入力します。
- デフォルトゲートウェイ: 確認した「Default Gateway」の値を入力します。
- IPアドレス: 確認した「IPv4 Address」の値の最後のホスト部を変更した値を入力します。
- 「OK」をクリックして設定を保存します。
以上でローカルIPを固定化することができます。ローカルIPを変更した場合は、ポートフォワーディングの宛先のIPの設定も変更して下さい。
対処5: WAN側のグローバルIPを指定し直す
ローカルのIPアドレスではなく、WAN側のグローバルIPが変動して突然サーバーにアクセスできなくなるケースがあります。
そのため、グローバルIPに変更がないか確認して下さい。現在のグローバルIPは、次のページで確認することができます。
cman.jp
グローバルIPが変更されていた場合は、ポートが閉じているわけではないため、接続先のグローバルIPを正しく指定し直せば接続できます。
グローバルIPを固定したい場合
グローバルIPが更新されるのが煩わしい場合は、グローバルIPの固定を検討して下さい。
グローバルIPを固定するためには、主に次の方法があります。
- 方法1: 固定IPサービスを契約する
- プロバイダが固定IPのオプションを提供している場合は、契約を変更することでグローバルIPを固定化できます。(*有料)
- プロバイダによっては、オプションを提供していない場合があります。
- 方法2: ダイナミックDNS(DDNS)を利用する
- DNSを利用して、ドメインに紐付けられているグルーバルIPを自動更新できるサービスです。
- ISP提供の固定IPサービスに比べて料金が安い場合が多いです。
- サーバー接続時には、IPアドレスではなく提供されるドメインを指定します。
対処6: Windowsのファイアウォールで通信を許可する
Windowsのファイアウォールやセキュリティソフトの機能によって、ポートの通信が遮断されていることがあります。
そのため、ファイアウォールやセキュリティソフトの設定でポートの通信を許可すると解決する可能性があります。
Windows10標準のセキュリティ機能を使用している場合は、次の手順で特定のポートの通信を許可することができます。
- 「Windowsマーク」を右クリックして「設定」を選択します。
- 「更新とセキュリティ」をクリックします。
- 左ペインで「Windowsセキュリティ」をクリックします。
- 右ペインで「ファイアウォールとネットワーク保護」をクリックします。
- 右ペインで「詳細設定」をクリックします。
- 「セキュリティが強化されたWindowsDefenderファイアウォール」が開くので、左ペインから「受信の規則」を右クリック→「新しい規則」をクリックします。
- 新規の受信の規則ウィザードが開いたら、「ポート」を選択して次に進みます。
- 「TCP/UDP」を選択して、「特定のローカルポート」に「開放したポート番号」を入力して「次へ」をクリックします。
- 「接続を許可する」を選択して「次へ」をクリックします。
- 接続を許可するネットワークの種類が表示されるので、全てにチェックを入れて「次へ」をクリックします。
- 「規則の名称」を入力して「完了」をクリックします。
- 「WindowsDefenderファイアウォール」の「送信の規則」を右クリック→「新しい規則」から同様の設定を行います。
以上で、Windows10のファイアウォールに開放したポートの通信許可を設定することができます。
サードパーティーのセキュリティソフトを使用している場合は、マニュアルを参考にしてポートの通信許可設定を行ってみてください。
対処7: サーバーの使用ポートが重複していない確認する
サーバー用のWindowsPCで、開放したポート番号を他のアプリケーションが使用していることが原因で、サーバーにアクセスできないケースがあります。
そのため、WindowsPCで開放したポートを使用しているアプリケーションが正しいか確認してください。
- 「Windowsマーク」を右クリックして「Windows PowerShell」を選択します。
- 次のコマンドを入力してEnterキーを押します。
netstat -ano
- 「0.0.0.0:ポート番号」の一覧が表示されます。開放したポート番号の「PID」を調べます。
- ポート番号が見つからない場合は、サーバーアプリケーションを起動していないか、別のポート番号を使用していることが考えられます。
- 「Windowsマーク」を右クリックして「タスクマネージャー」を選択します。
- 「詳細」タブをクリックします。
- 「PID」が一致するアプリケーションを確認して下さい。
以上で、ポート番号を使用しているアプリケーションを確認することができます。
別のアプリケーションがポート番号を使用している場合は、アプリケーションを終了して下さい。終了できない場合は、サーバーアプリケーションで使用するポートを変更して下さい。
対処8: ルーターのファイアーウォールを無効にする
ルーターのファイアウォール機能が有効になっていることが原因で、ポートの通信がブロックされているケースがあります。
ポートフォワーディングの設定をしても、ルーターのファイアウォールが機能している場合は、ファイアウォールの設定が優先されます。
そのため、ルーターのファイアウォールの設定を確認して、ポートの通信を許可するか、機能を無効化して下さい。
- ポートフィルタリング、もしくはパケットフィルタ設定の場合
- 通信をブロックするルールを削除するか、ポートの通信許可ルールを追加してください。もしくは、機能の無効化を試してください。
- ルーター独自のファイアウォール設定がある場合
- セキュリティレベルを一番低いレベルまで下げてみてください。
設定はルーターの管理画面から行うため、使用しているルータによって手順が異なります。
使用しているルーターのマニュアルを参考にして許可設定・無効設定を行ってみてください。
対処9: 二重ルーターを解消する
ネットワーク内にRTモードのルーターが複数動作していると、ポートフォワーディングがうまく機能しないケースがあります。
そのため、RTモードで動作させる必要のないWi-Fiルーター等がある場合は、AP(アクセスポイント)やブリッジモードに切り替えてください。
RTモードのルーターが2つ以上必要な場合
2つ以上のルーターを配置したい場合、ポートフォワーディングを設定したルーター以外のルーターでも設定が必要です。
最も簡単な方法は、ゲートウェイルーター以外のルーターの設定で「DMZ」機能を有効にして下さい。
DMZ機能を有効にすることで、全てのポート転送を指定したIPに転送することができます。DMZのIPアドレスの設定は、ゲートウェイルーターのIPアドレスを指定して下さい。
対処10: ルーターを初期化して再設定する
ここまでの対処方法でポート開放ができない場合は、ルーターの設定に誤りがあるか原因不明のソフトウェアトラブルが発生していることが考えられます。
そのため、一旦ルーターを初期化してから、ポートフォワーディングの再設定を行って下さい。
ルーターの初期化は、爪楊枝などでResetボタンを長押しすることでリセットできる機種が多いです。初期化方法が分からない場合は、ルーターのマニュアルを参考にして下さい。
なお、ルーターの初期化を行うと、インターネットの接続情報などもリセットされてしまいます。事前に設定情報があることを確認してから行って下さい。
解決しない場合は
ルーターを初期化してもポート開放ができない場合は、VPNネットワーク経由でサーバーにアクセスする方法を検討して下さい。
VPNネットワークを作成して参加者が接続することで、ポート開放をせずにサーバーにアクセスできるようになります。
VPNネットワークを作成できるサードパーティーソフトウェアは、次の2つが有名です。
- Hamachi by LogMeIn - VPN.net
- 5名まで無料で利用できます。
- SoftEther VPN Server - SoftEther VPN プロジェクト
- 筑波大学のプロジェクトで開発されている無料で使用できるVPNソフトウェアです。
少人数での利用は設定が簡単なHamachiを、大人数での利用はSoftEther VPNの利用をおすすめします。詳しい設定方法は、公式のマニュアルページ等を参考にしてください。