0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ポート開放せずにMinecraftサーバーを公開する

Last updated at Posted at 2025-01-18

はじめに

Secure Share Netngrokなどを使えば、ポート開放なしでMinecraftサーバーを公開できます。
しかし、これらのサービスには帯域の制限やサーバーアドレスが変更されたりといった不便な点があります。
そこで、自分自身でこれを解決する方法を考えることにしました。

環境:
メインサーバー: Windows 11
VPSサーバー: Ubuntu 20.04

参考: https://qiita.com/warai_bukur0/items/1aa97a0f1ea0a028e5e4

注意事項

プレイヤーはVPSを経由するため、ユーザーのIPアドレスがVPSのIPアドレスに置き換わってしまいます。
そのため、IPアドレスを使ったユーザー管理ができなくなったり、セキュリティ面でのリスクが高まります。
したがって、中規模、大規模なサーバーを運営する場合は、VPS上にプロキシサーバーを設置する方が安全です。(いつか記事にします)

導入

1.VPSを借りる

ConoHaを使用します。(安いのでおすすめです)

アカウントを作成したら、VPSを追加しましょう。
今回はUbuntu 20.04を使用します。
サーバー追加 > VPS > Ubuntu > 20.04 (x86_64)
追加方法

VPSのメモリについて
 基本的には512MBで問題なく動作しますが、VPSにプロキシサーバーを設置する場合は1GB以上のメモリが必要になります。
 使用するプロキシサーバーの推奨メモリ量を確認しておくと安心です。

2.ポートの設定を行う

セキュリティ > セキュリティグループ > 追加 セキュリティグループ
セキュリティグループ

セキュリティグループ名は分かりやすい名前にしときましょう。
追加 セキュリティグループ > 保存
セキュリティグループ名

作成したセキュリティグループ名をクリックして既存の設定を削除してください。
セキュリティグループ名 > 削除ボタン > 決定
セキュリティグループ削除

開放するポートを追加しましょう。
追加 > 入力 > 決定
ポート追加
私は25565を公開するので以下のように設定します(多分Outの設定は不要です)
ポート追加

VPSに設定を反映します。
借りたVPSを選択してください。
ネットワーク情報 > 編集 > 追加
ポート追加
追加されたセキュリティグループをクリックして作成したセキュリティグループに変更して保存してください。
IPv4v6-SSHも追加してください。
※追加しなくても問題はありませんが、SSH接続に必要です。ConohaのWebコンソールは使いにくいので私は追加しました。
ポート追加

3.ZeroTierでVPNを構築する

ZeroTierは、インターネット越しに仮想のプライベートネットワーク(VPN)を構築できるソフトウェアです。これを使うと、インターネットを介しても、まるで同じローカルネットワーク内にいるかのように、デバイス同士を接続できます。

ConohaのWebコンソールかSSHでVPSに接続してください。
1.サーバーをアップデートします。

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove

2.アカウントを作成してCreate A Networkをクリックしてネットワークを作成してください。
3.ZeroTierをサーバーにインストールします。

curl -s https://install.zerotier.com | sudo bash

4.Network IDに参加します。
"Network ID"は作成したネットワークに置き換えてください。

sudo zerotier-cli join "Network ID"

5.RefreshしてEditをクリックします。
Refresh
6.Authorizedにチェックを入れてNameをわかりやすい名前(VPSとか)に設定してSaveをクリックします。
Authorized

Minecraftサーバーを作成したメインサーバー(Windows)にもZeroTierをインストールします。
1.www.zerotier.com/download からインストーラーをダウンロードしてサーバーにインストールします
2.タスクバーにあるZeroTierを右クリックしてJoin New Network...をクリックします。
join
3.作成したネットワークに参加します。
join
4.RefreshしてEditをクリックします。
Refresh
5.Authorizedにチェックを入れてNameをわかりやすい名前(MAINとか)に設定してSaveをクリックします。
Authorized

4.ファイアウォールの設定をする

ConohaのWebコンソールかSSHでVPSに接続してください。

firewalldのインストールと起動をします。

sudo apt install firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

外部からのポート25565の通信を許可し、指定したIPに転送します。
***.***.***.***はZeroTierに表示されているVPSのManaged IPに変更してください。

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-port=25565/tcp --permanent
firewall-cmd --permanent --add-forward-port="port=25565:proto=tcp:toport=25565:toaddr=***.***.***.***"

設定を再読み込みします。

firewall-cmd --reload

Windows側もファイアウォールの設定をします。

1.Win + Rを押して出てきたウィンドウにfirewall.cplと入力し、OKをクリックします。
firewall
2.詳細設定をクリックします。
firewall
3.受信の規則 > 新しい規則...をクリックします。
firewall
4.ポート > TCP > 特定のローカル ポート > 25565 > 接続を許可する > プライベート、パブリックにチェック > 分かりやすい名前 > 完了
firewall
firewall
firewall
firewall
firewall
5.作成したファイアウォールを右クリックしてプロパティをクリックします。
firewall
6.詳細設定 > 許可するに変更します。
firewall

動作確認

Minecraftサーバーを起動してVPSのIPアドレスをMinecraftに追加して動作するか確認します。
動作しない場合はWindowsとVPSを再起動してください。
sudo reboot

それでも動作しないのであれば私のDiscordに参加してください。
Discord : .r_506
Discord Server : https://discord.gg/v7k2mQEu5j

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?