众所周知 WSL 默认安装后,只允许windows访问 Windows Subsystem for Linux,而WSL是不能反之访问本地windows。我之前用vmware的思路认为是nat的网络模式,于是改成了桥接,结果wsl的桥接模式被我改的能访问本地,但是却不能Internet,而且网络模式很难改回来。害我重装了电脑(手残easeus,备份还原不会用,重装完分区才研究明白备份软件,不过我原来的Ubuntu WSL 也有点憨憨)

步骤

默认安装WSL,记得 wslupdate.exe运行一下

从终端 powershell 输入 ipconfig , 基本在ubuntu(WSL)里 ping不了

但是可以看到

	以太网适配器 vEthernet (Default Switch):
	
	   连接特定的 DNS 后缀 . . . . . . . :
	   本地链接 IPv6 地址. . . . . . . . : xxxxxxxxxxxxxx
	   IPv4 地址 . . . . . . . . . . . . : xxxxxxxxxxxxxx
	   子网掩码  . . . . . . . . . . . . : xxxxxxxxxxxxxx
	   默认网关. . . . . . . . . . . . . :
	
	以太网适配器 vEthernet (WSL):
	
	   连接特定的 DNS 后缀 . . . . . . . :
	   本地链接 IPv6 地址. . . . . . . . : xxxxxxxxxxxxxx
	   IPv4 地址 . . . . . . . . . . . . : xxxxxxxxxxxxxx
	   子网掩码  . . . . . . . . . . . . : xxxxxxxxxxxxxx
	   默认网关. . . . . . . . . . . . . :

这是hyper-v的vmswitch(虚拟交换机),wsl利用这个适配器来连接Internet或localhost的

用管理员模式运行powershell

> New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow

给防火墙添加新的WSL入栈规则

在这里插入图片描述
抱歉里面太多企业 VPN 和 Proxy 程序,截图就只能这么点

看到这个WSL后,ping vEthernet (WSL)的IP就可以了,但是telnet连接端口是失败的,无法连接,原因还是这个适配器对wsl虚拟化的网络使用的不是物理网络配置。
在这里插入图片描述

在cmd中输入 wsl hostname -i,就显示了wsl内部的访问windows的host ip。

在这里插入图片描述
telnet是需要端口的,我这个就没截

GitHub 加速计划 / ws / WSL
17.08 K
797
下载
Issues found on WSL
最近提交(Master分支:19 天前 )
86fa5afa 1 个月前
e899d0b7 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