📖
自宅のMinecraftサーバーをポート開放せず外部公開する【haproxy/tailscale】
こんな人が対象
- マイクラサーバーを公開したいけどポート開放できない…
- 自宅のIPアドレスを秘匿したい…
です。
用意するもの
- 適当なVPS(1vCPU/1GBメモリでOK!!)
- tailscaleアカウント
- 自宅サーバー
完全無料とはいきませんが、VPSのサービスによっては500円程度で用意できる環境です。
今回はとりあえずでLinodeを使用しています。月5ドル、現在のレートで770円程度です。(ドル建て嫌だ)
Tailscaleの設定
設定と言っても自宅サーバーとVPSにインストールするだけです。
Linuxであれば以下のコマンドでインストールが可能です。
💻️ コマンド
curl -fsSL https://tailscale.com/install.sh | sh
インストールしたら
💻️ コマンド
sudo tailscale up
を実行するとログインURLが表示されるのでアクセスして、ログインします。
あとは自宅サーバーのTailscaleのIPを固定します。

これをしないと数カ月ごとに設定を変えなきゃいけない…はずです。(長期運用してないので不明)
【VPS側】HAProxyのインストール
Ubuntuであればaptでインストール可能です。
💻️ コマンド
sudo apt install haproxy
おわりッ!!
【VPS側】HAProxyの設定
💻️ コマンド
sudo nano /etc/haproxy/haproxy.cfg
で設定ファイルを開いて、下の内容を追記します。
/etc/haproxy/haproxy.conf
listen minecraft
bind *:25565
mode tcp
option tcplog
balance roundrobin
server mc01 <自宅サーバーのTailscaleのIP>:<ポート> send-proxy-v2 check
💻️ コマンド
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
を実行して特にエラーが出なければOK!!
【自宅サーバー側】Minecraftサーバーの設定を変更
私はPaperMCを使用しているので、Paperでの例です。
config/paper-global.ymlを開いて、proxiesセクションを見つけ、その中のproxy-protocolをfalseからtrueに変えます。
paper-global.yml
proxies:
proxy-protocol: true
これでOK。サーバーを再起動します。
【VPS側】HAProxyを再起動
💻️ コマンド
sudo systemctl restart haproxy.service
でHAProxyを再起動します。
接続できるか確認
VPSのIPアドレスで接続できるか確認してみましょう。

大丈夫ですね!!
接続できない場合は
ファイアウォールを確認
ファイアウォールを確認して25565/TCPの接続が許可されているか確認しましょう。
以上
終わりです。VPS側のセキュリティはやりましょうね。
Discussion