У меня есть несколько серверов debian, на которых я настроил «IP Failovers» или «Floating IPs».
Мой плавающий 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 Failover указывает на 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
и пинг 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
Так что это прекрасно, за исключением одной детали: машина, отвечающая на пинг в выводе выше, не server-1
, его server-3
В этом есть смысл; 10.0.0.2
это местный адрес server-3
Итак, вот мой вопрос:
Как я могу настроить 10.0.0.2 на всех моих серверах, но «отключить» его на серверах, на которые не указывает IP Failover?
Спасибо за помощь