我有多个 Debian 服务器,在其上配置了“IP 故障转移”或“浮动 IP”。
我的浮动IP是10.0.0.2
,并且我有一个A
记录:www.example.com
指向这个IP。
我使用以下命令在所有服务器上配置了这个浮动 IP:
ip addr add 10.0.0.2/32 brd 10.0.0.254 dev eth0 label eth0:0
现在,假设我的 IP 故障转移当前指向server-1
。我们可以这样表示:
_ _
( ` )_
( ) `)
(_ (_ . _) _)
|
|
|
|--------------|
| 10.0.0.2 |
|--------------|
/
/
/
|--------------| |--------------|
| server-1 | | server-3 |
| IP: 10.1.1.1 | | IP: 10.3.3.3 |
| IP: 10.0.0.2 | | IP: 10.0.0.2 |
|--------------| |--------------|
让我们连接server-3
并 ping www.example.com
:
$ ping www.example.com
PING www.example.com (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_req=1 ttl=64 time=0.022 ms
64 bytes from 10.0.0.2: icmp_req=2 ttl=64 time=0.012 ms
64 bytes from 10.0.0.2: icmp_req=3 ttl=64 time=0.013 ms
^C
--- www.example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.012/0.015/0.022/0.006 ms
所以这很完美,除了 1 个细节:上面输出中应答 ping 的机器不是server-1
,而是server-3
这是完全合理的;10.0.0.2
是本地地址server-3
我的问题是:
如何在所有服务器上配置 10.0.0.2,然后在 IP 故障转移未指向的服务器上“禁用”它?
感谢您的帮助