🤖

同一LAN内からWSL2上のアプリケーションに接続する方法

2024/07/08に公開

概要

WSL2上に構築したアプリケーションにスマホ等から接続するときに必要な設定を記します。

前提条件

  • 同一LAN内に接続元端末(スマホ等)と接続先端末(WSLが動作するWindows端末)があること

環境

ホストOS:Windows11
WSL2:Ubuntu22.04.3

手順

IPアドレス確認

  1. WSL2(Ubuntu)のIPアドレス確認
bash
ip addr show eth0
  1. ホストOSのIPアドレス確認
powershell
ipconfig

ポートフォワーディング設定

powershell
# 設定
netsh.exe interface portproxy add v4tov4 listenaddress=${HOST_IP} listenport=${HOST_PORT} connectaddress=${WSL_IP} connectport=${WSL_PORT}

# 確認
netsh.exe interface portproxy show v4tov4

# 削除
netsh.exe interface portproxy delete v4tov4 listenaddress=${HOST_IP} listenport=${HOST_PORT} connectaddress=${WSL_IP} connectport=${WSL_PORT}

ファイアウォールの設定

ホストOS上でファイアウォールの設定をします。

  1. Win + S > セキュリティが強化された Windows Defender ファイアウォール
  2. 受信の規則 > 新しい規則 の順にクリック
  3. ポート を選択し次へ
  4. TCP を選択し次へ
  5. 特定のローカルポート を選択し、許可するポートを入力し次へ
  6. 接続を許可する を選択し次へ
  7. パブリック を選択し次へ ※皆さんの環境に合わせてください
  8. 名前 に分かりやすい名前を入力し、完了

接続確認

接続元端末からhttp://${HOST_IP}:${HOST_PORT}へ接続できることを確認します。

Discussion