Настройка Proxy-Arp с Keepalived

В настоящее время я пытаюсь создать установку с N серверами, где 1 сервер является главным для виртуального IP, а (N-1) серверы действуют как резервные копии, предположительно контролируемые keepalived . Однако одна проблема, которую я вижу с keepalived , заключается в том, что его намерение состоит в том, чтобы привязать виртуальный IP-адрес ( 1.2.3.4 ) к любому указанному мной интерфейсу (назовем его eth0 ).

Вместо этого я намерен создать запись Proxy-ARP на eth0 для 1.2.3.4 . Таким образом, трафик, направленный на 1.2.3.4 , поступает на eth0 , а поскольку ip_forwarding разрешен на моем хосте, записи в таблице маршрутизации на хосте будут перенаправлять их на виртуальный интерфейс для дальнейшей обработки.

Поддерживается ли этот вариант использования в keepalived ? Я действительно добился правильной работы этой установки с ucarp , но это в основном связано с тем, что ucarp имеет концепцию vip-up и vip -down скрипты, в которые я могу вставить собственные команды для создания записей Proxy-ARP и отправки GARP.

2
задан 16 May 2020 в 00:19
1 ответ

Зачем тебе это? Насколько я знаю, он не поддерживается, поскольку VRRP — это протокол, который должен иметь возможность общаться между всеми участвующими хостами в одной подсети.

Если вы хотите разделить виртуальный IP-адрес между несколькими серверами и хотите подключить его к петлевому интерфейсу, вам следует обратить внимание на маршрутизацию произвольной рассылки. Запустите протокол маршрутизации на своих серверах и на ваших маршрутизаторах (например, OSPF или BGP), позвольте каждому серверу объявлять один и тот же IP-адрес и создавать сценарии, которые останавливают/запускают объявление общего виртуального IP-адреса на основе того, что вы хотите, например. служба останавливается (например, происходит сбой Apache) или сервер теряет или получает подключение к серверной базе данных и т. д.

2
ответ дан 3 December 2020 в 13:52

Теги

Похожие вопросы