WSL mirroredネットワークモード設定ガイド
WSL2.6.0ネットワークモードアップグレード設定ガイド
Categories:
バージョン要件
現在のバージョンステータス:
- 最新安定版:2.5.9(ネットワーク設定欠陥あり)
- 推奨バージョン:2.6.0 プレビュー版(完全mirroredモードサポート)
モード比較分析
| 特徴 | bridgeモード(廃止予定) | mirroredモード(推奨) |
|---|---|---|
| プロトコルスタックアーキテクチャ | デュアルプロトコルスタック | シェアプロトコルスタック |
| IPアドレス割り当て | 独立IP(Windows+WSL) | ホストIP共有 |
| ポートリソース | 独立使用 | ポート共有(競合回避必要) |
| ネットワーク性能 | 比較的重い | 軽量効率的 |
| 設定複雑度 | 簡単 | ファイアウォールポリシーの深い設定必要 |
標準設定手順
1. ネットワークモード設定
WSL Settings アプリで基礎モードを設定:
- 設定アプリを開く
- “Network"タブを選択
- ネットワークモードを"Mirrored"に設定
- 設定を適用しWSLを再起動

2. ファイアウォールポリシー設定
PowerShellで完全ポリシー設定を実行:
# WSL仮想マシンGUID定義
$wslGuid = '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'
# ファイアウォールポリシー設定(順序通り実行)
Set-NetFirewallHyperVVMSetting -Name $wslGuid -Enabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultInboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -DefaultOutboundAction Allow
Set-NetFirewallHyperVVMSetting -Name $wslGuid -LoopbackEnabled True
Set-NetFirewallHyperVVMSetting -Name $wslGuid -AllowHostPolicyMerge True
# 設定結果検証
Get-NetFirewallHyperVVMSetting -Name $wslGuid
3. ポートマッピング検証
# 例:80番ポート使用状況を確認
Get-NetTCPConnection -LocalPort 80
よくある問題対処
問題1:外部接続が確立できない
- 確認手順:
Get-NetFirewallHyperVVMSetting出力で全てのフィールドがTrue/Allowであること - 解決策:ファイアウォールポリシー設定を順序通り再実行
問題2:ポート競合
- 検証方法:
netstat -anoでポート使用状況を確認 - 対処提案:Windows側ポートを優先的に解放、またはWSLサービスのリスンポートを変更
検証方法
- WSLサービス(Nginx/Apache等)を起動
- Windowsホストから
http://localhost:<port>にアクセス - ローカルネットワークデバイスから
http://<host-ip>:<port>にアクセス