このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
wsl2:interop [2020/12/27 17:57] y2sunlight [仮想マシンのリスニングポート] |
wsl2:interop [2020/12/27 20:17] (現在) y2sunlight [WLS2の仮想ネットワーク] |
||
|---|---|---|---|
| 行 89: | 行 89: | ||
| > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。'' | > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。'' | ||
| - | \\ | + | === WSL2のリスニングポート === |
| + | WSL2では、仮想マシン側でリスニングされているポート番号と同じポート番号を、ホスト側で動作しているwslhost.exeがリスニングします。 | ||
| - | ==== WSL2側のリスニングポート | + | 例えば、仮想マシン側でポート80をリスニングしていると、ホスト側でも wslhost.exe がポート80をリスニングします。そして、 wslhost.exe は、受け取ったパケットを仮想ホスト側の同じポート番号に転送します。つまり、ホスト側がlocalhostの(仮想ホスト側がリスニングしていると同じ)ポート番号にアクセスすると、仮想ホスト側のネットワークサービスからは、eth0からのアクセスのように見えます。 |
| - | WSL2では、仮想マシン側でリスニングされているポート番号と同じポート番号を、ホスト側で動作しているwslhost.exeがリスニングします。 | + | === localhost === |
| - | TODO: | + | IPv4では、ネットワークアドレス '' |
| + | |||
| + | WSL2が稼働しているとき、仮想マシン上の特定のポート番号をリスニングしている、HTTPサーバなどのTCP/ | ||
| - | WSL2側でPort Xで待ち受けを行うと、win32側でもwslhost.exeがPort XをListen Portに指定して待ち受けする。つまり、localhostのPortXに対する接続はすべてwslhost.exeが受けることになる。wslhost.exeは、受け取ったパケットをなんらかの方法でWSL2側に転送する。WSL2の挙動をみるに、仮想ネットワーク経由での転送ではなく、WSL2側のネットワークサービスからは、localhostからのアクセスのように見える。 | ||
| \\ | \\ | ||
| + | |||
| 行 114: | 行 117: | ||
| \\ | \\ | ||
| - | ==== localhost ==== | ||
| - | |||
| - | > TODO: | ||
| - | |||
| - | \\ | ||
| ===== WindowsからのLinuxコマンドを実行する ===== | ===== WindowsからのLinuxコマンドを実行する ===== | ||