Java版マイクラサーバー25565/TCP
のポート開放のやり方が知りたくて訪問されたと思います。
早速ですがJava版マイクラサーバー25565/TCP
のポート開放はワンクリックで完了します。
ただ、それでも"ポート開放"を検索した理由は?
ポート開放でサーバーを外部に公開できると勘違いしてるからじゃないでしょうか?
驚くかも知れませんが"ポート開放"だけではサーバーを外部に公開できません。つまり、ポート開放しようが、残念ながら家の外にいる友達とは絶対に遊べません。
サーバーの外部公開には"ポート転送"が必要!
- 家の中でのみサーバーにアクセスするなら:ポート開放のみ
- 家の外の友達がサーバーにアクセスするなら:ポート開放+ポート転送
誰がポート開放でサーバーを外部に公開できると言い始めたのか?
家の外の友達と自宅サーバーで遊ぶには「サーバーを外部に公開=ポート開放+"ポート転送"」が必要です。
今まで腐るほど「家の外の友達と遊べない」という人を見てきました。その全員が"ポート開放"だけでサーバーに接続できると勘違いしている人でした。
本記事で対象とするマイクラ環境
マイクラの環境
- Windows ※x86・arm64のどちらでもオッケー
- Java Editionのマイクラ
- Java版で動くサーバー
- Spigot
- Paper
- MohistMC
- ルーター:Aterm WG2600HS
- ポート開放ツールを使わない
Windowsは10でも11でもなんでも構いません。
Javaならどんな環境でも動作するからです。
ルーターは「Aterm WG2600HS」を使います。
ルーターでやる設定は「ポート転送」ですが、ルーターの機種ごとで「ポート転送」の設定画面に違いがあるので、念の為に記載しています。
その他、疑問点を以下にまとめたので読むと理解が深まると思います。
- 本記事で対象とするWindowsは?
-
Windows 10・11などすべてのWindowsで動作します。
Javaを使うので、x64・arm64のどちらでも動作します。
- Javaのメリットは?
-
どんなOSでも動くサーバーを手軽に立てることが出来ます。
- なんでポート開放ツールを使わないのか?
-
ポート開放ツールを使わない方が分かりやすいからです。
ネットワークの理解にも役立ちます。
- ルーターの違いとは?
-
ルーターの設定画面の用語が違っていたりします(用語解説は下にあります。)。
例えば、ポート転送と同じ意味で、ポートマッピング、ポートフォワーディングという表記だったりします。
「ポート開放」と「ポート転送」は違う
ポート開放とポート転送の違いを明確にしておきましょう。
- ポート開放:その機器のファイアウォール上のポートを開くこと。
- ポート転送:WAN側に来たアクセス(パケット)をLAN側の機器に転送すること。
ポート転送を理解するためには、WAN(外部、グローバル)とLAN(内部、ローカル)という用語も押さえておきましょう。
- WAN:Wide Area Networkの略で、ルーターから外のネットワークのこと。
- LAN:Local Area Networkの略で、ルーターから内のネットワークのこと。
- ルーター:WANとLANの中継地点と理解しておきましょう。
余談ですが、仮に"ポート開放くん"などツールを使って、外部にサーバーを公開できたとしても、やっていることはポート開放+ポート転送です。
ちなみに、ツールを使うと勝手に設定されて逆に分かりづらくなるので、僕はツールを使いません。※ポート開放ツールの使い方記事を作成する予定ではありますが。
TCPポートを開放
「Windows Defender」は、Windowsデフォルトのセキュリティソフトです。
McAfeeなど他社のセキュリティソフトを入れていない人は、この「Windows Defender」の場合でのポート開放になります。
と言っても、ポート開放はクリック一つで完了します。
Javaサーバーをはじめて起動するとWindows Defenderの画面が表示されます(上の画像)。
この画面の「アクセスを許可する」を押すだけで、ローカルマシン(Windowsマシン)のポート開放は完了です。
ちなみにこの画面はJava(OpenJDK)のポートアクセス許可を承諾する画面です。
赤枠のパブリック(WAN)か、プライベート(LAN)のどちらの設定か?という話ですが、外部に公開するサーバーを立てるのでパプリック、プライベートの両方に✔︎をつけましょう。
※ちなみにパプリックにチェックをつけると、Windowsマシンのセキュリティは弱くなります。
McAfeeでのポート開放のやり方
McAfee(その他のセキュリティソフト)を使ってるなら、そのセキュリティソフトだけポート設定をすれば十分です。
なので、McAfee(その他のセキュリティソフト)を使っているなら、Windows Defenderの設定は不要です。
ポート設定がきちんと反映されているか、Windows Defenderの設定を確認しておきましょう。
TCPポートを確認
開放したTCPポートを確認します。
なぜなら「OpenJDKプログラムのポートを開放しました。それを確認してください。」と言われたら?
は?何のこと?となる人が大半だからです。
上で既に開いたJavaのプログラムポートのことです。自分でポート開放してるのに、それの確認方法を知らない人が大多数なので、きちんと確認しておきましょう。
ポート開放の設定を見るにはWindows Defenderを開きます。Windows Defenderを開くには検索欄に"defender"と入力すれば表示されます。
※McAfeeなど他のセキュリティソフトを使ってる場合は、その設定を確認してください。
「Windows Defender ファイアーウォール」をクリックしましょう。
赤枠「詳細設定」を開きます。
確認するのは「受信の規則」です。※「送信の規則」には「OpenJDK」の設定欄はないはずです。
「受信の規則」を開くと、小さいですが「OpenJDK」の欄がTCP・UDPで二行があります。
Java版マイクラサーバーで確認するのはTCP
の欄です。
理由は、Java版マイクラサーバーで受け付けるポート:25565
がTCP
だからです。
OpenJDKの受信規則で何を確認するか?
- TCP or UDP
- ポートは何を設定しているか?
- パブリック or プライベートネットワーク?
パブリック or プライベートネットワークってなに?と思うかも知れません。
外部(グローバル・パブリックとも言う)か、内部(ローカル・プライベートとも言う)か、の違いです。
さて、OpenJDK(TCP)の行を選んで、右の赤枠「プロパティ」を開きます。
OpenJDKプログラムのアクセス許可に関する設定画面です。
とりあえず、30秒眺めてください。「ふーん」となればオッケーです。
これも、とりあえず、30秒眺めてください。
さて、この画面は受信ポートのプロトコルがTCP
で、受付ポートはすべて
ということです。
つまり、OpenJDKを使うプログラムはポート:25565/TCP
に限らず、すべてのTCPポートを受け付ける
ということです。
例えば、思いつきでサーバーをポート:64553/TCP
で受け付けても、他のプログラムのポートと衝突しなければ即受付されるということです。
ネットワークのスコープも設定できます。
サーバーを外部に公開しないならプライベートネットワークのみの設定にすると良いでしょう。
どうでしょう?自分でポート開放の設定を見たら腑に落ちませんか?
自動でポート開放された設定値をそのままにせず、次回に活かすために確認しておくと良いでしょう。
ローカルマシン(Windowsマシン)のネットワーク設定は「パブリック」
この設定も念の為に確認しておいて下さい。
ローカルマシン(Windowsマシン)そのものは「パブリック」に設定されていると思います。
ちなみに、パブリックの方がセキュリティ的には厳しい設定になります。
ネットワーク設定の違い
- パブリック:外部のネットワークに繋ぐため、リモート接続などのポート閉じる。
- プライベート:内部のネットワークで使用するため、リモート接続などのポートを開く。
頭が混乱するかも知れませんが、こちらはPC本体の設定です。
上のOpenJDKをパブリック設定にすると、セキュリティが甘くなる話とは違います。
ネットワーク設定の画面を開くなら
デスクトップ右下のアンテナを右クリックすれば開くことができます。
⑥ 外部に公開!ルーター「Aterm WG2600HS」でTCPポート転送の設定例
サーバーを外部に公開するのはここからが本番です。
サーバーを外部に公開するためには、ルーター側にポート転送設定を行います。
場合によってはパケットフィルタ設定(ルーター上のポート開放)も必要になるかも知れません(今回は不要です。)。
※「ルーター」「ポート転送」など「用語解説」は下にあります。
先ずはルーターの設定画面を開こう
ルーターのURLは、ローカルIPアドレスの最下段を"1"にしたアドレスです。
ローカルIPアドレスが192.168.10.101
なら、ルーターのURLは192.168.10.1
です。
僕の環境では、ルーターの設定画面を開くには、URL欄にhttps://192.168.10.1
でアクセスしました。
また、ログインに必要な「ユーザー名」などは注意書きされてます。
「ユーザー名」には「admin」と半角小文字で入力し、「パスワード」には、本商品本体のラベルに記載された数字6桁のパスワード(Web PW)を入力して、[ログイン]をクリックしてください。
機器によっては取扱説明書などにユーザー名などの初期設定値が記載されていたりもします。
他の機器も多少違いはあれど、ほとんど同じです。
ポートマッピングの設定画面を開く
ルーターにログインしたら、上記画面が表示されます。
中段右側に「ポートマッピング設定」という項目があるので、それをクリックします。
ちなみに、ルーターAterm WG2600HSではポート転送を"ポートマッピング"と呼んでいます。
BUFFALOなどのルーター機器だと"ポートフォワーディング"と表示されてるかも知れません。ポート転送=ポートマッピング=ポートフォワーディング、すべて同じ意味です。
※「ルーター」「ポート転送」など「用語解説」は下にあります。
ポートマッピングの設定をする
画像はAterm WG2600HSのポート転送設定の画面です。
上段から
- 利用可能ポート:変換対象ポートで利用可能なポート
- NATエントリ追加:ここにポート転送設定を入力します。
以下でマイクラサーバーを外部に公開するためのポート転送の設定例を解説していきます。
Java版マイクラサーバーを外部に公開:ポート転送の設定例
今回の例ではJava版マイクラサーバーを想定して下記のネットワーク環境で解説します。自分の環境に読み替えて設定して下さい。
ネットワーク環境
- WAN側(外部):
グローバルIPアドレス:ポート(36128/TCP)
- LAN内サーバー(内部):
192.168.10.103:25565/TCP
ポートは内部と外部ともに25565/TCP
で統一した方が分かりやすいですが、ルーターで設定できる「利用可能ポート」の範囲外なのでWAN側ポートは36128/TCP
としました。
ちなみに、WAN側ポートとLAN側ポートを違う番号にしてアクセスさせた方が、セキュリティ的にははるかに強くなります。
WAN側ポートを規定値から変えるのは、セキュリティを上げる重要なテクニックです。
理由は、Java版マイクラ鯖は25565/TCP
と誰もが知っているからです。
これはグローバルIPアドレスを知られるとグローバルIPアドレス:25565
で好き放題にアクセスされる状態で危険なんです。
中継地点となるルーターは、WAN側ポート36128
のアクセスをLAN内サーバー192.168.10.103:25565
に道案内する役割です。これをポート転送と言います。
サーバー接続の流れ
- 外部からは
グローバルIPアドレス:ポート(36128/TCP)
でサーバーにアクセスする。 - 中継地点のルーターは
ポート:36128
を192.168.10.103:25565/TCP
にポート転送する。 - その結果、マイクラサーバー
192.168.10.103:25565/TCP
が接続に応答する。
さて、上記の内容で、ルーターに実際に設定してみましょう。
WAN側ポート36128/TCP
を
LAN側ポート192.168.10.103:25565/TCP
に転送する。
WAN側ポート36128/TCP
をLAN側ポート192.168.10.103:25565/TCP
にポート転送する設定をします。
ポート転送
- LAN側ホスト:マイクラサーバー
192.168.10.103
- プロトコル:
TCP
- 変換対象ポート番号:WAN側ポート(今回は
36128/TCP
) - 宛先ポート番号:LAN側ポート(今回は
25565/TCP
)
どうでしょう、簡単じゃないですか?
これでマイクラサーバーが外部に公開されます。
ただ、必ず外部から接続テストをしてください(確認する癖をつけましょう。)。
機器にもよりますが、変換対象ポート(WAN側ポート)は「利用可能ポート」の範囲内で設定しましょう。
「利用可能ポート」の制限が無いなら、WAN側ポートにどんなポート番号を設定しても構いません。
ネットワークIT用語解説
ネットワークで使うIT用語を解説していきます。
「ポート」や「ポート開放」「ファイヤーウォール」などの用語をセットで覚えましょう。
IPアドレス
IPアドレスには2種類あります。
グローバルIPアドレス、ローカルIPアドレス
ローカルIPアドレスの呼び方
- ローカルIPアドレス
- プライベートIPアドレス
ポート
ポートのイメージはサービスを受け付ける個々の料金所です。
インターネット上では、パケット車がたくさん走っています。すべてのパケット車が料金所を通れるわけではなく、開放されているポート(料金所)のみ通過できます。
WAN側ポート、LAN側ポートと使用するデバイスごとにポートを設定する必要があります。
ポートはプログラム(Webサービス)ごとに使用しています。
デフォルトで開放されているポートを「Well Known Port(ウェルノウンポート)」と言います。例えば、http通信は80番ポートを使っています。
実は知らない内に自らポートを開閉させています。
プログラムのインストール時に「プログラムを許可しますか?」に承諾することで、みんな自分のコンピューターのポートを開放しています。
Well Known Port 以外のポートはデフォルトで閉じられているからです。
ポート転送
ポート転送は、WAN側に来たアクセス(パケット)をLAN側の機器に転送する設定です。
ちなみに、今回のNEC製ルーターでは、ポート転送とは呼び方が違う「ポートマッピング設定」という表記です。
ポート転送の呼び方
- ポート転送
- ポートマッピング
- ポートフォワーディング
- ポートフォワード
上のようにルーター機器によって、同じ意味でも表記が様々です。
ルーター
ルーターは高速道路と一般道の中継地点のイメージです。
高速道と一般道の流れが変わる中継地点に各料金所(ポート)があって、車両を一台一台丁寧に検閲していきます。
ちょうどWAN(グローバル)が高速道で、LAN(ローカル)が一般道みたいなイメージです。
WANからLANに入るには、必ず中継地点(ルーター)の案内が必要になるわけです。
高速道のまま突っ走っても、どこに行けば良いのか分からないので中継地点(ルーター)で目的地を教えてもらったりします。それがポート転送(目的地の案内)です。
ファイヤーウォール
「ファイヤーウォール」は、コンピュータネットワークにおいて、コンピュータセキュリティの保護、その他の目的のため、通信を制御・阻止(パケットフィルタリング)する機能を言います。
「ファイヤーウォール」は、パソコン、スマホ、ルーターなどすべてのデバイスに搭載されている機能と理解しておいてください。
高速道路の料金所で「許可された車だけを通す仕組み(機能)」です。
Java版Minecraft にセキュリティ上の脆弱性【Log4Shell】
参考:https://www.minecraft.net/ja-jp/article/important-message--security-vulnerability-java-edition-jp
コメント