Как настроить VRRP на Debian
Установку и настройку будем проводить на примере серверов SRV1 и SRV2 с выданным диапазоном адресов 91.142.82.216/29
ipv4 и ipv6 выдаются только подсетями
Минимальный размер подсети ipv4: /29, ipv6: /64.
Пример: выдана подсеть ipv4 адресов 91.142.82.216/29
91.142.82.217 - виртуальный ip (который является шлюзом по умолчанию)
91.142.82.218 - служебный ip
91.142.82.219 - служебный ip
91.142.82.220 - клиентский ip
91.142.82.221 - клиентский ip
91.142.82.222 - плавающий ip
У каждого Linux сервера есть два физических сетевых интерфейса: eth1 с белым IP адресом и доступом в Интернет, eth0 свободен
В качестве реальных IP адресов серверов используются:
91.142.82.220 — для SRV1
91.142.82.221 — для SRV2
В качестве виртуального IP адреса, который будет автоматически переключаться между серверами в случае сбоев используется: 91.142.82.222
Установка и настройка
Установить пакет keepalived нужно на обоих серверах, командой:
apt-get install keepalived
После завершения установки на обоих серверах правим конфигурационный файл
nano /etc/keepalived/keepalived.confРазберем опции более подробно:
vrrp_instance <название> — секция, определяющая экземпляр VRRP;
state <MASTER|BACKUP> — начальное состояние при запуске;
interface <название интефейса> — интерфейс, на котором будет работать VRRP;
virtual_router_id <число от 0 до 255> — уникальный идентификатор VRRP экземпляра, должен совпадать на всех серверах;
priority <число от 0 до 255> — задает приоритет при выборе MASTER, сервер с большим приоритетом становится MASTER;
virtual_ipaddress — блок виртуальных IP адресов, которые будут активны на сервере в состоянии MASTER. Должны совпадать на всех серверах внутри VRRP экземпляра.
Таким образом, при штатной работе, сервер SRV1 будет MASTER для виртуального IP 91.142.82.222
Если на сервере активирован файрвол, то нужно добавить разрешающие правила для multicast трафика и vrrp протокола с помощью iptables:
Для SRV1:
iptables -I INPUT -p vrrp -j ACCEPT
iptables -I OUTPUT -p vrrp -j ACCEPTДля SRV2:
iptables -I INPUT -p vrrp -j ACCEPT
iptables -I OUTPUT -p vrrp -j ACCEPTАктивируем автозагрузки и запустим службу keepalived на обоих серверах:
sudo /etc/init.d/keepalived startПосле запуска службы keepalived, виртуальные IP будут присвоены интерфейсам из конфигурационного файла. Посмотрим текущие IP адреса на интерфейсе eth1 серверов:
SRV1:
SRV2:
Проверим работоспособность настроенной службы keepalived командой:
traceroute 8.8.8.8 –source=91.142.82.222