我们在 Windows 服务器上运行虚拟服务器,我注意到其中一个服务器无法连接,当通过虚拟机接口连接时,我们发现服务器已启动并正在运行,我们可以访问服务器内的网络/互联网,但没有外部人员可以连接到服务器。
我们删除了虚拟网络接口并添加了新的接口(这将为虚拟网络接口生成新的 MAC 地址),然后服务器就可以访问了。
VMWare 和 HyperV 都出现了相同的问题,但不是同时出现,而是间隔 3-4 天。
我想知道同一 LAN 上的两个网络接口具有相同的 MAC 地址但不同的 IP 是否会产生问题?
答案1
当然,这是一个绝对糟糕的想法——它们必须是独一无二的。
答案2
以太网协议对 IP 地址一无所知。您总是通过主机的 MAC 地址来寻址主机(IP 地址会映射到 MAC 地址),因此不允许出现重复。
答案3
虽然将单个 MAC 地址绑定到多个接口或多个服务器的情况并不常见,但没有什么可以阻止这样做;事实上也存在这样做的情况。
例如,有负载平衡配置,其中多台服务器被赋予相同的 MAC 地址,其中一个或两个服务器广播免费 ARP,宣布可以在该物理地址上找到所讨论的 IP。
设备所连接的交换机会将两个端口的端口到 mac 表都添加一个条目,然后在将数据包路由到相关的 mac 时顺利地转发到两个端口。
然后,负载平衡服务器将选择要 ACK 的数据包(对于 tcp 而言),通常基于数据包的源 IP 模式,例如,允许一台服务器处理 50% 的流量(假设使用模式 2)
至于 ARP 查找,这里没有问题。当客户端针对相关 IP 发送 ARP 请求时,两个服务器都会以完全相同的答案做出响应,您可以在 Mac Y 找到 IP x。随后,这会作为单个条目存储在客户端 ARP 表中。
答案4
是的,ARP 协议用于将 IP 地址映射到以太网地址,以便数据位能够找到正确的以太网端口。如果您有两个具有相同以太网地址的系统,那么数据位将转到最先回答 ARP 查询的系统。
它们必须是唯一的,以避免这种混淆。