現在の私の環境では、Windows10 Pro で Windows Subsystem for Linux 2 (WSL2) と Hyper-V と Virtualbox が同時に起動できるようになっています。個々の仮想マシンと Windows10 Pro との間で通信は出来ますが、仮想マシン間での通信は出来ない状態でした。どうせなら、仮想マシン間でも通信を確立し、scp 等を使って簡単な file のやり取りが出来るようになれば便利かと考えて、やり方を調べてみました。
WSL2 と Hyper-V と Virtualbox の仮想マシン間で通信できるようにする
こちらの記事で、WSL2 の ssh で Hyper-V と Virtualbox の仮想マシンへの接続を断念した事を書きました。
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-V・Virtualbox の各仮想マシン間で通信が可能になります。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
再起動しても有効でした。