废话不多说:
1 、使用 windows 10 2004 版本,并成功安装 WSL2 和对应的 wsl2 发行版;
2 、在 控制面版->程序和功能->启用或关闭 Windows 功能->Hyper-v 中,安装 “Hyper-V 平台-> Hyper-V 服务”,"Hyper-V 管理工具 -> Hyper-V GUI 管理工具"( powershell 大佬可以用另一个);
3 、管理员权限打开 “Hyper-V 管理器 -> 虚拟交换机管理器 -> WSL” 把 WSL 设置为外部网络;
4 、WSL2 里面的 linux 添加启动指令,配置固定 IP 、路由、DNS 服务器;
完毕;
缺点: 我两台机器,一台有多物理网卡,没有任何问题;一台轻薄本只有无线网卡,每次启动 虚拟的 WSL 交换机被自动删除和创建,导致配置的 桥接模式被取消;
也可以用默认网络,windows 开端口转 wsl
我这每次重启网卡都会重新创建,也不知道咋回事,是单有线网卡
你可以同时用 virtualbox 吗
如果是 tcp 链接,wsl 里开个 sshd,随意双向任意系统映射端口,也避免了 wsl 的 ip 变动带来的修改。
请问开启 wsl2 做什么用?
Windows 重度使用者,遇到必须在 linux 运行的工具,且经常用到
挺麻烦的
请升级到最新版本(或者至少 6.1.4 ):
来自 VirtualBox 官网 Changelog:
VirtualBox 6.1.4 (released February 19 2020)
Windows host: Restore the ability to run VMs through Hyper-V, at the expense of performance
用 netsh 端口转发就行,已经这么用半年了
https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-interface-portproxy
6 开始就支持,Experimental 的,表示没成功。
端口转发不行的,或者说限制很多。
首先每次重启需要宿主机获取 wsl2 的 ip,需要一个启动脚本,其次 wsl2 的端口和宿主机的端口冲突又改不了的话,怎么办?最简单例子就是 samba 服务,宿主机和 wsl2 都使用 445 等多个端口而不能变更
嗯,表示之前用过 wsl2+wm 虚拟机,一切正常使用。
看用途吧,我其实就是跟别人联调的时候,映射下端口用完就关了。不太清楚你说的这些场景。实在不行?你再开一个发行版,用 wsl1 .☺
wsl1 就是简易无 ip 的 linux,wsl2 基于 hyperv,搞的那么复杂干嘛呢?
1 直接开启 hyperv
2 手动建立 linux 虚拟机不就完了么?
2.1 你建立的 linux 虚拟机,可以设置固定 ip,
2.2 可以通过在 linux 里设置 dhcp,而从你的宿主机外部的无线路由器中,获取 ip 。从而达到,和宿主机同一个网段。
比如:
路由器=192.168.77.1
宿主机=从路由器获取 ip
linux guest os = 从路由器获取 ip
wsl2 默认在 c 盘,而虚拟机可以自己设定。
-----------那些需要 linux ip 监听,开服务的人,为什么会有人用 wsl2 ?而不用 hy 虚拟机,他们是不是蛋疼?-----------
-----------那些需要 linux ip 监听,开服务的人,为什么会有人用 wsl2 ?而不用 hy 虚拟机,他们是不是蛋疼?-----------
分享,我的 hyperv powershell 脚本:
下载地址:
https://pan.baidu.com/s/16deKKe3ZnCg809lffiVZWg
比如:
无线路由器内网 ip=192.168.77.1
win10 宿主机=192.168.77.2=win 网卡上配置,从路由器获取 ip=网关是 192.168.77.1
linux guest os1 = 192.168.77.3=linux 网卡上配置从路由器获取 ip=网关是 192.168.77.1
linux guest os2 = 192.168.77.5=linux 网卡上配置固定 ip=网关是 192.168.77.1