创建与物理网卡连接到同一网络的虚拟网卡

创建与物理网卡连接到同一网络的虚拟网卡

我如何创建一个虚拟的接口,连接到与身体的接口?我试着四处搜索,但只找到了环回。我需要线路的另一端将其识别为两个接口,所以环回无法做到这一点。像 VMWare 这样的虚拟机管理程序有一个选项可以做到这一点(VM 和主机在路由器的 arp 表上被识别为两个设备),但在我看来,使用 VM 几乎是小菜一碟。我只想要另一个连接,或者一些可以充当“虚拟交换机”的应用程序。

我在Windows上,应该是这样的。

预期虚拟网络

看来我不是唯一遇到这个问题的人。有人这里这里我也问过,但没有令人满意的答案。很抱歉,但搜索这个问题非常困难。

答案1

程序:

  1. 在 Windows 中启用 Hyper-V 功能optionalfeatures.exe或使用命令提示符以管理员身份使用以下命令并重新启动 PC。

    DISM.exe /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V /NoRestart
    
  2. 从开始菜单或运行对话框中打开 Hyper-V 管理器,输入virtmgmt.msc。转到虚拟交换机管理器 > 新建虚拟网络交换机 > 选择外部类型 > 创建虚拟交换机 > 确定。为该虚拟网络交换机选择外部类型很重要。有关更多详细信息,请参阅以下文章。

Hyper-V_外部_虚拟_NIC

  1. 打开网络控制面板 ( ncpa.cpl) > 选择虚拟网络接口(带vEthernet名称)> 更改其 IP 和 MAC 地址。IP 可以与真实 NIC 位于同一子网中,也可以与默认网关位于同一子网中。

进一步阅读:

答案2

Linux 的程序:

最初有人要求我在 Windows 上完成这项工作。但由于 Windows 方式将花费我另外 2 个小时,我决定在 Linux 机器上完成这项工作。无论如何,以下是我完成这项工作的方法,感谢答案。希望这能在未来解决某些人的问题。简而言之:

  1. 在现有接口上创建虚拟链接。您应该获得本地管理地址 (这里)传递,这样就不会把事情搞乱(这也是推荐的做法):

    ip link add link eth0 address 56:8A:C0:DD:EE:FF eth0.1 type macvlan

  2. 启动接口:

    ifconfig eth0.1 up

  3. 并获取地址:

    dhclient -v eth0.1

进一步阅读:

如果您坚持使用 * 真正的虚拟 * 接口,那么有一个专门vde2用于在 Linux 上创建虚拟交换机的软件包。我还没有尝试过,但也许它能帮到您。Windows 中没有这种“小”工具,这有点烦人。

(是的,我正在创建一个链接,而不是真正的界面。但它确实完成了我的工作。如果我的问题表述错误,我很抱歉,你可以编辑它来澄清。但最终它显示为一个界面,并且流量确实通过该界面,所以问题可能已经解决了?)

答案3

首先,您需要使用 Hyper-V 创建一个外部 v-switch(可在 win10 上使用。我不确定,但我认为您需要 Pro 安装)。

创建 v-switch 后,您的物理 NIC 将转移到 Hyper-V 的管理,并将创建一个虚拟 NIC(代表该 v-switch)(替换物理 NIC)。

您可以使用 Power-Shell 命令向该 v-switch 添加另一个 Windows v-NIC(您必须以管理员身份运行它):

Add-VMNetworkAdapter -ManagementOS -SwitchName <Hyper-V's vSW name> -Name <vNIC name>

欲了解更多信息,请查看此链接:在 Windows 中使用虚拟 NIC

答案4

netsh wlan set hostednetwork mode=allow ssid=randomwifiname key=12345678

netsh wlan start hostednetwork

需要管理员权限,创建一个具有自己接口的虚拟无线网络。您可以启用互联网共享、自动或静态 DHCP。默认情况下,其 IP/子网与通常的 192.168.xxx.xxx 本地接口完全分开。

相关内容