Microsoft Wi-Fi Direct Virtual Adapter本地连接#2 hyper-v 交换机 wsl localhost tun tap模式代理 wsl代理

总的来说是开热点的。(可以同时连wifi,还开着热点。好nb哦。手机好像是不行的。电脑好像有适配器之类,而且,wifi物理网卡一般都有好几个信道的。)
底层原理不清楚。

参与文章:Everything About Microsoft Wi-Fi Direct Virtual Adapter
这个注册表在:hklm\system\currentcontrolset\services\wlansvc\parameters\hostednetworksettings /v hostednetworksettings
查看当前热点:
netsh wlan show hostednetwork

还有一个Microsoft Virtual Wi-Fi Miniport Adapter

卸载不掉的,一开热点就重新生成本地连接##2之类 的。

Wireless LAN adapter 本地连接* 1:

Wireless LAN adapter 本地连接* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter 本地连接* 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

注:我估计2的那个是2.4G热点。另一个是5G频段的。
一开热点,ncap.cpl那里就会激活适配器。


扩展:

window 有很多隐藏网上适配器。
powershell下输入:Get-NetAdapter -IncludeHidden
Get-NetAdapter -IncludeHidden
原因这里有写:NIC

Windows为各种目的制作了几个"模拟"网络适配器。 例如,如果您位于仅IPv4的网络上,但要连接到Internet上的IPv6计算机,则Windows可以创建一个模拟的网络适配器,该适配器通过您的IPv4网络通过隧道传输IPv6流量。

实际上,有许多这样的模拟网络适配器。 由于它们通常会安静地照顾自己,并且与您(最终用户)可以看到或触摸的任何实际网络硬件都不对应,因此Windows将默认隐藏它们,以避免混乱。

现在,假设Windows刚开始使用相同的命名方案(" Ethernet 1"," Ethernet 2"," Ethernet 3"等… )对所有适配器编号。 然后,当您实际安装实际的NIC时,它可能会获得类似" Ethernet 7"的名称。 但是,由于Windows隐藏了前6个网络接口,因此您会看到仅包含一个NIC的列表:" Ethernet 7"。 您可能会说"愚蠢的Windows不知道如何计数"。

因此,我们有两种编号方案。 实际的物理NIC编号为"以太网###"(或" Wi-Fi ###“等),而所有隐藏的网络适配器均获得"本地连接* ###”。 这样,即使首先安装了大量的隐藏网络接口,您看到的NIC也会从1开始编号。

星号是什么意思? 星号曾经是NIC是隐藏NIC的信号。 Windows的较旧版本将所有可见的NIC命名为" Local Area Connection ###",并通过添加额外的星号来区分隐藏的NIC。 这些天来,我们在与您交谈时尽量避免使用诸如"本地连接"之类的讨厌的行话,因此我们将命名模式更改为"以太网"。 但是由于隐藏的NIC无关紧要,因此我们将其旧命名模式保留为星号。

如果您好奇,可以使用以下PowerShell命令查看系统上的所有网络接口:
Get-NetAdapter -IncludeHidden

这个是MSFT论坛的一个回答。


hyper-v 交换机
启用window功能那里关闭。tap模式会有时失效。代理不了。删除交换机的话是删除不了的。只能关闭功能。而且同时关闭沙盒、wsl 等用到hyper的功能的都不勾选。重启。交换机没有了。

再重新开启wsl 。不需要勾选hyper-v。这时没有交换机。wsl里的ubutu 输入ip addr 。得到的配置是与主机一样的ip. 这应该就是window官方说的localhost可访问ubutu。(其中实现原理不清楚。以后有时间研究一下。)但,这功能是window 1809以上的版本才有。我的是20H1

其实官方中有写Accessing Linux networking apps from Windows (localhost)
Accessing network applications
Accessing Linux networking apps from Windows (localhost)
If you are building a networking app (for example an app running on a NodeJS or SQL server) in your Linux distribution, you can access it from a Windows app (like your Edge or Chrome internet browser) using localhost (just like you normally would).意思是在主机上用localhost加端口可以访问wsl机里的服务。

However, if you are running an older version of Windows (Build 18945 or less), you will need to get the IP address of the Linux host VM (or update to the latest Windows version).如果 版本低于18945则是通过ip访问。

注:至于为什么我的20H1一开始是ip访问的是可能因为,我同时勾选了hyper和wsl子系统,重启。然后一堆交换机适配器。==hyper的交换机导致tun模式的代理不起用,tap 重装有时起作用。==原因应该是主机和其它的虚拟机的流量不经过tap网卡。关闭hyper 和wsl后,再开wsl 就默认是localhost同ip的模式了。即官方默认的localhost.

按官方文档开wsl后,应该是这样的:是的,什么都没变。
wsl开启
没有任何适配器与交换机(hyper-v的默认交换机好像是隐藏的,而显示的是分配的适配器)wsl里是对应上面的。
在这里插入图片描述
这与vmare的复制网络状态(续订ip)不是同一个东西。看官方文档
cat /etc/resovle.conf是wsl生成的。

docker window则要求开hyper-v…(逼死强迫症。) 如何代理所有机子?而不用一个一个的设置代理ip之类 的?网卡层级的tap 与hyper-v一时共存,怎么配置转发是个技术活问题。


这些虚拟适配器,工作原理,有些是在二层,有些是三层。采用的方法也不同,有的是修改mac表,有的是路由表,有的是ip_forward.有的是nat.

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值