Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Общее описание

В настоящее время большинство крупных ЛВС строятся по схеме с маршрутизаторами в центре. В таких ЛВС обычно организуются виртуальные сети с маршрутизацией, предусмотрены избыточные связи между устройствами, установлен резервный центральный маршрутизатор. При кажущейся абсолютной надежности подобной структуры ее слабым звеном является именно центральный маршрутизатор. В случае выхода его из строя возможно несколько вариантов развития событий, требующих вмешательства системного администратора: настройка рабочих станций на работу с другим маршрутизатором в качестве шлюза, изменение конфигурации дублирующего сетевого устройства, установка дополнительного маршрутизатора или что-нибудь еще.

Сервер VRRP предназначен для ускорения процедуры восстановления работоспособности сети именно в описываемом случае. Фактически он обеспечивает процесс перехода “обязанностей” от одного устройства к другому при отказе первого. При использовании сервера VRRP резервный маршрутизатор включается в работу автоматически, и все заботы администратора сводятся лишь к ремонту вышедшего из строя устройства.

Каждый маршрутизатор, предназначенный для резервирования, должен войти в виртуальный маршрутизатор (VR). В пределах VR существует список IP адресов этого VR. В тот момент, когда какой-либо из маршрутизаторов берет на себя функции главного (в случае отказа последнего), он начинает «сопровождать» каждый из IP адресов из этого списка (т.е. отвечать ARP запросами и, если маршрутизатор имеет достаточный приоритет, брать на себя функции хоста с этими IP адресами).

VR идентифицируется своим идентификатором – числом в диапазоне 1…255 (VRID).

Таким образом, логика работы VRRP сервера заключается в следующем:

  1. На нескольких VRRP маршрутизаторах создаются VR, каждый из которых имеет равный VRID и идентичный список IP-адресов;
  2. из VRRP маршрутизаторов выбирается главный (режим "MASTER") все остальные становятся подчиненными маршрутизаторами (режим "BACKUP"); Маршрутизатор, выполняющий функции главного периодически рассылает специальные пакеты в пределах (производит перекличку). По наличию этих пакетов "BACKUP" маршрутизаторы судят о работоспособности "MASTER".
  3. при выходе из строя главного маршрутизатора (длительное время нет пакетов переклички от "MASTER") один из подчиненных становится главным и начинает обрабатывать пакеты, адресованные виртуальному маршрутизатору.

Выбор главного виртуального маршрутизатора производится автоматически: им становится маршрутизатор с наибольшим приоритетом или (при равенстве) с большим "Primary" IP-адресом сетевого интерфейса.

Полный синтаксис:

vrrp start|stop|dump

vrrp dump IFNAME:VRID

vrrp IFNAME:VRID [start|stop|clean|flush]

vrrp IFNAME:VRID [add]|delete IPADDRESS[/(MASK|MASKLEN)] …

vrrp IFNAME:VRID [-priority=[PRIO|own]] [-interval=AINT]

                                          [-(password|key)=[PASSWORD]]

                                          [-preempt=(on|off)] [-owner=[on|off]] [-learn=(on|off)]

                                          [-track=(off|default|IPADDRESS/MASKLEN)]

 

Описание команд

Запуск/остановка сервера

Синтаксис:

vrrp {start | stop}

Команда запускает или останавливает VRRP сервер.

Например,

vrrp start

Создание виртуального маршрутизатора

Синтаксис:

vrrp IFNAME:VRID add IPADDRESS[/{MASK|MASKLEN}] …

Команда создает на интерфейсе с именем "IFNAME" виртуальный маршрутизатор с идентификатором VRID. VRID – это число в диапазоне 1....255. Кроме того, команда добавляет указанный в параметрах IP адрес(а) в  список IP адресов VR. Ни один IP адрес VR не должен совпадать с первичным адресом (Primary IP-address) интерфейса, на котором он создан. VRRP сервер позволяет создавать несколько виртуальных маршрутизаторов на одном сетевом интерфейсе, но списки их IP адресов не должны пересекаться.

Например,

vrrp eth0:10 add 9.8.7.6/24

Запуск/остановка виртуального маршрутизатора

Синтаксис:

Vrrp IFNAME:VRID {start|stop}

Команда запускает/останавливает участие данного маршрутизатора в указанном виртуальном.

Например,

vrrp  eth0:10 start

Установка приоритета маршрутизатора

Синтаксис:

vrrp IFNAME:VRID -priority=[PRIO|own]

Команда устанавливает приоритет данного маршрутизатора в VR. Значение приоритета имеет диапазон 2…255. Приоритет маршрутизатора имеет значение при выборе главного в случае его отказа. При этом главным маршрутизатором выбирается маршрутизатор с наибольшим приоритетом.

Приоритет 255 имеет особое значение. Оно определяет, что данный маршрутизатор будет главным в пределах заданного VR. Главный маршрутизатор с таким приоритетом всегда является владельцем (owner) всех IP адресов VR.

Например,

vrrp eth0:10 –priority=200

Режим "owner"

Синтаксис:

vrrp IFNAME:VRID -owner=on|off

В режиме "owner" маршрутизатор является владельцем IP адресов VR вне зависимости от своего приоритета. Т.е. даже если в данный момент  маршрутизатор не выполняет функции главного, IP адреса VR присутствуют в списках IP адресов сетевого интерфейса, на котором создан данный VR. В то же время эти адреса находятся в «пассивном» состоянии. Т.е. на эти адреса маршрутизатор отвечать не будет до тех пор, пока к нему не перейдут функции главного (например, при отказе главного).

