2025年3月18日

Win11/WSL2への外部からのアクセス(ポートフォワーディング)について



宮島五重塔を望む
宮島五重塔を望む      



WSL2「Windows Subsystem for Linux 2」をインストールし,Linuxディストリビューションを立ち上げると,次は「外部ネットワークからどうやってアクセスするか」という課題に直面します。

それは,WSL2がHyper-Vと呼ばれる仮想環境上でLinuxカーネルを動作させるため,Windowsが使うIPアドレスとは全く別のIPアドレスが付与されるからです。

そのため,パソコン外部からWindows経由でアクセスがあった場合,どのようにWSL2に伝えるかが課題になります。

具体的には「netsh」コマンドを使って,WindowsのIPアドレスポートで入って来た通信を,WSL2のIPアドレスポートでリッスン「listen」させることになります。

※「netsh」コマンドは、ネットワーク全般の制御用コマンドです。

そこで,今回はSSHリモート通信を例に,WSL2のIPアドレスにアクセスするためのオーソドックスな「ポートフォワーディング」方法を学習します。

※ポートフォワーディングとは特定ポート番号宛てに届いたパケットを、予め設定したLAN側の機器に転送する機能です。

なお,WSL2のIPアドレスは,Windowsが再起動される度に原則変わりますので,その都度,「netsh」コマンドを使ってネットワークを再設定させなければなりません。

それでは,「netsh」コマンドを使ったネットワーク設定について見ていきましょう。

実証前提条件
・パソコン : Windows11 pro 24H2 (IPアドレス:IPv4固定値とする)
・Linux ディストリビューション : Ubuntu-24.04 LTS 起動中
・WSL2  バーション   :   2.4.10.0 
・テキストエディター :  Vim等でファイル内容を修正できる方


学習を始めます。