技术解析

成功实现 WLS2 的局域网访问
0
2021-06-17 22:07:43
idczone

废话不多说: 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

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服