Linux:是否可以分配另一台服务器和网络上的 IP?

Linux:是否可以分配另一台服务器和网络上的 IP?

我在两个不同的数据中心拥有两台 Linux 服务器,其 IP 地址如下:

Server1: 4.4.4.4
Server2: 8.8.8.8 and 8.8.8.9

我需要将所有流量从 8.8.8.9(服务器 2)路由到 4.4.4.4(服务器 1),但服务器 1 会将 8.8.8.9 视为本地 IP。

所以如果我运行 ifconfig 我会得到:

eth0   4.4.4.4
eth0:1 8.8.8.9

是否有任何类型的软件可以做到这一点?

谢谢。

额外细节

我尝试这样做的原因有点复杂。我将尝试总结一下。

我在服务器 1 和服务器 2 中有一个邮件服务器(当前是服务器 1 的中继)。

该邮件服务器的日志由一个软件(闭源软件,制作该软件的公司已停业)处理,该软件为我所在的公司提供了一些有用的信息。但它无法捕获中继电子邮件的数据。也许缺少一些字段/数据,我不确定。

我有两个选择:

  1. 编写一个新软件(昂贵)
  2. 能够在服务器 1 中分配 IP,使其作为本地 IP 工作。这样我就不必再使用中继了,旧软件应该能够正常处理日志。

答案1

是的。您可以为您管理的任何服务器分配任何 IP 地址。

ip addr add 8.8.8.9/32 dev eth0

这样做有啥作用吗? 是的。它可能会破坏 server1 和 server2 上的 8.8.8.9 之间的所有通信。否则,在当前配置中,您除了得到一个愚蠢、不完整且不标准的设置外,什么也得不到。

你所要求的看起来与 VRRP 的内容很相似(http://www.ietf.org/rfc/rfc3768.txt) 用于为连接到共享路由器的两个节点分配单个 IP 地址(参见:在同一子网上)。这在 keepalived 和 LVS 设置中很流行。

考虑到这一点,在不同数据中心设置故障转移的一般方法(不会破坏我们所知的互联网)是使用 DNS 作为故障转移机制。

如果由于某种原因您需要流量出现在本地......

您可以研究使用 iptables 来破坏数据包并将流量重定向到 127.0.0.1(或任意本地 IP 地址)

相关内容