注:wsl自动创建的虚拟交换机名为WSL可使用以下方案, 最新版wsl自动创建的虚拟交换机名为 WSL (Hyper-V firewall)以下方案hyper-v会无法ping通主机和wsl,
1. 为wsl中的虚拟机添加静态ip地址,并为wsl的虚拟网卡vEthernet (WSL)添加ip地址
- 创建一个.bat文件,以下内容为bat文件的模板(需以管理员身份运行)
wsl -d (wsl安装的虚拟机名称) -u root ip addr add (为该虚拟机新增的静态ip地址)/24 broadcast (设置broadcast地址) dev eth0 label eth0:1
netsh interface ip add address "vEthernet (WSL)" (为wsl虚拟网卡添加的ip地址 需与虚拟机新增的ip同网段) 255.255.255.0
以下以 为openEuler新增192.168.130.10的ip地址、为wsl的虚拟网卡vEthernet (WSL)新增192.168.130.1的IP地址为例
wsl -d openEuler -u root ip addr add 192.168.130.10/24 broadcast 192.168.130.255 dev eth0 label eth0:1
netsh interface ip add address "vEthernet (WSL)" 192.168.130.1 255.255.255.0
编写为.bat文件,并以管理员身份运行
-
查看主机和wsl安装虚拟机中是否增加了ip地址
-
若添加成功,使用ping来检验在主机和wsl中的虚拟机的通信是否成功,若ping失败,请检查防火墙设置。至此,为wsl2中安装的虚拟机添加一个静态ip地址完毕(每次重启都需运行此命令,将该文件设置为以管理员身份开启自运行即可)
2. 实现主机、hyper-v、wsl之间的通信
- 在hyper-v安装的虚拟机设置中,添加一个网络适配器硬件(虚拟交换机选择WSL)
- 进入此虚拟机,配置添加的wsl网络适配器的ip地址(需与wsl新增的ip地址同网段)
(以windows为例)
至此,主机、hyper-v、wsl之间的通信完成