Настройка hsrp на коммутаторах
HSRP (Hot Standby Router Protocol) - проприетарный протокол Cisco, предназначенный для увеличения доступности маршрутизаторов выполняющих роль шлюза по умолчанию. Это достигается путём объединения маршрутизаторов в standby группу и назначения им общего IP-адреса, который и будет использоваться как шлюз по умолчанию.
Версии протокола
Существуют две версии протокола HSRPv1 и HSRPv2 которые не совместимы друг с другом по причине разного формата пакетов.
Так же основным отличаем протоколов является количество доступных номеров групп HSRP - у первой версии номера групп могут быть от 0 до 255 тогда как вторая версия помимо расширенного количества номеров групп, от 0 до 4095, может использовать диапазон MAC-адресов от 0000.0C9F.F000 до 0000.0C9F.FFFF. Так же данные протоколы используют разные мультикаст-адреса: 224.0.0.2 у первой версии в связи с чем данный протокол нельзя использовать с Cisco Group Management Protocol (CGMP - протокол управлениея мультикастом в локальной сети) и 224.0.0.102 у второй версии протокола, допустимый к использованию с CGMP.
Основные понятия протокола HSRP
- Active Router — активный маршрутизатор на данный момент;
- Standby Router — маршрутизатор в режиме резерва. Ожидает отказа Active Router. Состоит в той же HSRP группе, что и активный;
- HSRP группа — группа маршрутизаторов, участвующих в одном и том же резервировании, образуя виртуальный маршрутизатор. На одном физическом маршрутизаторе можно использовать несколько разных групп;
- Priority — величина, определяющая активный маршрутизатор и имеющее значение по умолчанию равное 100. Может иметь значение от 1 до 255;
- Аутентификация — пароль для доступа к HSRP группе и указывается на всех маршрутизаторах группы. Пароль передаётся в открытом (не зашифрованном) виде. Не обязателен;
- Hellotime - таймер ожидания hello пакета от активного маршрутизатора. Заедается в интервале от 1 до 255. Значение по умолчанию 3;
- Holdtime - таймер определения отказа активного маршрутизатора. Заедается в интервале от 1 до 255. Значение по умолчанию 10. Значение Holdtime устанавливается равным трём значениям Hellotime;
Команды настройки HSRP
- standby номер_группы ip ip-адрес - указывает адрес ip-адрес виртуального маршрутизатора в указанной группе;
- standby version версия_протокола - указывает версию протокола 1 или 2;
- standby номер_группы priority значение_приоритета - указывает приоритет маршрутизатора в указанной группе;
- standby номер_группы preempt - разрешает перехват функций если приоритет выше чем у активного маршрутизатора;
- standby номер_группы track имя_интерфейсаприоритет - понижает значение приоритета маршрутизатора на указанную величину приоритета если интерфейс недоступен. Значение восстановится если интерфейс станет доступен;
- standby номер_группы timers hellotime_секholdtime_сек - задает значение таймеров hellotime и holdtime;
- standby номер_группы authentication пароль - пароль для доступа к группе.
Пример настройки
В приведённой ниже топологии, в качестве шлюза по умолчанию используются коммутаторы Cisco Catalyst ws-c4948 ( sw3-00 и sw3-01 ) - они же являются ядром сети. Приоритет sw3-00 выше чем sw3-01 .
Для уровня доступа используются коммутаторы Cisco Catalyst 2960-24 ( sw2-01 и sw2-02 ).
Для доступа в глобальную сеть используется маршрутизатор, настройки которого опущены. IP-адрес маршрутизатора является 192.168.11.254 . В качестве маршрута для доступа сети Vlan 129 и Vlan 144 указан адрес виртуального маршрутизатора Vlan1 .
Различия в настройках коммутаторов sw3-00 и sw3-01 заключается в разных IP-адресах на Vlan-интерфейсах:
Для каждого Vlan-интерфейса на коммутаторах sw3-00 и sw3-01 указан адрес виртуального маршрутизатора который используется в качестве шлюза по-умолчанию:
Коммутаторы доступа подключены через магистральные (Trunk) порты как к sw3-00 так и к sw3-01 , в которых разрешены Vlan 129 и Vlan 144 .
На всех коммутаторах активирован протокол защиты от петель на канальном уровне RPVST :
Этот документ содержит пример настройки протокола Hot Standby Router Protocol (HSRP), которая позволит использовать несколько путей для доступа к определенному получателю.
Предварительные условия
Требования
Для данного документа нет особых требований.
Используемые компоненты
Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.
Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только данные, полученные от устройств с конфигурацией по умолчанию. При работе с реально функционирующей сетью необходимо полностью осознавать возможные последствия выполнения команд до их применения.
Теоретические сведения
HSRP часто используется для повышения отказоустойчивости сетей, но использование этого протокола может также привести к снижению эффективности передачи данных в сети. В примере в данном документе присутствуют два пути от сети узла к сети сервера. Для обеспечения избыточности HSRP поддерживается между R1 и R2, каждый из которых может стать активным маршрутизатором и "завладеть" виртуальным IP-адресом HSRP. Второй маршрутизатор становится резервным, но может вновь стать активным, если предыдущий активный маршрутизатор перестает работать. Дополнительная информация об активном и резервном маршрутизаторах представлена в разделе Как использовать команды standby preempt и standby track.
Адрес шлюза узлов по умолчанию был назначен в качестве виртуального IP-адреса HSRP этих маршрутизаторов. Когда главным узлам требуется послать пакеты на серверную сеть, они посылают их на свои шлюзы по умолчанию или на любой активный маршрутизатор. Поскольку активен только один маршрутизатор, пакеты от узлов к серверам проходят только по одному из двух доступных путей.
Примечание. В зависимости от конфигурации R3 пакеты, возвращаемые с серверов на узлы, могут использовать оба обратных пути. Также пакеты, возвращаемые с серверов на узлы, не должны проходить через активных маршрутизатор.
Чтобы использовать оба маршрута от сети узла к сети сервера, нужно настроить протокол HSRP для нескольких групп (MHSRP) на участке между маршрутизаторами R1 и R2. В основном R1 настраивается с двумя группами HSRP (например, группа 1 и группа 2); R2 настраивается с теми же группами HSRP. Для группы 1 R1 является активным маршрутизатором, а R2 – резервным. Для второй группы R2 является активным маршрутизатором, а R1 - резервным. Затем половина шлюзов узлов по умолчанию настраивается с использованием виртуального IP-адреса группы 1 HSRP, а другая половина - с использованием виртуального IP-адреса группы 2 HSRP.
Условные обозначения
Дополнительные сведения об условных обозначениях см. в разделе Технические советы Cisco. Условные обозначения.
Настройка
В этом разделе приводятся сведения о настройке функций, описанных в данном документе.
Конфигурация HSRP
Это достигается за счет использования двух или более маршрутизаторов (или коммутаторов L3) одного IP-адреса и MAC-адреса так называемого виртуального маршрутизатора.
Все потенциальные шлюзы по умолчанию объединены в группу HSRP.
Может быть несколько таких групп.
В то же время только один маршрутизатор / коммутатор в группе может быть активным, через который проходит весь трафик.
Группа также имеет резервный маршрутизатор, который постоянно контролирует активный маршрутизатор (и если он не работает, резервный шлюз немедленно заменит его).
Как определяются активные и резервные маршрутизаторы?
Все маршрутизаторы группы взаимодействуют друг с другом через мультикастовый адрес 224.0.0.2 (UDP-порт 1985).
Этот адрес противоречит протоколу Cisco Group Management Protocol (CGMP).
Одновременное использование HSRP v1 и CGMP запрещено.
После подачи питания они начинают выборы активного маршрутизатора.
По умолчанию он равен 100.
Если приоритеты для всех равны, то сравниваются IP-адреса.
Маршрутизатор с большим адресом выигрывает и становится активным.
Следующий маршрутизатор станет Standby.
Все остальные маршрутизаторы переключаются в состояние прослушивания.
Они ждут следующих выборов, если активный маршрутизатор терпит неудачу.
Как резервный маршрутизатор определяет, что активный маршрутизатор больше не работает?
Каждые 3 секунды активный маршрутизатор отправляет пакеты Hello, которые прослушивает резервный маршрутизатор.
Если пакет Hello не получен через 3 секунды, начинается отсчет по таймеру, который равен 10 с.
По истечении этого времени резервный маршрутизатор переключается на активное состояние и выбирается новый резервный маршрутизатор.
Что происходит, когда Бывший активный маршрутизатор оживает?
- Ничего не происходит до тех пор, пока текущий активный маршрутизатор не сработает;
- «Восстановленный» маршрутизатор может снова переключиться на активное состояние. Но для этого вам необходимо настроить функцию Preemption на всех устройствах в группе.
Если линия связи отключена на активном маршрутизаторе, все хосты останутся без Интернета.
Но есть решение.
HSRP предоставляет возможность отслеживать интерфейс линии связи.
Как только маршрутизатор обнаруживает, что его интерфейс WAN / линии связи не работает, он немедленно снижает приоритет HSRP в своей группе.
Резервное устройство немедленно распознает и принимает управление, становясь активным шлюзом.
Но для этого вам нужно активировать функцию Preemption.
- Физические порты L3 маршрутизатора;
- Порты физического коммутатора переделанные в режим L3 с помощью команды «no switchport»;
- Интерфейсы SVI / VLAN;
- Порты EtherChannel в режиме L3.
Интерфейсу должен быть назначен IP-адрес.
Пример настройки двух групп HSRP для маршрутизаторов dyn1 и dyn3 (настройки на обоих маршрутизаторах одинаковы).
С помощью команды ver_num в режиме ожидания вы можете указать версию протокола HSRP (1 или 2). По умолчанию используется HSRP 1.
Современный HSRPv2 может работать как с IPv4, так и с IPv6, быстро реагировать на изменения в сети, использует отдельную группу многоадресной передачи 224.0.0.102 (и поэтому не совместим на сетевом уровне с HSRPv1).
Включите HSRP и создайте две группы:
Вы можете указать имя для группы 1 на маршрутизаторе dyn1 (это имя локальной группы):
Чтобы повлиять на результаты выбора активного шлюза, вы можете установить приоритет:
Предохранительный режим позволяет маршрутизатору с более высоким приоритетом перехватывать роль активного маршрутизатора.
По умолчанию этот режим отключен.
Функция Preemption должна быть включена на всех маршрутизаторах.
Чтобы контролировать интерфейс WAN / Uplink в случае его отказа, вы должны выполнить команду на всех маршрутизаторах:
Вы можете проверить состояние активных и резервных шлюзов, используя следующие команды:
Данная сеть не лишена недостатков. При выходе из строя маршрутизатора доступа в интернет лишаются все пользователи данной сети.
Однако не стоит отчаиваться, так как у нас есть решение. Можно подключить второй роутер параллельно первому. Причем он будет имеет идентичную конфигурацию с первоначальным шлюзом (за исключением IP адресов своих интерфейсов):
Теперь при отказе основного роутера все функции на себя возьмет резервный и обрыв связи никто не заметит.
Но как об этом узнают хосты пользователей? У них же настроен шлюз по умолчанию.
Они об этом не узнают. Им достаточно знать IP адрес виртуального шлюза по умолчанию, который существует в виде группы основного и резервного маршрутизаторов.
В этой группе всегда активным является только один маршрутизатор. Когда хосты пользователей просятся в интернет активный роутер отправляет свой МАС адрес в ARP запросе от пользователей.
Когда активный шлюз теряет связь с провайдером или выходит из строя, то об этом узнает резервный роутер и отправляет хостам пользователей свой МАС адрес.
Как видно принцип резервирования достаточно прост.
Но кто управляет всем этим процессом?
Для управления резервированием было разработано целое семейство протоколов First Hop Redundancy Protocol, FHRP . В него вошли протоколы HSRP, VRRP, GLBP. Опишем каждый из них в отдельности.
HSRP, описание и настройка
Hot Standby Router Protocol - разработка Cisco. Все потенциальные шлюзы по умолчанию объединяются в группу. Таких групп может быть несколько. В группе активным является всегда только один маршрутизатор/коммутатор. В группе также имеется резервный роутер, который постоянно следит за активным маршрутизатором. И если тот выйдет из строя, то резервный шлюз сразу его заменит.
Как определяются активный и резервный маршрутизаторы?
Все маршрутизаторы группы между собой общаются по адресу 224.0.0.2 (UDP порт 1985). После подачи питания они начинают выборы на право быть активным и резервным маршрутизаторами. Побеждает тот, у которого больше приоритет (0 - 255). По умолчанию он равен 100. Если приоритеты у всех равны, то сравниваются IP адреса. Побеждает маршрутизатор с большим адресом. Он и становится активным и переводится в состояние Active. Следующий за ним маршрутизатор становится резервным и переводится в состоянии Standby. Все остальные маршрутизаторы переводятся в состояние Listen. Они ждут следующих выборов в случае отказа активного маршрутизатора.
Все маршрутизаторы последовательно проходят следующие состояния:
Disabled → Init → Listen → Speak → Standby → Active
Как резервный маршрутизатор узнает, что активный роутер уже не в “строю”?
Активный маршрутизатор каждые 3 с (Hello интервал) рассылает пакеты Hello, которые прослушивает резервный маршрутизатор. Если после 3 с не поступит пакет Hello, то запустится Dead таймер, который равен 10с. По истечении этого таймера резервный маршрутизатор переводится в состояние Active и выбирается новый резервный маршрутизатор.
А что происходит, когда “оживает” бывший активный маршрутизатор?
Возможны 2 варианта:
1-й вариант. Ничего не происходит пока не “умрет” действующий активный маршрутизатор.
2-й вариант. “Оживший” роутер может снова переключится в состояние Active. Но для этого необходимо настроить функцию Preemtion на всех устройствах группы (об этом немного позже).
А если вдруг uplink одного из маршрутизаторов отключится. Что произойдет в данном случае?
Если это произойдет на активном шлюзе, то все хосты останутся без интернета. Но и здесь есть решение. В HSRP предусмотрена возможность для отслеживания uplink интерфейса. Как только роутер обнаруживает, что его WAN/uplink интерфейс не работает, то сразу же понизит приоритет HSRP в своей группе. Резервное устройство сразу же это узнает и примет управление на себя, став активным шлюзом. Но для этого необходимо активировать функцию Preemtion.
Настройка протокола очень проста, достаточно выполнить следующую команду:
Данную команду необходимо выполнить на всех роутерах группы.
Для того, чтобы повлиять на результаты выборов активного шлюза можно настроить приоритет:
Для возврата “ожившего” маршрутизатора в активное состояние необходимо на нем выполнить команду:
Для отслеживания WAN/Uplink интерфейса на случай его отказа необходимо выполнить команду на всех роутерах:
Функция Preemtion должна быть включена на всех маршрутизаторах.
Теперь посмотрим на состояние активного и резервного шлюзов с помощью следующих команд:
Основной шлюз
Резервный шлюз
Основной шлюз
Резервный шлюз
Протокол также поддерживает аутентификацию простым текстом:
VRRP, описание и настройка
Virtual Router Redundancy Protocol - альтернативный открытый HSRP протокол. Работает точно так же, как и HSRP. Протокол использует адрес 224.0.0.18 и отправляет пакеты Hello c интервалом в 1 с. Активный маршрутизатор называется master, все остальные - backup. Кроме того, все backup слушают master. Preemtion уже включена по умолчанию.
Настройка идентична HSRP с небольшим отличием:
Для просмотра информации о работе и настройках:
GLBP, описание и настройка
Gateway Load Balancing Protocol - проприетарный протокол Cisco. В отличие от предыдущих протоколов позволяет еще и балансировать нагрузкой. Для этого создается группа из 4 активных маршрутизаторов, через которые и осуществляется балансировка.
Кто управляет процессом балансировки?
В начале происходят выборы, по итогам которых выбирается главный шлюз. Данное устройство называется Active Virtual Gateway, AVG. Затем выбираются еще 3 ведомых устройства, которые называются Active Virtual Forwarder, AVF.
Все роутеры группы, помимо общего виртуального IP адреса (VIP), имеют и индивидуальный виртуальный МАС адрес. Когда хост посылает ARP запрос с целью узнать МАС адрес шлюза, то AVG выдает один из виртуальных МАС адресов группы. Таким образом и осуществляется балансировка нагрузки.
На основе чего происходят выборы?
На основе приоритета (по умолчанию 100) или IP адреса, если приоритеты равны.
Виртуальный МАС адрес тоже надо вручную настраивать?
Нет, он настраивается автоматически и принимает значения 0007.b400.01xx, где хх означает номер AVG/AVF.
Что произойдет, если из строя выйдет AVG или AVF?
Его место займет резервный маршрутизатор. Все активные устройства обмениваются каждые 3 с Hello пакетами. Резервные роутеры тоже принимают пакеты и ждут своего часа. Если через 3 с пакет Hello не будет получен, то запустится Dead таймер, который равен 10 с. В качестве резервного (Standby) маршрутизатора выбирается один из AVF. Когда Standby шлюз становится Active, то снова выбирается Standby.
Какой IP адрес используется для обмена Hello пакетами?
224.0.0.102, UDP порт 3222.
По какому принципу AVG балансирует нагрузкой?
GLBP поддерживает 3 режима балансировки:
Round Robin (включен по умолчанию) - балансировка осуществляется равномерно между всеми устройствами.
Weighted - балансировка осуществляется по весу AVF. У кого больше вес тот и принимает большую нагрузку.
Host dependent - используется, когда определенным хостам требуется постоянный МАС шлюза.
Настройка схожа с настройкой протоколов HSRP/VRRP:
Уже после данной команды начнут работать балансировка нагрузки и резервирование. Следует помнить, что preemtion в AVG по умолчанию выключена, а на AVF - включена.
Для проверки работы и распределения ролей используй команды:
Как работает отслеживание WAN/Uplink интерфейса?
Отслеживание работает немного по-другому в отличие от HSRP/VRRP. Каждому интерфейсу AVF присваивается определенный вес (по умолчанию 100, максимум -254). Кроме того, устанавливаются нижний (lower) и верхний (upper) пороги весов. Когда GLBP обнаружит, что интерфейс WAN/Uplink недоступен, то уменьшит вес GLBP интерфейса на определенное значение (по умолчанию 10). То есть, если было 100, то после отказа линии станет 90. Если уменьшенное значение веса окажется ниже порога lower, то маршрутизатор теряет статус AVF и не участвует в балансировке нагрузки, а также не принимает участие в выборах. Если после того, как WAN/Uplink интерфейс восстановится, то восстановится и первоначальный вес GLBP интерфейса. Если этот вес окажется больше порога upper, то сможет снова стать AVF и принимать участие в выборах.
По умолчанию lower = 1, upper =100.
Для отслеживания состояния интерфейса используется специальный track объект. Данному объекту указывается номер и тип интерфейса, а также механизм запуска. После этого данный track объект привязывается к определенной GLBP группе. Поддерживаются 2 механизма запуска: состояние интерфейса на канальном уровне (line-protocol) и способность интерфейса передавать данные (ip routing).
То есть, если указать 1-й способ, то операционная система будет отслеживать состояние интерфейса на канальном и следовательно на физическом уровнях. Как только произойдет отказ интерфейса либо обрыв линии, то активируется механизм запуска и вес GLBP интерфейса уменьшится.
2-й способ отвечает за следующие состояния:
- Наличие IP адреса на интерфейсе. Это особенно актуально, если настроен DHCP клиент.
- Состояние интерфейса на канальном уровне
- Маршрутизация на интерфейсе. К примеру, у нас могут быть настроены виртуальные интерфейсы (Dialer, Tunnel). Сам канальный протокол может быть в состоянии UP, но маршрутизация не будет работать. В этом случае нам и сгодится данная опция отслеживания.
Попробуем настроить сначала 1-й способ.
Создаем трэкинг объект:
Затем определим вес самого AVF и его нижний и верхний пороги весов:
И привязываем трэкинг объект к GLBP группе c шагом уменьшения веса:
Теперь, выключив интерфейс на основном маршрутизаторе, через 30 секунд резервный шлюз изменит свой статус GLBP.
Для настройки 2-го способа достаточно в трэкинг объекте выбрать ip routing:
Читайте также: