ポート開放について
知人からこんな相談を受けた。
Switchでマインクラフトをしている娘に「友達と遊びたいからポート開放していい?」と聞かれたが何の事かさっぱり分からない。
ポート開放について教えてほしい、と。
これを説明するにはまずネットワークのおさらいから始めよう。
通常、自宅とインターネットの境目にはルーターが置かれている。
ルーターは内から外へのアクセスは特に制限しない。
パソコンでYahoo!のページを見たり、スマホアプリでYouTubeを視聴したり、ゲーム機でオンライン対戦をするのも自由だ。
一方、外から内に対するアクセスは基本遮断している。
オートロックのマンションみたいなものだ。
出るのは簡単だけど、部外者の侵入は禁止している。
さて、普段からオンラインゲームをしている人は「ポート開放なんてしなくても普通に対戦できているよ」と思うはずだ。
それはメーカーが提供するゲームサーバーで遊ぶ場合の話。
例えばA君がとあるゲームにログインして、
B君も同じゲームにログインした場合、
2人は同じ世界で遊ぶことができる。
ところがマインクラフトを始めとする一部のゲームでは、自分のゲーム機内に作成したワールドに招待できるのだ。
この場合、自分がゲームサーバーになる。
普段二人は公園で遊んでいるけど、今日は自宅マンション(オートロック付き)に招待して遊ぶようなものだ。
ここで思い出して欲しいのは冒頭に説明した「ルーターは外部からのアクセスを基本遮断する」というルール。
A君がSwitchでマインクラフトを起動して待っていても、B君からの接続要求はA君の家のルーターによって阻まれてしまう。
これを解決する手段が「ポート開放」だ。
ポート開放とはつまり「合言葉(ポート番号)を言った者は通せ。ただしうろうろさせず指定の端末にだけ案内しろ」という設定。
こうしてB君の「ポート25565」宛のリクエストは許可され、A君のSwitchと無事連絡が付くようになりましたとさ。
めでたしめでたし。
大雑把に言うとこれが「ポート開放」だ。
ポート開放方法とリスク
具体的なポート開放方法は、環境によって異なるので一概には言えない。
例えばNTT西日本の光回線(戸建て/IPv4)ならこんな感じ。
DHCP範囲外の値を固定IPアドレスとして使用し、ホームゲートウェイにログインしてポート開放設定を追加してやれば良い。
もう1つ気になるのがセキュリティ。
Switch用にマインクラフトのポート(25565)を開放することが深刻なリスクになるかと言えば、私はそうは思わない。
動的なグローバルIPを標的にし、検出結果がマインクラフトのポートなのにわざわざ攻撃してくる人は極めて稀だろう。
Switchが起動していて、マインクラフトが実行中で、プログラムに未修正の脆弱性があったとしても得られる情報は少ないはずだ。
それでも心配ならマインクラフトでマルチをする日以外はポートを閉じておけばまず安全だろう。
ただこれはあくまでSwitch版マインクラフトのポート開放の話であって、その他機器のポート開放まで安全だという保証はない。
まとめると「ポート開放」とはルーターの例外設定で、本来遮断すべき外からのアクセスを条件付きで許可する機能だ。
ちなみにLINEやZoom等は、サーバーを介さずに通信する技術「P2P(ピアツーピア)」を使っているのでポート開放は不要。
なら全部P2Pでいいじゃんという話だが、サーバーという親が居ないとそれぞれの機器が独自にやり取りしなくてはならない。
サーバーと同期する方式に対し、P2Pでは参加者が増えればその分通信量も増えるしラグ環境で誰を正解とするかは悩ましい。
武器やアイテム情報もサーバーにあれば厳格に管理できるが、P2Pで各自管理となると改ざんする輩も出てくるだろう。
反面、サーバーを省ければコストがかからず月額無料で遊ばせるといった運用も可能だし、ポート開放をする必要もない。
何事もメリット・デメリットはある。
それはさておき、今回のメインテーマ「ポート開放」について何となくでも伝わったのなら幸いだ。