По умолчанию режим "owner" включен.

Например,

vrrp eth0:10 –owner=off

Режим преемственности

Синтаксис:

vrrp IFNAME:VRID –preempt=on|off

Если режим преемственности выключен, то, не смотря на свой приоритет, маршрутизатор никогда не возьмет на себя функции главного при наличии (работоспособности) других маршрутизаторов в составе VR.

По умолчанию преемственность включена.

Например,

vrrp eth0:10 –preempt=off

Режим мониторинга сети

Синтаксис:

vrrp IFNAME:VRID -track=(off|default|IPADDRESS/MASKLEN)

При включенном режиме мониторинга модуль VRRP следит за наличием маршрута на указанную IP сеть (IPADDRESS/MASKLEN), либо маршрута по умолчанию (default). При исчезновении маршрутной записи из системных таблиц, устройство переходит в режим "BACKUP".

Для отключения данного режима используется опция «off».

Например,

vrrp eth0:10 –track=default

Установка периода переклички

Синтаксис:

vrrp IFNAME:VRID -interval=AINT

Данная команда позволяет установить необходимый период переклички главного маршрутизатора. Значение параметра задается в секундах.

Маршрутизатор, выполняющий в текущий момент времени функции главного (MASTER), периодически сообщает об этом  другим маршрутизатором VR. По наличию этих сообщений другие (BACKUP) маршрутизаторы судят о работоспособности главного. Период этих сообщений по умолчанию равен одной секунде.

При установке другого значения этого параметра следует помнить, что у всех маршрутизаторов данного VR этот параметр должен быть одинаковым.

Например,

vrrp eth0:10 –interval=2

Режим самообучения

Синтаксис:

vrrp IFNAME:VRID –learn=on|off

Данный режим позволяет маршрутизатору накапливать список IP адресов VR в моменты, когда он не выполняет функции главного (в режиме "BACKUP"). Этот режим служит для упрощения конфигурирования VRRP серверов. Список IP адресов VR достаточно заполнить на одном маршрутизаторе – владельце IP адресов (с приоритетом 255). Остальным маршрутизатором достаточно создать VR с пустым списком IP адресов и в режиме самообучения.

Например,

vrrp eth0:10 –learn=on

Удаление VR

Синтаксис:

vrrp IFNAME:VRID clean

Команда удаляет заданный VR.

Например,

vrrp eth0:10 clean

Удаление IP адрес из списка VR

Синтаксис:

vrrp IFNAME:VRID delete IPADDRESS

Команда удаляет заданный IP адрес из списка VR.

Очистка списка IP адресов VR

Синтаксис:

vrrp IFNAME:VRID flush

Команда удаляет все IP адреса из списка VR.

Например,

vrrp eth0:10 flush

Авторизация VRRP

В соответствии с RFC 2338 VRRP сервер поддерживает два режима авторизации:

  • Простая парольная

  • IP Authentication Header

Включение этих схем авторизации производится соответственно двумя командами:

vrrp IFNAME:VRID –password=PASSWORD
vrrp IFNAME:VRID –key=PASSWORD

Как показывает опыт использования, никакая авторизация VRRP не может обеспечить полную безопасность VR. Этот факт был отражен в более позднем RFC 3768:

Отображение состояния VRRP сервера

Синтаксис:

vrrp dump

Команда распечатывает на экране текущее состояние сервера VRRP.

Например,

vrrp dump
VRRP interface:ID  Prio AInterval    Master IP     STATE       Time        Stop reason
================== ==== ========= =============== ======= ===============  ===========
          eth0:010 200o    001    192.168.15.50   BACKUP      0/0:0:3:000

Состояние VRRP сервера распечатывается в виде таблицы, состоящей из колонок:

  • "VRRP interface:ID" – отображает VR в виде "IFNAME:VRID"
  • "Prio" – отображает приоритет, который имеет данный маршрутизатор в данном VR. Если установлен режим owner, то после приоритета выводится маленькая буква "o"
  • "AInterval" – отображает установленный интервал переклички
  • "Master IP" – отображает primary IP адрес интерфейса маршрутизатора, который в данный момент выполняет функции главного (MASTER)
  • "STATE" – отображает текущее состояние маршрутизатора:
    • MASTER
    • BACKUP
    • STOP

Если у данного маршрутизатора включен режим самообучения, то перед состоянием печатается маленькая буква "l" (эль), например, lBACKUP

  • "Time" – отображает интервал времени, в течение которого маршрутизатор находится в режиме "STATE". Интервал представлен в виде ДНИ/ЧАСЫ:МИНУТЫ:СЕКУНДЫ:000
  • "Stop reason" – в случае невозможности продолжения работы, маршрутизатор останавливает работу в данном VR. Для данного VR маршрутизатор переходит в состояние "STOP". Данная колонка отображает причину отказа функционирования. Возможные причины остановки:
    • "Configuration conflict" – причиной остановки стал конфликт конфигурации VR. Данная ситуация случается, если разные VR на одном и том же интерфейсе имеют пересекающиеся списки IP адресов.
    • "IP Address list is empty" – не задано ни одного IP адреса.
    • "Interface has no primary IP address" – у интерфейса отсутствует или удален primary IP адрес.
    • "Interface is down" – интерфейс, на котором создан VR перешел в выключенное состояние (down).
  • No labels