Я рассматриваю возможность добавления подсистемы балансировки нагрузки keepalived в нашу инфраструктуру, но у меня есть некоторые требования, которые, похоже, выходят за рамки нормальной конфигурации.
Все наши серверы имеют общедоступные IP-адреса, как IPv4, так и IPv6. Некоторые серверы имеют только IPv4-адреса, и я могу использовать те, которые находятся за keepalived и с arp_ignore.
IPv6 не использует ARP, и я не смог найти, что нужно делать, если что-то нужно сделать для поддержки прямой маршрутизации с адресами IPv6 (или возможно ли это даже с помощью keepalived).
У кого-нибудь есть опыт работы с keepalived + IPv6 + Direct routing?
keepalived использует обнаружение соседей. Из журнала изменений 1.2.0:
- VRRP: реализация протокола обнаружения соседей IPv6 (NDISC). В IPv6 бесплатный ARP не существует, поскольку ARP - это только IPv4. NDISC может предоставить ту же функцию, отправив так называемое объявление о нежелательном соседе.
IPv4 и IPv6 в одном экземпляре не работают через VRRP. Отдельные семейства адресов в экземплярах в группе синхронизации или в блоке virtual_ipaddress_excluded.
Технически бит VRRP не является IP-маршрутизацией, поскольку узлы являются соседями в подсети; он не проходит через шлюз. Что делает термин перегруженный прямой маршрутизацией неудачным.
Изменить: относительно того, что реальные серверы не требуют постоянного доступа к VIP, опять же, это может быть через ND. К сожалению, Примеры прямой маршрутизации RHEL не закрывайте это для v6. Я думаю, ты мог бы установить net.ipv6.conf.interface.drop_unsolicited_na = 1
. Если нет, вы можете фильтровать сообщения ICMPv6.