Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


wsl2:interop

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
wsl2:interop [2020/12/27 12:28]
y2sunlight [WLS2の仮想ネットワーク]
wsl2:interop [2020/12/27 20:17] (現在)
y2sunlight [WLS2の仮想ネットワーク]
行 78: 行 78:
  
 {{ :wsl2:interop:wsl2-network01.svg |}} {{ :wsl2:interop:wsl2-network01.svg |}}
- 
-  * TODO1 
-  * TODO2 
-  * TODO3 
-  * TODO4 
  
 WSL2は、[[https://ja.wikipedia.org/wiki/Hyper-V|Hyper-V]]が管理する仮想マシン環境で動作します。このとき物理ハードウェアの上で動いているOSをホストOS、仮想マシン内で動作しているOSをゲストOSと呼ぶ事にします。そして、ホストマシンには物理NICが、仮想マシンには仮想NICが提供されています。 WSL2は、[[https://ja.wikipedia.org/wiki/Hyper-V|Hyper-V]]が管理する仮想マシン環境で動作します。このとき物理ハードウェアの上で動いているOSをホストOS、仮想マシン内で動作しているOSをゲストOSと呼ぶ事にします。そして、ホストマシンには物理NICが、仮想マシンには仮想NICが提供されています。
行 90: 行 85:
 WSL2を起動すると、「vEthernet(WSL)」という仮想ネットワークに接続するホスト側のネットワークアダプター(NIC)が作られますが、仮想ネットワークを構成している仮想スイッチは、ホストOSのネットワーク機能で見ることはできません。 WSL2を起動すると、「vEthernet(WSL)」という仮想ネットワークに接続するホスト側のネットワークアダプター(NIC)が作られますが、仮想ネットワークを構成している仮想スイッチは、ホストOSのネットワーク機能で見ることはできません。
  
-なお、Hyper-Vの仮想ネットワーク、デフォルトで「プライベートアドレスが割り当てられる。プライベートアドレとは、インターネッは参加できないものの、社内LANのうな組織内部のネットワークで自由に使用できる、特別なIPアドレスである。複数の仮想マシンが個別の仮想スイッチを使う可能性があるため、Windows 10のHyper-Vでは、IPv4アドレスとし「172.16.0.0~172.31.255.255」でのプライベートアドレスを使い、これを複数に分割して利用している +仮想ネットワークのIPアドレスはプライベートアドレスが割り当てられ、ホストOSの再起動によ変更され
  
 > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。''参考'' https://github.com/microsoft/WSL/issues/4304 > 複数のWSL2ディストリビューションは同じネットワーク名前空間を使用し、ネットワークの分離はありません。''参考'' https://github.com/microsoft/WSL/issues/4304
  
-\\+=== WSL2のリスニングポート ===
  
-==== WLS2からWindows側のネックにアクセる ====+WSL2では、仮想マシンでリスニングされているポー番号と同じポト番号を、ホト側で動作していwslhost.exeがリスニングします。
  
-> TODO:+例えば、仮想マシン側でポート80をリスニングしていると、ホスト側でも wslhost.exe がポート80をリスニングします。そして、 wslhost.exe は、受け取ったパケットを仮想ホスト側の同じポート番号に転送します。つまり、ホスト側がlocalhostの(仮想ホスト側がリスニングしていると同じ)ポート番号にアクセスすると、仮想ホスト側のネットワークサービスからは、eth0からのアクセスのように見えます。 
 + 
 +=== localhost === 
 + 
 +IPv4では、ネットワークアドレス ''127.0.0.0'' が localhost の数値表現として扱われ、慣例的に末尾 1 の ''127.0.0.1'' を自分自身のIPアドレスの名前として使用されます。localhostという名前は、どんな名前解決システムも使うことなく 127.0.0.1 に解決で出来ます。IPv6では、''::1'' だけが localhost の数値表現として扱われ、IPv4のようにlocalhostはホスト名でありネットワークの表現ではありません。 
 + 
 +WSL2が稼働しているとき、仮想マシン上の特定のポート番号をリスニングしている、HTTPサーバなどのTCP/IPアプリケーションに対して、ホストマシン側からは、localhost を接続先として指定すれば( http://localhost:<ポート番号>/ )、そのアプリケーションにアクセスすることが出来ます。
  
 \\ \\
  
-==== Windows側からWLS2側のネットワークにアクセスする ====+ 
 + 
 +==== WLS2側からWindows側のネットワークにアクセスする ====
  
 > TODO: > TODO:
行 109: 行 111:
 \\ \\
  
-==== localhost ====+==== Windows側からWLS2側のネットワークにアクセスする ====
  
 > TODO: > TODO:
  
 \\ \\
 +
  
 ===== WindowsからのLinuxコマンドを実行する ===== ===== WindowsからのLinuxコマンドを実行する =====
wsl2/interop.1609039709.txt.gz · 最終更新: 2020/12/27 12:28 by y2sunlight