Я подумываю о добавлении балансировщика нагрузки keepalived в нашу инфраструктуру, но у меня есть некоторые требования, которые, похоже, выходят за рамки нормальной конфигурации.
Все наши серверы имеют общедоступные IP-адреса. адреса, как IPv4, так и IPv6. Некоторые серверы имеют только адреса IPv4, и я могу использовать те, которые находятся за keepalived и с arp_ignore.
IPv6 не использует ARP, и я не смог найти, что, если что-то нужно сделать для поддержки прямой маршрутизации с адресами IPv6 (или если это возможно даже с keepalived).
Кто-нибудь имеет опыт работы с keepalived + IPv6 + Прямая маршрутизация?
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.