我有一个场景,我使用 OpenELB 作为负载均衡器在我的 Kubernetes 集群上公布接口的 MAC 地址和外部 IP 地址(192.168.41.71)。

我的理解是不需要接口的ip地址,因为外界只需要知道接口的EIP地址和Mac地址。

我的问题是:如何接收没有接口 IP 地址的数据包并通过 IPVS 将其转发到本地路由表?

当我随机设置一个 ip 地址时,数据包可以正常接收和转发。但是,如果我删除接口的 IP 地址,则它不起作用。


最佳答案
1

我不需要接口的 IP 地址

根据主机上的具体情况,这可能行不通。

在接口上没有 IP 地址的情况下运行时需要 a) 主机仍然接受 IP 数据包(IP 不能解除绑定,绑定通常需要地址),以及 b) 同一 L2 网段上的所有其他节点都已经知道“网关”的 MAC 地址(因为 ARP/NDP 不起作用)。

如果不能同时满足这两个要求,只需向该接口添加一个地址即可。毕竟,私有 IP 地址甚至本地链接都是免费的。