我有一个这样的网络布局(ESXi主机):
Internal Network
+
+-----------------+ |
| Host1 | |
NLB Heartbeat |-----------------| |
+------------+<- 10.10.1.x | |
| | | | +------------+
| | 192.168.9.x ->+------------+ | |
| +-----------------+ | | |
|VLAN 2 | | Public |
| +-----------------+ |
| +-----------------+ | | |
| | Host2 | | +------------+
| |-----------------| |Cluster IP:
+------------+<- 10.10.1.x | |192.168.9.x
| | |
| 192.168.9.x ->+----------+
+-----------------+
我的目标是让集群 IP 可从网络内部访问。也就是说,我可以访问该 IP 地址上的服务。我使用 VLAN 的原因是因为否则多播会淹没交换机端口,因此我想将 NLB 流量隔离到其自己的网络中。
两台主机都连接到同一台交换机。出于某种奇怪的原因,在我的交换机(HP 1910-48G)上,我无法为集群添加静态 ARP 条目:
[3Com Baseline Switch]arp static 192.168.9.x 0100-5e7f-090a
MAC Address Error: Invalid MAC address.
MAC 地址的格式很奇怪,但这是交换机所期望的。
因此,目前我无法 ping 或访问集群 IP 上的任何内容。所有 VLAN 流量似乎都正常(虚拟机可以相互通信)。我是否遗漏了什么?
答案1
在查看了我的开关后,我终于弄清楚了这一点:
从屏幕截图中可以看出,ESXi 主机所连接的交换机具有 IGMP 侦听和查询器功能。通过启用此功能:
我注意到广播流量突然从 wireshark 中消失并被限制在两个端口上。列出的 IP 是交换机本身的 IP。我确信不同的硬件有不同的方法来实现这一点,但这对我来说似乎有效!