Заметка может изменяться, последняя версия всегда доступна
по адресу http://techoover.blogspot.com/2007/08/hsrp.html
0. Официальная документация
* Описание HSRP
* Troubleshooting HSRP
Для чего?
HSRP - host standby router protocol, используется в решениях отказоустойчивости.
Два рутера могут "делить" один IP-адрес между собой. Решение работает только в
режиме active/standby при пропадании active рутера адрес забирает себе standby рутер.
Сообщения между рутерами посылаются на мультикаст адрес используется протокол UDP порт 1985.
Замечание: происходит переключение быстро, поскольку рутеры разделяют также и МАС адрес,
который выбирается из диапазона:
где последние * отображают номер группы в шестнадцатеричном виде.
Существует две версии HSRP (1 и 2).
Основные отличия:
- Версия 1 использует для работы мультикаст 224.0.0.2, что конфликтует с CGMP.
Версия 2 использует мультикаст 224.0.0.102
- Версия 2 позволяет использовать большее количество групп (до 4096),
тогда как версия 1 только до 255
1. Минимальная настройка.
Команды вводятся в режиме конфигурации интерфейса
// Основной адрес интерфейса
RouterA(config-if)# ip address 10.0.0.254 255.255.255.0
// Версия HSRP
Router(config-if)# standby version 2
// Группа в пределах которой работает HSRP и "разделяемый" адрес
Router(config-if)# standby 400 ip 10.0.0.1
2. Дополнительная настройка
Команды вводятся в режиме конфигурации интерфейса
2.1. Выбор основного рутера. Добавляется приоритет. Основным будет рутер
с большим приоритетом. Может быть от 1 до 255. По умолчанию равен 100.
Неясно как выбирается active/standby при настройках по умолчанию. Без указания приоритета.
Судя по экспериментам - "кто первый встал того и тапочки" :)
Router(config-if)# standby 400 priority 120
2.2. Обращать внимание на приоритет. Без этой команды приоритет просто не учитывается.
Задержка указывает сколько подождать перед "отдачей" активной роли.
Router(config-if)# standby 400 preempt [delay]
2.3. Мониторинг дополнительного интерфейса. Если он падает то приоритет рутера
уменьшается на указанную величину, 50 в данном случае.
Если величина уменьшения приоритета не указана значением по умолчанию принимается 10.
Может указываться несколько раз для мониторинга нескольких интерфейсов.
Router(config-if)# standby 400 track Serial0 50
2.4. Аутентификация. Строка должна быть одинаковой на всех рутерах в одной группе.
Есть возможность использовать md5
Если используется старые модели маршрутизаторов, которые не поддерживают более
одного МАС на интерфейсе можно использовать команду:
Router(config-if)# standby use-bia [interface]
Которая заставляет использовать аппаратный адрес вместо выбираемого дополнительно
виртуального. Запомнить просто: bia - burned-in address
4. Команды диагностики
Пример вывода команды диагностики.
Router#show standby
Ethernet0 - Group 1
Local state is Active, priority 70 (confgd 120), may preempt
Hellotime 3 sec, holdtime 10 sec
Next hello sent in 2.544
Virtual IP address is 10.0.0.5 configured
Active router is local
Standby router is unknown
Virtual mac address is 0000.0c07.ac01
2 state changes, last state change 00:00:48
IP redundancy name is "hsrp-Et0-1" (default)
Priority tracking 2 interfaces, 1 up:
Interface Decrement State
Serial0 10 Down (line protocol down)
Serial1 10 Up