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

tvc*_*tvc 11 networking windows network-adapter

如何创建与物理接口连接到同一网络的虚拟接口?我试着四处寻找,但我发现的只是环回。我需要电线的另一端将其识别为两个接口,因此环回不会这样做。像 VMWare 这样的虚拟机管理程序可以选择执行此操作(VM 和主机在路由器的 arp 表上被识别为两个设备),但在我的情况下,使用 VM 几乎是矫枉过正。我只想要另一个连接,或者一些可以充当“虚拟交换机”的应用程序。

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

预期_虚拟_网络

似乎我不是唯一遇到此问题的人。这里这里也有人问过,但没有可接受的答案。我很抱歉,但很难找到这个问题。

Bis*_*iyo 11

程序:

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

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

Hyper-V_External_Virtual_NIC

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

进一步阅读:

  • @cmenning 是的,你是对的。但是您可以在同一个虚拟交换机下创建两个虚拟接口——其中一个可以配置为物理接口的相同 IP 配置。 (2认同)

tvc*_*tvc 5

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 中不存在这种“小”工具,这有点令人讨厌。

(是的,我正在创建一个链接,而不是真正的界面。但它确实完成了我的工作。如果我的问题措辞不当,我很抱歉,您可以对其进行编辑以澄清。但最终它会出现由于接口和流量确实通过该接口,所以可能已经解决了?)

  • `macvlan` 类型链接表示基于链路层地址的虚拟接口([来源](http://manpages.ubuntu.com/manpages/xenial/man8/ip-link.8.html))。我需要*另一个 MAC 地址*,而不仅仅是另一个 IP,因此 macvlan 是合适的虚拟接口类型。 (3认同)