LoginSignup
6
4

Windows内のネットワークを整理:①WSL2編

Last updated at Posted at 2023-11-30

年末まで@1か月!来年気持ちよく迎えられるようにお掃除はじめちゃいましょう!

今年もやっとしつつ放置していた Windows内のネットワークがどうなっているのか? を整理しようと思います。

なぜWindows内部のネットワークを知る必要があるか?

昨今ではDockerやWSL2( WSL1 はもう古いので無視!)など、仮想的に存在するものがあり、通信が出来ない時に原因が見えにくい。Google先生やGPT先生に聞いても、通信できない要因は1つではないため、原因を究明出来る力をつけるべきなのである。

こうする事で あれ?Docker起動したから?WSLから外部へ通信できぬ! とかそんな謎めいた状況に陥っても自己解決が可能なのだ!

では、私のWindowsの設定環境を例にしながら今日はWSL(Ubuntu)から外部に通信する経路を追ってみようと思います。

私のWindowsはこうなってます

まず結論からいうと、こんな構成になっています。

wsl-WSL内部NW.drawio (1).png

こういうの見て拒否反応起こす人もいるかもしれませんが、大丈夫。コワくない!
私もサーバサイドエンジニア。インフラとかちょっとしか知らないしね!

それに、この図をみたら、Ubuntu~物理NIC[ WiFi ]までの経路が見えるんじゃないでしょうか。

では実際にIPアドレスや設定を確認する方法を紹介していきましょう。

まずは、Hyper-Vから確認しましょう

Hyper-VのWSLの仮想スイッチを確認しよう

image.png

Hyper-Vの上記のところから、仮想スイッチの設定が可能です。

image.png

WSLの仮想スイッチが上記の画像のようになっている事が確認できます。

ここでは内部ネットワークとなっています。だから最初に説明したような繋がりになるんですね!

では 外部ネットワークならどうなるか? わかりますか?

答えは、**仮想スイッチから物理NIC [WiFi]**に線が引かれます。(バインドと呼びます)
※正しくは外部ネットワークの下にあるプルダウンで選んだNICに線が引かれる。
「管理オペレーティングシステムにこのネットワークアダプターの共有を許可する」 のチェックを外すと、仮想スイッチと仮想NIC [vEthernet(WSL)]の線が切れます。

では線の繋がりがわかった所で、次はWindows OS側の設定を確認しましょう!

WindowsOS側のネットワークを確認

image.png

ipconfigコマンドで確認が可能です。構成図にあったIPアドレスの情報が出てきましたね!

ちなみにサブネットマスクの範囲が172.18.96.1/20となっているのがわかりますが、これは172.18.96.0/20と同じですね。構成図と違って見えますがそういうもんです。

最後にWSL2のネットワークを見てみましょう!

WSL2(Ubuntu)のネットワークを確認

image.png

右下にアーニャちゃんがこんにちわ!背景画像が設定できるUbuntuは素敵ですね!
画像の通り、

  • IPアドレスは172.18.110.165ですね!
  • eth0のサブネットマスクは172.18.110.165/20 なので172.18.96.0/20と同じですね!

また、通信経路を確認した結果
google.comへの通信経路は172.18.96.1(WindowsOS側の仮想NIC)を経由して172.19.16.1(物理NIC[WiFi])と流れている事がわかりました。

線引くとこんな経路ですね!
wsl-WSL内部NW(wsl-_外部).drawio (1).png

最後に

駆け足でしたが、WSLの通信がどう流れているか少しは理解できたでしょうか?
続編も近々書く予定でいますので、こうご期待!

次回は、
「え?WSL2ってUbuntuとかCentOSとかに同じIPアドレス振られるの?」
「ホストOSからWSL2への通信はどうなってるの?」そんな所を見ていければなと思います!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4