模拟数据中心如何提供多个 IPv4 地址

模拟数据中心如何提供多个 IPv4 地址

许多数据中心都提供每台服务器拥有多个 IPv4 地址的选项。

在购买和分配任何地址之前,我想在家里试验一下,但我不知道该怎么做。这是专业路由器/交换机的工作吗?还是可以用基本交换机和廉价 PC 来实现?

例如:

PC(A)的 IP 为 10.0.1.1/28

PC(B) 的 IP 为 10.0.1.254

PC(A) 对 10.0.1.1 和 10.0.1.2(等)的请求转到 PC(B)。

我有几个家用路由器,上面有内置开关,我可以在配置中禁用 DHCP。我还有一些旧机器,可以用来提供任何网络服务,例如 DHCP。

我想尝试如何做到这一点的原因之一是允许 1 台机器在给定端口上接受来自多个域的请求(因此有多个 IP),然后根据数据包的目标 IP,使用 iptables 规则将数据包内部转发到不同内部端口上的服务。

答案1

拥有多个地址非常简单,不需要任何特殊设备。这称为 IP 别名。有创建别名接口(eth0:1 等)的传统方法,或使用“ip”命令将 IP 添加到单个接口的新方法。具有别名 IP 的服务器将为所有 IP 进行 ARP 应答(Linux 将在所有连接的接口上执行此操作,而不仅仅是该子网)。

两种方法的效果相同;使用其中一种取决于您对损坏的软件的依赖程度,该软件通过名称(而不是 IP 地址)绑定到接口来选择传出连接的来源并创建守护进程的监听套接字。

必须手动配置别名 IP;DHCP 无法将其他 IP 分配给单个 MAC 地址。

在此基础上,通过环回接口处理多 IP。在此设置中,实际接口 (ethX) 有一个用于与网关通信的小块(例如 /30 或 /29),而较大的块是上述“lo”接口的别名。网关设备(数据中心路由器)在环回上有一个块的静态路由,指定服务器的 eth0 IP 作为下一跳。在此设置中,服务器可能不会对路由块中的 IP 进行 ARP 回复,而只会对实际直接连接到 ethX 的 IP 进行 ARP 回复。

相关内容