V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
升级到 Windows 11
Cy86
V2EX  ›  Windows

从 WSL1 换到 WSL2 ,整体速度上去了, 但没法通过公网链接

  •  
  •   Cy86 · 2019-07-27 14:26:05 +08:00 · 12380 次点击
    这是一个创建于 1070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 WSL1 的时候 用公网 IP 能进 WEB 服务, WSL2 只能本地 win10 本地使用 ip 连接, 公网连不上 这个有什么办法么

    14 条回复    2020-02-20 21:31:58 +08:00
    Nasei
        1
    Nasei  
       2019-07-27 14:46:31 +08:00 via Android
    没用过预览版,我猜正式版的时候怎么都得解决这些问题才有人用。现在临时用本地反向代理一下?
    rayhy
        2
    rayhy  
       2019-07-27 14:47:42 +08:00 via Android
    想问个不相关的问题?怎么快速升级到支持 wsl2 的版本?我昨天进入 Windows insider,也只是升级了一个版本,一直升级不到最新的那个
    Qzier
        3
    Qzier  
       2019-07-27 15:10:38 +08:00 via iPhone
    wsl2 使用的是单独分配的 IP,和虚拟机的 nat 模式一样,因为底层就是 hyper-v,而且还会和 vmware 冲突。wsl1 直接是共享的主机 IP。
    rayhy
        4
    rayhy  
       2019-07-27 15:32:43 +08:00 via Android
    @Qzier 上午微软刚出博客,现在最新的可以用 locahost 了。
    Cy86
        5
    Cy86  
    OP
       2019-07-27 16:37:20 +08:00
    @rayhy 我更新了大概 4 次才更新上去的, 前三次全部失败, 最后一次成功,并且到了现在最高版本, 你多更新几次看看能不能成, 求博客地址
    Cy86
        6
    Cy86  
    OP
       2019-07-27 16:39:38 +08:00
    @Nasei
    搜索 10 个小时文档的结果: 可以在 CMD 使用 win10 的 端口映射来搞定
    netsh interface portproxy add v4tov4 listenport=22 connectaddress=127.0.0.1 listenaddress=* protocol=tcp

    我看 还有网桥什么的, 不会用... 不知道能不能更方便: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc781877(v=ws.10)
    Cy86
        7
    Cy86  
    OP
       2019-07-27 16:40:39 +08:00
    @Qzier 有什么方式能 直接从外网来的流量直接切到 wsl2 么, 现在用的端口映射, 但 加端口 每次都要手动操作太麻烦了
    rayhy
        8
    rayhy  
       2019-07-27 18:04:01 +08:00 via Android
    @Cy86 我没验证手机不能发链接,这是标题

    What ’ s new for WSL in Insiders Preview Build 18945
    okampfer
        9
    okampfer  
       2019-07-27 18:33:49 +08:00
    wsl2 因为要用原生 linux 内核而改成 hyper-v 上的虚拟机,所以必然会有网络隔离。

    这么看的话 wsl2 系统的网络连接方式现在还不能选择桥接?
    Cy86
        10
    Cy86  
    OP
       2019-07-28 19:23:00 +08:00
    @okampfer 没看懂桥接的文档,但感觉应该可以, 微软的官方文档: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc778925%28v%3dws.10%29

    目前使用的是 :
    win10 监听 80 端口 --> win10 的 portproxy --> 自定义域名 -->HOSTS 文件 --> 虚拟机地址

    然后 任何访问 80 的流量都 转到 虚拟机里,但虚拟机 ip 会变, 目前看别人的 Python 改了改,能每次都自动更换 HOSTS 自定义域名对应的 IP

    坏处就是 任何 导入 虚拟机的流量, 显示的 IP 都是 自己本地的

    求桥接的方式或者教程
    Cy86
        11
    Cy86  
    OP
       2019-07-28 19:25:32 +08:00
    @rayhy 感谢
    Rimifon
        12
    Rimifon  
       2020-01-04 23:02:55 +08:00
    WSL2 默认只将端口绑定了 ::1。可能是微软不想大家用 Win10 做 Linux 服务器而特意做的限制。如果大家都用 WSL 做服务器,对 IIS 有威胁啊。Windows 实现 WSL 也是绕了个大弯,WSL1 花了好大力气做 Linux 底层兼容。到了 WSL2 直接跑虚拟机糊弄人了。
    Cy86
        13
    Cy86  
    OP
       2020-01-18 16:59:41 +08:00
    @Rimifon 目前看 1 是可以的, 到 2 反而开始阉割了 , 请问 有什么方式能让局域网访问 wsl2 么
    Cy86
        14
    Cy86  
    OP
       2020-02-20 21:31:58 +08:00
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2400 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:28 · PVG 10:28 · LAX 19:28 · JFK 22:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.