我已经在这个论坛上搜索了很长时间,虽然关于这个主题有很多问题,但我无法找到问题的具体解决方案。
我想让 DHCP 为使用单个网络适配器的单台计算机分配多个 IP 地址。这样做的目的是让计算机模拟网络模拟中涉及的各种终端节点。
我知道这一定是可能的,因为像 VMware 这样的虚拟机软件也可以使用具有自己的 MAC 地址的虚拟网络适配器与主机的实际网络适配器桥接,从 DHCP 获取虚拟机的外部 IP 地址。GNS3 等软件也可以做到这些,可以从 DHCP 为各种模拟网络节点分配外部 IP。
一个经常被提出的解决方案是使用桥接模式的 Microsoft 环回适配器与真实网络适配器。但是,我不明白这应该如何工作。如果我安装环回适配器并将其与真实网络适配器桥接,则会创建一个名为“以太网 3”的新“多路复用器驱动程序”适配器。此适配器从 DHCP 分配一个 IP,但是虚拟网络适配器和真实适配器都没有第二个 IP 地址的迹象。
如果您能帮助我并解释环回适配器解决方案应该如何工作,我将非常高兴。如果它不能这样工作,我希望您能帮助我找到另一种解决方案来实现相同的目标。我在很多地方都读到过可以设置,但没有一个地方给出了详细的解决方案来帮助我。
答案1
如果您想尝试使用虚拟网络,虚拟交换机可能会与各种虚拟机一起工作。单独地,作为分发协议或操作系统组件的一部分或作为虚拟机的一部分。
或者您可以安装虚拟适配器并分配 IP 地址和 MAC 地址,但在这种情况下,您将只有一个附加接口,该接口适用于例如自动应用 RDP 服务器的情况,或在虚拟适配器上重定向网络应用程序活动。
以下是一些资源,可让您了解交换机的一些功能和虚拟实现。感谢您提出的好问题。
Microsoft Hyper-V 网络和配置 - 第 1 部分
Hyper-V 虚拟网络最大配置:
- 支持 MAXIMUM 备注
- 每个虚拟机的虚拟网卡 12 个网卡 4 个传统网卡和 8 个 VMBus 网卡
- VLAN 无限制
- 每个 VLAN 的虚拟机数量 无限制
- 外部网络虚拟交换机 每个 Hyper-V 服务器 每个物理 NIC 1 个
- 每个 Hyper-V 服务器的内部网络虚拟交换机 无限制
- 每个 Hyper-V 服务器的专用网络虚拟交换机 无限制
- 每个虚拟网络交换机的虚拟机数量 无限制
- 无线 不支持无线
- VLAN ID 标记 外部、内部
- 虚拟机上的 VLAN ID 标记 每台虚拟机一个
支持的平台 Open vSwitch 既可以作为虚拟机管理程序中运行的软交换机,也可以作为交换芯片的控制堆栈。它已移植到多个虚拟化平台和交换芯片组。它是 XenServer 6.0、Xen 云平台中的默认交换机,还支持 Xen、KVM、Proxmox VE 和 VirtualBox。它还集成到许多虚拟管理系统中,包括 OpenStack、openQRM、OpenNebula 和 oVirt。内核数据路径随 Linux 一起分发,并且软件包可用于 Ubuntu、Debian 和 Fedora。FreeBSD 和 NetBSD 也支持 Open vSwitch。正在开发的 Open vSwitch 版本已移植到 DPDK。
大部分代码是用与平台无关的 C 编写的,可以轻松移植到其他环境。
答案2
经常提出的解决方案是将 Microsoft 环回适配器与真实网络适配器一起以桥接模式使用。
桥接执行以下操作:
您桥接的网络适配器现在在第 1 层工作 - 作用与交换机上的端口相同。 将它们称为 A 和 B。
新的桥接接口将连接到该交换机的电缆建模为桥接接口。此新桥接接口在第 1 层和第 2 层上工作。
所以:
您只能为桥接接口分配一个 IP,因为这是唯一在第 2 层上工作的东西。
A、B 和 C 可以看到从 A、B 或 C 经过的以太网帧。
我知道这一定是可能的,因为像 VMware 这样的虚拟机软件也可以使用具有自己 MAC 地址的虚拟网络适配器与主机的真实网络适配器桥接,从 DHCP 中为虚拟机获取外部 IP 地址。
VMware 安装了一个网络适配器,其驱动程序负责接收传入流量并将其移至虚拟主机或从虚拟主机移出。GNS3 运行模拟 Cisco 平台的 MIPS 模拟器,因此它也具有执行相同操作的驱动程序。
我认为您无法分离 Windows 中环回适配器的第 1 层和第 2 层功能 - 因为其典型用途是允许给定主机上的内容不逃离该主机。
如果您不想在 Windows 上进行虚拟化,请尝试以下操作:
安装并使用 Linux。Linux 拥有更直接的 DHCP 工具,在处理奇怪的网络事务方面更加灵活(但也会让你陷入更多麻烦),而且你绝对可以毫无问题地为接口分配多个 IP。
购买一些便宜的 USB 转以太网适配器并将每个适配器连接到您的网络。