805 字
4 分钟

解决TUN代理使Hyper V虚拟机断网

2025-12-20
浏览量 加载中...

原因:VMware/Hyper-V的默认上网配置(NAT/Default Switch)与Mihomo/Singbox/XRayCore等软件的TUN上网模式冲突。

解决思路:通过简单的手动配置VMware/Hyper-V的网卡,使他们走代理流量/直连。

方法一:桥接模式#

既然是NAT冲突了,那么直接改成桥接就行了嘛!

方法二:配置网卡#

如果你不能接受使用桥接模式上网,那么我们来手动配置网卡。下文以Hyper-V为例。

一、找到TUN网卡#

TUN网卡一般有比较明显的名字,例如,Mihomo(Clash内核)的默认TUN网卡名字是Meta

你可以使用下面的PowerShell命令来列出所有的网卡:

PowerShell
PS C:\> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
蓝牙网络连接 Bluetooth Device (Personal Area Networ… 23 Disconnected XX-XX-XX-XX-XX-XX 3 Mbps
vEthernet (E0) Hyper-V Virtual Ethernet Adapter #2 17 Up XX-XX-XX-XX-XX-XX 10 Gbps
vEthernet (Default Switc… Hyper-V Virtual Ethernet Adapter 54 Up XX-XX-XX-XX-XX-XX 10 Gbps
以太网 Realtek PCIe GbE Family Controller 7 Up XX-XX-XX-XX-XX-XX 1 Gbps
WLAN Realtek 8852CE WiFi 6E PCI-E NIC 5 Disconnected XX-XX-XX-XX-XX-XX 144.4 Mbps
Meta Meta Tunnel 51 Up 100 Gbps

观察InterfaceDescription即可轻松发现,我们的TUN网卡应该是Meta

二、创建新的网卡#

现在,让我们前往Hyper-V虚拟机,首先,创建一个新的虚拟交换机,如下图:

在Hyper-V中创建一个新的虚拟交换机

会弹出窗口让你命名,笔者这里就命名为Meta-Tunnel

三、配置虚拟机网卡#

打开你对应的Hyper-V虚拟机,进行两个步骤:

  1. 删去默认的Default Switch
  2. 将网卡Meta-Tunnel添加进去

操作如下:

将网卡添加到虚拟机

四、链接虚拟网卡与TUN隧道#

以管理员身份打开一个PowerSHell窗口,输入并执行下面的命令:

Terminal window
# 记得更改为你的网卡的名字!
$vSwitchName = "Meta-Tunnel"
$vSwitch = Get-NetAdapter | Where-Object {$_.Name -like "*$vSwitchName*"}
# 设置物理机这边的 IP 为 192.168.137.1
New-NetIPAddress -IPAddress 192.168.137.1 -PrefixLength 24 -InterfaceIndex $vSwitch.InterfaceIndex

如果你不喜欢192.168.137.1,也可以更改。接下来,依然在这个窗口里面,执行命令:

Terminal window
New-NetNat -Name "MetaNat" -InternalIPInterfaceAddressPrefix 192.168.137.0/24

这条命令告诉 Windows,凡是来自192.168.137.0/24网段的数据,都帮我做 NAT 转发出去。它会自动寻找当前系统的主出口(也就是TUN网卡啦)。

不过,New-NetNat并不带有DHCP服务,所以我们还得给虚拟机配置静态IP!

五、配置虚拟机静态IP#

采用下面的设定!IP地址填192.168.137.2192.168.137.254都没问题。

IP: 192.168.137.10
掩码: 255.255.255.0
网关: 192.168.137.1
DNS: 192.168.137.1

方法三:连接共享(ICS)#

WARNING

不建议使用这个方法!因为Windows的ICS服务向来很不稳定!重启物理机后必定失效,需要重新配置!

先按照方法二完成步骤一二三,然后做下面的步骤。

  1. 按 Win + R,输入ncpa.cpl并回车,打开网络连接面板。
  2. 找到虚拟网卡Meta
  3. 右键点击网卡 -> 属性
  4. 切换到共享选项卡。
  5. 勾选 “允许其他网络用户通过此计算机的 Internet 连接来连接”。
  6. 在“家庭网络连接”下拉菜单中,选择Meta-Tunnel。点击确定。

通过ICS进行网络共享

再次重申:不建议使用这个方法!强烈建议使用配置网卡的方法!

赞助支持

如果这篇文章对你有帮助,欢迎赞助支持!

赞助
解决TUN代理使Hyper V虚拟机断网
https://snowy.cc.cd/posts/harmony-hyperv-mihomo/
作者
雪纷飞
发布于
2025-12-20
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-12-20

评论区

目录