V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
xivisi
V2EX  ›  Linux

成功实现 WLS2 的局域网访问

  •  
  •   xivisi · 2020-06-05 18:05:14 +08:00 · 17310 次点击
    这是一个创建于 1666 天前的主题,其中的信息可能已经有所发展或是发生改变。

    废话不多说: 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 交换机被自动删除和创建,导致配置的 桥接模式被取消;

    第 1 条附言  ·  2020-06-06 08:34:32 +08:00
    修正:新问题,如果启动时不能上网,且虚拟交换机里面也不能配置桥接,在网卡属性里,把 "Hyper-V 可扩展的虚拟交换“ 的选中去掉,再重新配置桥接


    总结: WSL2 网络的坑比较大,麻烦
    15 条回复    2020-06-06 11:29:58 +08:00
    vcheckzen
        1
    vcheckzen  
       2020-06-05 18:30:32 +08:00 via Android
    也可以用默认网络,windows 开端口转 wsl
    oott123
        2
    oott123  
       2020-06-05 18:34:11 +08:00 via Android
    我这每次重启网卡都会重新创建,也不知道咋回事,是单有线网卡
    hyc171819
        3
    hyc171819  
       2020-06-05 18:36:10 +08:00 via Android
    你可以同时用 virtualbox 吗
    thedrwu
        4
    thedrwu  
       2020-06-05 18:49:44 +08:00 via Android
    如果是 tcp 链接,wsl 里开个 sshd,随意双向任意系统映射端口,也避免了 wsl 的 ip 变动带来的修改。
    miaomiao2014
        5
    miaomiao2014  
       2020-06-06 07:13:54 +08:00 via iPhone
    请问开启 wsl2 做什么用?
    xivisi
        6
    xivisi  
    OP
       2020-06-06 08:38:32 +08:00
    @miaomiao2014
    Windows 重度使用者,遇到必须在 linux 运行的工具,且经常用到
    xivisi
        7
    xivisi  
    OP
       2020-06-06 08:51:30 +08:00
    @vcheckzen 挺麻烦的
    fangjue
        8
    fangjue  
       2020-06-06 08:59:57 +08:00
    @hyc171819 请升级到最新版本(或者至少 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
    yuchenyang1994
        9
    yuchenyang1994  
       2020-06-06 09:36:01 +08:00
    hantsy
        10
    hantsy  
       2020-06-06 10:29:31 +08:00
    @fangjue 6 开始就支持,Experimental 的,表示没成功。
    hakono
        11
    hakono  
       2020-06-06 10:44:42 +08:00 via Android
    @yuchenyang1994 端口转发不行的,或者说限制很多。
    首先每次重启需要宿主机获取 wsl2 的 ip,需要一个启动脚本,其次 wsl2 的端口和宿主机的端口冲突又改不了的话,怎么办?最简单例子就是 samba 服务,宿主机和 wsl2 都使用 445 等多个端口而不能变更
    miaomiao2014
        12
    miaomiao2014  
       2020-06-06 10:48:12 +08:00
    @xivisi 嗯,表示之前用过 wsl2+wm 虚拟机,一切正常使用。
    yuchenyang1994
        13
    yuchenyang1994  
       2020-06-06 10:53:56 +08:00
    @hakono 看用途吧,我其实就是跟别人联调的时候,映射下端口用完就关了。不太清楚你说的这些场景。实在不行?你再开一个发行版,用 wsl1 .☺
    ps1aniuge
        14
    ps1aniuge  
       2020-06-06 11:02:39 +08:00
    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
    ps1aniuge
        15
    ps1aniuge  
       2020-06-06 11:29:58 +08:00
    比如:
    无线路由器内网 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
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:28 · PVG 05:28 · LAX 13:28 · JFK 16:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.