这个 wsl2 的网络可真的是太烦了
看来还是没法替代 macOS
|  |      16IbA2bj5ip3tK49j      2020-12-29 13:23:18 +08:00 | 
|      2dobelee      2020-12-29 13:29:51 +08:00 via iPhone  2 最简单的,切换回 wsl1 解君愁。 | 
|      3ai277014717      2020-12-29 13:32:50 +08:00 nat 转换 | 
|      4CallMeReznov      2020-12-29 13:32:53 +08:00 你绑 eth0 然后自己的机器无法访问? 防火墙吧。。。。? | 
|  |      5iamwho      2020-12-29 13:36:41 +08:00 https://docs.microsoft.com/en-us/windows/wsl/compare-versions#accessing-linux-networking-apps-from-windows-localhost 如果你无法解决 wsl2 的网络问题,那么建议你用 vagrant | 
|  |      6ericgui OP @ai277014717 咋做?求指教 | 
|  |      7ericgui OP @iamwho 我用这个解决了: The IP i use in my .bashrc is from: export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0 我也不知道什么原因 我的网络知识很少,一直都没咋学明白 | 
|      8ai277014717      2020-12-29 13:40:09 +08:00 @ericgui 关键字搜一下就知道了 wsl2 hyper-v nat | 
|      9enfuss      2020-12-29 13:57:03 +08:00 @ericgui #7  因为 wsl2 每次启动的 localhost 和 windows 本身的 localhost 不是同一个东西。之前试图给 wsl2 用 windows 的代理就碰到这个坑。 | 
|  |      10fuxkcsdn      2020-12-29 14:02:16 +08:00 | 
|  |      11purefkh      2020-12-29 14:30:33 +08:00 via Android | 
|      12zhlssg      2020-12-29 14:37:16 +08:00  28 确实有点坑,有天搞这个加班了一小时,下班发现电动车被偷了 | 
|      13ohoh      2020-12-29 14:53:00 +08:00 打开老版 IE, 进入设置进行重置, 可能需要重启电脑. | 
|      14zlowly      2020-12-29 15:13:51 +08:00 最新版本的 WIN10 里的 WSL2 里监听于::1 的话,WIN10 的 HOST 主机里就可以用 localhost 访问到对应监听的端口,看起来似乎是通过 ipv6 实现的。 | 
|      15xgc      2020-12-29 15:42:01 +08:00 是不是开了 SS 或者什么别的 http 代理,正常是可以用 localhost:8000 访问的 | 
|  |      16sleepm      2020-12-29 15:48:11 +08:00 https://abdus.dev/posts/fixing-wsl2-localhost-access-issue/ 写个 powershell 脚本 在事件查看器找到'加载 wsl 交换机(1019)'的事件,加个计划任务上去,每次 wsl2 启动时自动把 wls2 的 ip 写入主机 hosts shayne/go-wsl2-host 这个我试了,我的 win10 没用,不工作,所以只能搞脚本了 wsl2 除了不能固定 ip/nat 之外,还是很香的 | 
|  |      17hui314      2020-12-29 16:00:34 +08:00 wsl2 除了 localhost,还有文件 io 巨缓慢的问题,TTL 能去到 5 秒.已经转投 virtualBox | 
|      18Rhilip      2020-12-29 16:38:06 +08:00 我是绑定静态 IP, 个人觉得这是比 localhost 更好的方法访问 WSL2 https://github.com/MicrosoftDocs/WSL/issues/418#issuecomment-648570865 | 
|  |      19nmap      2020-12-29 17:29:21 +08:00 最简单的办法是不要用 localhost,用 wsl2 eth 口的 ip 访问 | 
|  |      20KuroNekoFan      2020-12-29 17:35:00 +08:00 via iPhone  1 @hui314 wsl2 访问 mnt 路径会有问题,用虚拟机本身的硬盘空间就正常了 | 
|  |      21keepeye      2020-12-29 17:36:33 +08:00 没有 docker 需求的话还是用 wsl1 比较好,尤其是需要读写宿主机文件的的话 | 
|  |      22libook      2020-12-29 17:52:27 +08:00  1 WSL2 是跑在虚拟机里的,虚拟机和 Win10 是相当于 2 台网络设备,所以你在 WSL2 里启动了一个服务,不能监听 localhost,而是应该监听 2 台设备同在的网络段,最简单直接的是监听 0.0.0.0:8000 。 然后找到 WSL2 目前在用的 IP 地址,比如 10.2.3.1,然后在 Win10 上访问 10.2.3.1:8000 就可以了,就像是你在自己电脑上访问一台测试服务器上的服务一样。 | 
|      23assiadamo      2020-12-29 18:05:05 +08:00 既然用到 WSL2 了,不如连 docker desktop 一起安排上吧 | 
|  |      24fuis      2020-12-29 18:07:20 +08:00 多大点事 export HOST_IP="$(grep nameserver /etc/resolv.conf | awk '{print $2}')" export WSL_IP="$(hostname -I)" | 
|      25hantsy      2020-12-29 18:46:49 +08:00 @hui314 Windows 下真是麻烦,本来我是 Virtualbox 用得多。 后来的 Docker 放弃了 Dockers Toolbox (支持 Virtulbox ),与 MS 合作开发 Docker For Windows,仅支持 Hyper V,无耐才用它。最扯蛋的是 VirtualBox 与 HyperV 不兼容,虽然 VirtualBox 有选项可以用 HyperV 协议,一直没成功过。 | 
|      26hantsy      2020-12-29 18:49:44 +08:00 对于开发人员,Vargrant 是比较好的方案,直接用虚拟机,而且网络,文件系统映射做得不错。 | 
|      27zm8m93Q1e5otOC69      2020-12-29 19:03:22 +08:00 via Android 直接用 wsl2 ifconfig 出来的内网 ip 访问 | 
|  |      28narmgalaxy      2020-12-29 19:46:56 +08:00 我记得是因为 wsl2 是虚拟机,占用了一部分端口 https://www.cnblogs.com/zsmumu/p/13389816.html | 
|  |      29kennylam777      2020-12-29 19:52:18 +08:00 via Android @hantsy WSL2 不好嗎,Docker for Desktop 3.0.0 以 WSL2 為主,輕鬆解決 File system 的問題。 WSL 1 能直接使用 Windows 網口,用來調試 userspace 程序也很輕鬆 | 
|      30hantsy      2020-12-29 21:31:12 +08:00 @kennylam777 Hyper V 的生态不如 VirtualBox,很多东西不支持 HyperV,比如 Genymotion,Vagrant 很多 Box 只有 VirtualBox 版本。 | 
|  |      31jiangzm      2020-12-29 21:33:45 +08:00 监听改成 0.0.0.0:80 试下 | 
|  |      32kennylam777      2020-12-29 22:40:47 +08:00 @hantsy 的確, Vagrant 的 Hyper-V driver 不能用要 VirtualBox 也沒辦法, 但新的 Hyper-V 可以和 VirtualBox 共存了, 不像以前般 mutually exclusive | 
|  |      33RickyC      2020-12-30 09:01:06 +08:00 应该要让 windows 映射 WSL2 的端口, 才可在 windows 下访问 并且 WSL2 的内网 IP 会经常自己改变 可参考 https://blog.class4ever.com/2588.html | 
|  |      35RickyC      2020-12-30 09:55:54 +08:00 不映射端口的话,  可以尝试在 WSL2 输入 ifconfig, 找到 inet 的 IP, 然后用 该 IP:端口, 看能不能访问. | 
|      36hantsy      2020-12-30 11:25:02 +08:00 如果直接映射 WLS 所有端口到 Windows,估计太多冲突。 没有简单的通过子域名方式来解决所有 的 WLS 端口问题。比如 Windows 启动时在  Host 文件,写入 wsl.local XXXX ( WLS IP ). | 
|  |      37xzysaber      2020-12-30 13:09:19 +08:00 重启 WSL 。 |