Протокол маршрутизатора с горячим резервированием (HSRP) и протокол резервирования виртуального маршрутизатора (VRRP): различия между версиями

Материал из support.qbpro.ru
imported>Vix
Нет описания правки
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
=='''Сетевые сервисы VRRP'''==
* Как настроить VRRP на Debian


Установку и настройку будем проводить на примере серверов SRV1 и SRV2 с выданным диапазоном адресов 91.142.82.216/29<br>
ipv4 и ipv6 выдаются только подсетями<br>
Минимальный размер подсети ipv4: /29, ipv6: /64.<br>
Пример: выдана подсеть ipv4 адресов 91.142.82.216/29<br>
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 свободен<br>
В качестве реальных IP адресов серверов используются:
91.142.82.220 — для SRV1
91.142.82.221 — для SRV2


ИСТОЧНИКИ:
В качестве виртуального IP адреса, который будет автоматически переключаться между серверами в случае сбоев используется:
<hr>
91.142.82.222
 
* '''Важно.''' При настройке '''VRRP''', в качестве адреса для виртуального '''IP''' не используется реальный адрес сервера, так как, в случае сбоя, его адрес переместится на соседний, и при восстановлении, он окажется изолированным от сети. Дело в том, чтобы вернуть свой адрес, нужно отправить в сеть '''VRRP''' пакет, но не будет '''IP''' адреса, с которого это возможно сделать.
 
* Установка и настройка
Установить пакет 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
 
 
 
==ИСТОЧНИКИ==
* [https://help.miran.ru/main/notes/kak-nastroit-vrrp-na-debian Как настроить VRRP на Debian]
* [https://habr.com/en/post/452490/ Принцип работы протокола VRRP]
* [https://habr.com/en/post/452490/ Принцип работы протокола VRRP]
* [http://espressocode.top/hot-standby-router-protocol-hsrp-virtual-router-redundancy-protocol-vrrp/ Протокол маршрутизатора с горячим резервированием (HSRP) и протокол резервирования виртуального маршрутизатора (VRRP) ]
* [http://espressocode.top/hot-standby-router-protocol-hsrp-virtual-router-redundancy-protocol-vrrp/ Протокол маршрутизатора с горячим резервированием (HSRP) и протокол резервирования виртуального маршрутизатора (VRRP) ]
* [https://habr.com/ru/post/128770/ VRRP в Linux]
* [https://habr.com/ru/post/128770/ VRRP в Linux]
* [https://tuxnotes.com/snippet/vrrp-%D0%BD%D0%B0-%D0%B1%D0%B0%D0%B7%D0%B5-keepalived-linux-debian-dns vrrp на базе keepalived linux debian dns]
* [https://tuxnotes.com/snippet/vrrp-%D0%BD%D0%B0-%D0%B1%D0%B0%D0%B7%D0%B5-keepalived-linux-debian-dns vrrp на базе keepalived linux debian dns]
* [https://ru.wikipedia.org/wiki/GlusterFS GlusterFS]
=='''ПОЛЕЗНОЕ'''===
* [https://efsol.ru/manuals/haproxy-vrrp.html Настройка кластера HAproxy при помощи VRRP]

Версия от 04:31, 9 февраля 2024

Сетевые сервисы VRRP

  • Как настроить 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
  • Важно. При настройке VRRP, в качестве адреса для виртуального IP не используется реальный адрес сервера, так как, в случае сбоя, его адрес переместится на соседний, и при восстановлении, он окажется изолированным от сети. Дело в том, чтобы вернуть свой адрес, нужно отправить в сеть VRRP пакет, но не будет IP адреса, с которого это возможно сделать.
  • Установка и настройка

Установить пакет 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


ИСТОЧНИКИ

ПОЛЕЗНОЕ=