このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新のリビジョン 両方とも次のリビジョン | ||
wsl2:interop [2020/12/25 09:54] y2sunlight [WLS2の仮想ネットワーク] |
wsl2:interop [2020/12/27 19:51] y2sunlight [localhost] |
||
---|---|---|---|
行 79: | 行 79: | ||
{{ : | {{ : | ||
- | * TODO1 | + | WSL2は、[[https:// |
- | * TODO2 | + | |
- | * TODO3 | + | |
- | * TODO4 | + | |
- | WSL2は、[[https:// | + | ホストマシンとゲストマシンの間にはHyper-Vの仮想ネットワークが構築されます。この仮想的ネットワークは、ホストマシンと仮想マシンが共に接続した状態を作ります。 |
- | > TODO:ここから | + | WSL2を起動すると、「vEthernet(WSL)」という仮想ネットワークに接続するホスト側のネットワークアダプター(NIC)が作られますが、仮想ネットワークを構成している仮想スイッチは、ホストOSのネットワーク機能で見ることはできません。 |
- | このスイッチは、いわゆるスイッチングハブのことだ。仮想スイッチには3つのタイプがある。物理的なネットワークアダプターを利用する「外部ネットワーク」、純粋な仮想ネットワークとなる「内部ネットワーク」「プライベートネットワーク」の3つである。 | + | 仮想ネットワークのIPアドレスはプライベートアドレスが割り当てられ、ホストOSの再起動によって変更されます。 |
+ | > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。'' | ||
- | > | + | === WSL2のリスニングポート === |
+ | WSL2では、仮想マシン側でリスニングされているポート番号と同じポート番号を、ホスト側で動作しているwslhost.exeがリスニングします。 | ||
- | 外部ネットワークは、物理的なネットワークカードを仮想化し、ホスト側を含めて、仮想ネットワークアダプターを介して、物理的なネットワークに接続する。これに対して、内部ネットワークとプライベートネットワークは、ホストWindowsが接続しているネットワークとは別の物理的な存在のない仮想的なネットワークとして作られる。内部とプライベートの違いは、ホストWindowsが参加しているかどうかの違いである。プライベートネットワークは仮想マシンだけが接続するネットワークだ。 | + | 例えば、仮想マシン側でポート80をリスニングしていると、ホスト側でも wslhost.exe がポート80をリスニングします。そして、 |
- | このうちWSL 2が使っているのは、「内部ネットワーク」だ。内部ネットワークには、ホストWindowsも参加する。 | ||
- | Hyper-Vの仮想スイッチの1つ「内部ネットワーク」では、仮想的なネットワークに仮想マシンとホストWindowsが共に接続した状態を作る。また、Windows NAT(WinNAT)機能を設定することで、仮想マシン側からホストWindowsのインターネット接続を利用することも可能だ。 | ||
- | |||
- | WSL 2を起動すると、[コントールパネル]-[ネットワークと共有センター]-[アダプター設定の変更]に、「vEthernet(WSL)」という「Hyper-V Virtual Ethernet Adapter」が表示されるようになる。これがWSL 2用の内部ネットワークに接続するホストWindows側のネットワークアダプターになる。 | ||
- | |||
- | WSL 2を起動するとWin32側(ホストWindows側)に「vEthernet(WSL)」という仮想ネットワークアダプターが表示されるようになる。 | ||
- | Hyper-Vの仮想ネットワークや仮想スイッチ自体は、ホストWindowsのネットワーク関連の機能では見ることができない。そもそもWindows 10には、Windows VistaやWindows 7にあったネットワーク(ネットワークフルマップ)を表示させる機能がなく、ネットワークに接続しているNIC(ネットワークアダプター)のみが見える状態だ。 | ||
- | |||
- | また、内部ネットワークに関しては、Windows NAT(WinNAT)を設定することで、仮想マシンからのインターネットアクセスが可能になる。 | ||
- | |||
- | なお、Hyper-Vの仮想ネットワークでは、デフォルトで「プライベートアドレス」が割り当てられる。プライベートアドレスとは、インターネット側には参加できないものの、社内LANのような組織内部のネットワークで自由に使用できる、特別なIPアドレスである。複数の仮想マシンが個別の仮想スイッチを使う可能性があるため、Windows 10のHyper-Vでは、IPv4アドレスとして「172.16.0.0~172.31.255.255」までのプライベートアドレスを使い、これを複数に分割して利用している。 | ||
- | |||
- | |||
- | > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。'' | ||
- | |||
- | \\ | ||
==== WLS2側からWindows側のネットワークにアクセスする ==== | ==== WLS2側からWindows側のネットワークにアクセスする ==== | ||
行 126: | 行 109: | ||
\\ | \\ | ||
- | ==== localhost ==== | ||
- | |||
- | > TODO: | ||
- | |||
- | \\ | ||
===== WindowsからのLinuxコマンドを実行する ===== | ===== WindowsからのLinuxコマンドを実行する ===== |