V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Cy86
V2EX  ›  Windows

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

  •  
  •   Cy86 · Jul 27, 2019 · 14472 views
    This topic created in 2472 days ago, the information mentioned may be changed or developed.

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

    14 replies    2020-02-20 21:31:58 +08:00
    Nasei
        1
    Nasei  
       Jul 27, 2019 via Android
    没用过预览版,我猜正式版的时候怎么都得解决这些问题才有人用。现在临时用本地反向代理一下?
    rayhy
        2
    rayhy  
       Jul 27, 2019 via Android
    想问个不相关的问题?怎么快速升级到支持 wsl2 的版本?我昨天进入 Windows insider,也只是升级了一个版本,一直升级不到最新的那个
    Qzier
        3
    Qzier  
       Jul 27, 2019 via iPhone
    wsl2 使用的是单独分配的 IP,和虚拟机的 nat 模式一样,因为底层就是 hyper-v,而且还会和 vmware 冲突。wsl1 直接是共享的主机 IP。
    rayhy
        4
    rayhy  
       Jul 27, 2019 via Android
    @Qzier 上午微软刚出博客,现在最新的可以用 locahost 了。
    Cy86
        5
    Cy86  
    OP
       Jul 27, 2019
    @rayhy 我更新了大概 4 次才更新上去的, 前三次全部失败, 最后一次成功,并且到了现在最高版本, 你多更新几次看看能不能成, 求博客地址
    Cy86
        6
    Cy86  
    OP
       Jul 27, 2019
    @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
       Jul 27, 2019
    @Qzier 有什么方式能 直接从外网来的流量直接切到 wsl2 么, 现在用的端口映射, 但 加端口 每次都要手动操作太麻烦了
    rayhy
        8
    rayhy  
       Jul 27, 2019 via Android
    @Cy86 我没验证手机不能发链接,这是标题

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

    这么看的话 wsl2 系统的网络连接方式现在还不能选择桥接?
    Cy86
        10
    Cy86  
    OP
       Jul 28, 2019
    @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
       Jul 28, 2019
    @rayhy 感谢
    Rimifon
        12
    Rimifon  
       Jan 4, 2020
    WSL2 默认只将端口绑定了 ::1。可能是微软不想大家用 Win10 做 Linux 服务器而特意做的限制。如果大家都用 WSL 做服务器,对 IIS 有威胁啊。Windows 实现 WSL 也是绕了个大弯,WSL1 花了好大力气做 Linux 底层兼容。到了 WSL2 直接跑虚拟机糊弄人了。
    Cy86
        13
    Cy86  
    OP
       Jan 18, 2020
    @Rimifon 目前看 1 是可以的, 到 2 反而开始阉割了 , 请问 有什么方式能让局域网访问 wsl2 么
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2643 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    ♥ Do have faith in what you're doing.