Teg*_*juh 10 windows-subsystem-for-linux
我在 Hyper-V 上创建了一个带有 2 个网络适配器的 VM。
从我的命令行,我能够使用 Nat Switch IP 连接到 VM,但是从 WSL Bash 我无法连接 IP NatSwitch,但能够连接 ExternalSwitch IP。
为什么?
Hob*_*Pet 13
不幸的是,这是预期的行为。(截至 2021 年 1 月 29 日)
WSL2 使用 Hyper-V 虚拟交换机、vEthernet (WSL)虚拟网络适配器,提供只能从 VM 和主机访问的内部类型 Hyper-V 网络。Hyper-V 计算机具有不同的虚拟网络适配器,例如vEthernet(默认交换机)。如果设置为内部,则为未连接到 WSL 的不同 NAT 网络(子网)。这就像主机拥有 3 个 NIC 和一根电缆(电缆 1),连接到仅存在于该适配器/电缆上的子网上的 WSL,另一根电缆(电缆 2)连接到具有该 NIC 上完全不同的子网的 Hyper-V 来宾。
在另一种情况下,Hyper-V 来宾与主机共享子网(“与第三条电缆/NIC 相同的子网。”),因此它被路由回虚拟机。参见红色标签。
此 GitHub 问题中有一个解决方法,使用从 WSL 到来宾 VM 的端口转发。
小智 10
我这样做了,它对我有用。
Get-NetIPInterface | where {$_.InterfaceAlias -eq 'vEthernet (WSL)' -or $_.InterfaceAlias -eq 'vEthernet (Default Switch)'} | Set-NetIPInterface -Forwarding Enabled
Run Code Online (Sandbox Code Playgroud)
从这里得到的
| 归档时间: |
|
| 查看次数: |
2268 次 |
| 最近记录: |