Windows11でwslのdockerに構築したMinecraft Bedrock ServerをLANに公開し、他のwindows端末のクライアントから接続できるようにする方法です。本記事は主にUDPのポートを公開する方法を説明します。
本記事は統合版マインクラフトで動作確認を行っています。
Windows 11 Home
Minecraft for Windows 1.21.131
本記事ではWSL2を使用しています。記事内の表記は、実行コマンドに合わせてwslと記述しています。
WSL2のネットワークモード「Mirrored」を使用するため、Windows 11 22H2以降である必要があります。
統合版マイクラサーバーのコンテナ起動
前回の記事では、dockerでscreenを使う方法で統合版マイクラサーバーを構築しました。
wslのIPアドレスを指定し、同じPCのwindows側で起動している統合版マイクラクライアントから接続できることを確認しました。
こちらのコンテナを利用し、ネットワーク設定を変更して他のwindowsからマイクラサーバーに接続できるようにします。
wslのネットワーク問題
wslのネットワークモードはデフォルトでNATになっています。wslのUbuntuから設定を確認できます。
wslinfo --networking-mode
NATではホスト側windowsとは別のIPアドレスを持っています。windowsのターミナルより、次のコマンドでwslのIPアドレスを確認できます。
wsl hostname -I
windows本体とは別のネットワークになっているため、windowsのポートとは通信が繋がっておらず、外の端末から接続できません。
そこでポートフォワードする方法が考えられます。Java版マイクラサーバーの場合はTCPのため、以下の設定でポートフォワードできます。
# 25565をポートフォワード
netsh interface portproxy add v4tov4 listenport=25565 listenaddress=0.0.0.0 connectport=25565 connectaddress=$((wsl hostname -I).Split()[0])
# 現在の設定を確認
netsh interface portproxy show all
# 25565を削除
netsh interface portproxy delete v4tov4 listenport=25565 listenaddress=0.0.0.0
しかし、統合版マイクラが利用する通信プロトコルUDPはnetsh interface portproxyに対応していません。なので、ネットワークモードをMirroredに変更し、windows側とwslでポートを共有するように設定します。
wslのネットワークモードをMirroredに変更する
wslのネットワークモードをMirroredに変更し、windowsとポートを共有するように設定します。
windows側の検索でwslと入力しWSL Settingsを開きます。
ネットワークより、ネットワークモードをMirroredに変更します。ホストアドレスのループバックもオンにします。

設定を変更すると%UserProfile%に.wslconfigファイルが生成されます。
[wsl2]
networkingMode=Mirrored
[experimental]
hostAddressLoopback=true
wslを再起動します。windows側ターミナルより次のコマンドを実行します。
wsl --shutdown
wslのUbuntuを起動して設定を確認します。
wslinfo --networking-mode
mirrored
mirroredに変更されました。
IPアドレスの設定を確認します。windows側ターミナルでipアドレスを確認します。
ipconfig
# 抜粋
Windows IP 構成
イーサネット アダプター vEthernet (WSL (Hyper-V firewall)):
IPv4 アドレス . . . . . . . . . . . .: 172.22.112.1
サブネット マスク . . . . . . . . . .: 255.255.240.0
イーサネット アダプター イーサネット:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.15
サブネット マスク . . . . . . . . . .: 255.255.255.0
wslのUbuntuでもIPアドレスを確認します。
ip addr show
# 抜粋
1: lo:
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 10.255.255.254/32 brd 10.255.255.254 scope global lo
valid_lft forever preferred_lft forever
2: eth0:
inet 192.168.1.15/24 brd 192.168.1.255 scope global noprefixroute eth0
どちらも192.168.1.15という同じIPアドレスになりました。このアドレスで他の端末からアクセスできるようになります。
Hyper-V ファイアウォール
Hyper-Vファイアウォールが有効になっているため、統合版マイクラの通信を許可するように設定を変更します。windows側のターミナルから操作します。
wslのGUIDを確認します。が、共通の固定IDが使われているので確認しなくていいです。
# GUID確認
Get-NetFirewallHyperVVMCreator
VMCreatorId : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}
FriendlyName : WSL
統合版マイクラサーバーが使用するポート19132,19133を許可します。
# ルール追加
New-NetFirewallHyperVRule -Name BedrockUbuntu -DisplayName "Minecraft Bedrock Ubuntu Server" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol UDP -LocalPorts 19132,19133
# ルールを確認
Get-NetFirewallHyperVRule -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'
削除するときは名前を指定します。
# ルール削除
Remove-NetFirewallHyperVRule -Name "BedrockUbuntu"
windows ファイアウォール
他の端末からの通信を許可するために、windows側のファイアウォールで統合版マイクラサーバーの通信を許可します。
windowsより「セキュリティが強化されたWindows Defender ファイアウォール」を開きます。

UDPを選択し、特定のローカルポートで19132,19133と入力します。

なお、セキュリティソフトによって通信制限されることがあります。ご利用のセキュリティソフトの設定を確認してください。
接続確認
別の端末の統合版マイクラから接続します。サーバーを追加より、ipconfigで確認したIPアドレスを指定して接続します。
ipconfig
# 抜粋
Windows IP 構成
イーサネット アダプター イーサネット:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.15
wslを実行しているwindowsと同じ端末の統合版マイクラクライアントを起動、接続しようとすると繋がりません。クライアントをUWPループバックから外すと繋がります。windows側ターミナルで次のコマンドを実行します。
CheckNetIsolation.exe LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
まとめ
wslのdockerに構築したMinecraft Bedrock ServerをLANに公開し、他のwindows端末のクライアントから接続できるようにする方法を説明しました。ネットワークの設定が非常に面倒です。
windowsなら、windows版のサーバーを利用するのがオススメです。








