hiroの長い冒険日記

主にコンピュータ周辺の興味を持った内容を綴ります

Windows10 の WSL2 と Hyper-V と Virtualbox を相互に通信できるようにする設定

現在の私の環境では、Windows10 Pro で Windows Subsystem for Linux 2 (WSL2) と Hyper-VVirtualbox が同時に起動できるようになっています。個々の仮想マシンと Windows10 Pro との間で通信は出来ますが、仮想マシン間での通信は出来ない状態でした。どうせなら、仮想マシン間でも通信を確立し、scp 等を使って簡単な file のやり取りが出来るようになれば便利かと考えて、やり方を調べてみました。

WSL2 と Hyper-VVirtualbox仮想マシン間で通信できるようにする

こちらの記事で、WSL2 の sshHyper-VVirtualbox仮想マシンへの接続を断念した事を書きました。
hiro20180901.hatenablog.com

その後で調べてみたら、WSL2 と Hyper-V 仮想マシンの間の通信は、下記サイトの方法で出来るようになりました。

WSL2とHyper-V仮想マシンの間で通信ができるようにする - メモの日々(2020-12-08)

こちらを参考に、WSL2 と Hyper-V (Default Switch) と Virtualbox (ホストオンリーアダプタ)を相互に接続できるようにしました。

こちらを管理者モードの PowerShell で実行すれば OK です。

Get-NetIPInterface |
where {$_.InterfaceAlias -eq 'vEthernet (WSL)' -or $_.InterfaceAlias -eq 'vEthernet (Default Switch)' -or $_.InterfaceAlias -eq 'VirtualBox Host-Only Network'} |
Set-NetIPInterface -Forwarding Enabled

確認には上記リンク先の方法を使わせて頂きました。

Get-NetIPInterface |
select ifIndex,InterfaceAlias,AddressFamily,ConnectionState,Forwarding |
Sort-Object -Property IfIndex |
Format-Table

適用前 :

ifIndex InterfaceAlias               AddressFamily ConnectionState Forwarding
------- --------------               ------------- --------------- ----------
…略…
     14 VirtualBox Host-Only Network          IPv6       Connected   Disabled
     14 VirtualBox Host-Only Network          IPv4       Connected   Disabled
     15 vEthernet (Default Switch)            IPv4       Connected   Disabled
     15 vEthernet (Default Switch)            IPv6       Connected   Disabled
…略…
     59 vEthernet (WSL)                       IPv6       Connected   Disabled
     59 vEthernet (WSL)                       IPv4       Connected   Disabled

適用後:

ifIndex InterfaceAlias               AddressFamily ConnectionState Forwarding
------- --------------               ------------- --------------- ----------
…略…
     14 VirtualBox Host-Only Network          IPv6       Connected   Enabled
     14 VirtualBox Host-Only Network          IPv4       Connected   Enabled
     15 vEthernet (Default Switch)            IPv4       Connected    Enabled
     15 vEthernet (Default Switch)            IPv6       Connected    Enabled
…略…
     59 vEthernet (WSL)                       IPv6       Connected    Enabled
     59 vEthernet (WSL)                       IPv4       Connected    Enabled

この状態になれば、IP address ベースですが、WSL2・Hyper-VVirtualbox の各仮想マシン間で通信が可能になります。PC を再起動した際にはもう一度設定する必要がありますが、起動後に一度だけ設定するだけですので、それほど負担にはなりません。

おまけ : Debian 11 で複数のネットワークアダプタを有効にする方法

こちらの記事で、debian 11 の GUI では複数のネットワークアダプタを有効に出来ない事に触れました。
hiro20180901.hatenablog.com

調べてみると CUI で設定出来ました。

GUI有効なLinux環境で、複数のNICを有効にする - Qiita

$ sudo nmcli connection add type ethernet ifname enp0s8 con-name enp0s8

再起動しても有効でした。