Vrrp

[править] Настройка PBR

Основной объект с помощью которого настраивается PBR: route-map.

Route-map:

  • состоит из правил:
    • каждое из правил, указывает отправлять указанные пакеты по правилам PBR или нет
      • permit значит, что пакеты, которые попадают в описание match, буду отправлены так как описано в set
      • deny значит, что пакеты будут отправлены на стандартную маршрутизацию
  • В каждом правиле route-map два компонента:
    • match

      как правило, для PBR, используется в виде match ip address

      — описывает какой трафик должен маршрутизироваться согласно PBR

    • set

      как правило, для PBR, используется в виде set ip next-hop

      — описывает куда перенаправлять трафик, который описан в match

  • У каждого правила route-map есть порядковый номер
    • когда пакеты проходят сквозь интерфейс, к которому применена PBR, пакеты проверяются по порядку по правилам
    • если пакет совпал с описанием в match, то он маршрутизируется по правилу set
    • если пакет не совпал с описанием в match, правила проверяются дальше
    • если ни в одном правиле совпадения не найдено, то пакет будет маршрутизироваться по стандартной таблице маршрутизации

Пример настройки route-map:

route-map PBR permit 10
 match ip address VLAN_10
 set ip next-hop 10.0.1.1
route-map PBR permit 20
 match ip address VLAN_20
 set ip next-hop 10.0.2.2

Обратите внимание, что route-map могут использоваться в разных областях. Например:

как фильтры маршрутов

для настройки PBR

для настройки политик BGP

для NAT

На этой странице описание и использование route-map относится только к PBR

Смысл команд внутри route-map, в зависимости от области применения, может меняться. Поэтому, не все команды, которые доступны внутри route-map, относятся к настройкам PBR. Также, при чтении документации, нужно обращать внимание на то, к каком контексте используется route-map.

В этом смысле, route-map чем-то похожи на ACL. ACL также, в зависимости от области применения, может выполнять разные действия.

Для того чтобы, при получении трафика на интерфейсе, машрутизатор обрабатывал его не по обычным правилам, а использовал настройки маршрутизации на основе политик, необходимо применить команду ip policy:

router(config-if)# ip policy route-map <route-map-name>

Команда применяется на интерфейсе, который является входящим для трафика.

Настройка PBR с track

Когда PBR используется для того чтобы распределять трафик между различными провайдерами, трафик нужно не просто отправлять на определенный next-hop, но и проверять, работоспособен ли провайдер, через которого отправляется трафик.

Для проверки работоспособности используется комбинация IP SLA и Track.

Пример привязки трек к next-hop, для проверки доступности провайдера:

route-map POLICY permit 10
 match ip address odd
 set ip next-hop verify-availability 70.1.1.100 1 track 1
route-map POLICY permit 20
 match ip address even
 set ip next-hop verify-availability 80.1.1.100 2 track 2

Описание

Основная задача и предназначение данного протокола состоит в том, чтобы добиться практически 100% доступности и отказоустойчивости первого хопа от отправителя (также иногда называемый «маршрут по умолчанию» или «шлюз последней надежды»). Это достигается путём использования у двух или более маршрутизаторов или маршрутизирующих коммутаторов третьего уровня одного IP-адреса и MAC-адреса так называемого виртуального маршрутизатора. Такая группа называется HSRP-группой.

В терминологии HSRP-протокола существуют несколько основных понятий (терминов):

  • Активный маршрутизатор (Active Router) — маршрутизатор или маршрутизирующий коммутатор третьего уровня, выполняющий роль виртуального маршрутизатора и обеспечивающий пересылку пакетов из одной подсети в другую;
  • Резервный маршрутизатор (Standby Router) — маршрутизатор или маршрутизирующий коммутатор третьего уровня, выполняющий роль резервного виртуального маршрутизатора, ожидающего отказа активного маршрутизатора в рамках одной HSRP группы;
  • Группа резервирования (Standby Group) — группа маршрутизаторов или маршрутизирующих коммутаторов третьего уровня, которые являются членами одной HSRP-группы и обеспечивают работу и отказоустойчивость виртуального маршрутизатора;
  • Таймер приветствия (Hello Time) — промежуток времени, в течение которого маршрутизаторы или маршрутизирующие коммутаторы третьего уровня, находящиеся в рамках одной HSRP группы, ожидают пакеты приветствия (Hello Packet) от активного маршрутизатора;
  • Таймер удержания (Hold Time) — промежуток времени, по истечении которого резервный маршрутизатор посылает пакет, в котором содержится информация об отказе активного маршрутизатора, тем самым осуществляет приоритетное прерывание в группе и берет на себя роль активного маршрутизатора.

Verification:

Show standby Command Output for the R1 and R2:This command showsA) Router R1:1) Active router2) Virtual IP: 192.168.1.13) Virtual MAC address: 0000.0c07.ac014) Priority: 1055) Preemption is on6) Tracking Serial0/0, If interface S0/0 state goes down Priority will decrease by 10 i.e. 95B) Router R2:1) Standby router2) Virtual IP: 192.168.1.13) Virtual MAC address: 0000.0c07.ac014) Priority: 1005) Preemption is on6) Tracking Serial0/0, if interface S0/0 state goes down Priority will decrease by 10 i.e. 90

R1#sh standby

FastEthernet0/0 — Group 1

  State is Active

    2 state changes, last state change 00:02:43

  Virtual IP address is 192.168.1.1

  Active virtual MAC address is 0000.0c07.ac01

    Local virtual MAC address is 0000.0c07.ac01 (v1 default)

  Hello time 3 sec, hold time 10 sec

    Next hello sent in 2.052 secs

  Preemption enabled

  Active router is local

  Standby router is 192.168.1.3, priority 100 (expires in 7.452 sec)

  Priority 105 (configured 105)

    Track interface Serial0/0 state Up decrement 10

  Group name is «hsrp-Fa0/0-1» (default)

R2#sh standby

FastEthernet0/0 — Group 1

  State is Standby

    1 state change, last state change 00:01:34

  Virtual IP address is 192.168.1.1

  Active virtual MAC address is 0000.0c07.ac01

    Local virtual MAC address is 0000.0c07.ac01 (v1 default)

  Hello time 3 sec, hold time 10 sec

    Next hello sent in 1.408 secs

  Preemption enabled

  Active router is 192.168.1.2, priority 105 (expires in 7.068 sec)

  Standby router is local

  Priority 100 (default 100)

    Track interface Serial0/0 state Up decrement 10

  Group name is «hsrp-Fa0/0-1» (default)

Shutting down R1’s WAN interface S0/0:

R1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#int s0/0

R1(config-if)#sh

R1(config-if)#

*Mar  1 00:11:55.811: %TRACKING-5-STATE: 1 interface Se0/0 line-protocol Up->Down

*Mar  1 00:11:56.507: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Speak

R1(config-if)#

*Mar  1 00:11:57.811: %LINK-5-CHANGED: Interface Serial0/0, changed state to administratively down

*Mar  1 00:11:58.811: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down

R1(config-if)#

*Mar  1 00:12:06.507: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby

R1#sh standby

FastEthernet0/0 — Group 1

  State is Standby

    4 state changes, last state change 00:00:41

  Virtual IP address is 192.168.1.1

  Active virtual MAC address is 0000.0c07.ac01

    Local virtual MAC address is 0000.0c07.ac01 (v1 default)

  Hello time 3 sec, hold time 10 sec

    Next hello sent in 0.132 secs

  Preemption enabled

  Active router is 192.168.1.3, priority 100 (expires in 9.088 sec)

  Standby router is local

  Priority 95 (configured 105)

    Track interface Serial0/0 state Down decrement 10

  Group name is «hsrp-Fa0/0-1» (default)

R2#

*Mar  1 00:11:55.059: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

R2#sh standby

FastEthernet0/0 — Group 1

  State is Active

    2 state changes, last state change 00:00:35

  Virtual IP address is 192.168.1.1

  Active virtual MAC address is 0000.0c07.ac01

    Local virtual MAC address is 0000.0c07.ac01 (v1 default)

  Hello time 3 sec, hold time 10 sec

    Next hello sent in 0.712 secs

  Preemption enabled

  Active router is local

  Standby router is 192.168.1.2, priority 95 (expires in 8.804 sec)

  Priority 100 (default 100)

    Track interface Serial0/0 state Up decrement 10

  Group name is «hsrp-Fa0/0-1» (default)

As soon as R1’s interface S0/0 goes down,it’s group 1 priority reduce by 10 number i.e.to 95.R2 reads this value from the priority field of hello packet and becomes active router as its own priority is higher than R1 i.e.100.

Property reference

Sub-menu:

Property Description
arp (disabled | enabled | proxy-arp | reply-only; Default: enabled) ARP resolution protocol mode
authentication (ah | none | simple; Default: none) Authentication method to use for VRRP advertisement packets.

  • none — should be used only in low security networks (e.g., two VRRP nodes on LAN).
  • ah — IP Authentication Header. This algorithm provides strong protection against configuration errors, replay attacks and packet corruption/modification. Recommended when there is limited control over the administration of nodes on a LAN.
  • simple — uses clear text password. Protects against accidental misconfiguration of routers on local network.
interface (string; Default: ) Interface name on which VRRP instance will be running
interval (time ; Default: 1s) VRRP update interval in seconds. Defines how often master sends advertisement packets.
mtu (integer; Default: 1500) Layer3 MTU size
name (string; Default: ) VRRP interface name
on-backup (string; Default: ) Script to execute when the node is switched to backup state
on-master (string; Default: ) Script to execute when the node is switched to master state
password (string; Default: ) Password required for authentication. Can be ignored if authentication is not used.
preemption-mode (yes | no; Default: yes) Whether master node always has the priority. When set to ‘no’ backup node will not be elected to be a master until the current master fails, even if the backup node has higher priority than the current master. This setting is ignored if becomes available
priority (integer: 1..254; Default: 100) Priority of VRRP node used in Master election algorithm. Higher number means higher priority. ‘255’ is reserved to Router that owns VR IP and ‘0’ is reserved for Master router to indicate that it is releasing responsibility.
v3-protocol (ipv4 | ipv6; Default: ipv4) Protocol that will be used by VRRPv3. Valid only if version is 3
version (integer ; Default: 3) Which VRRP version to use.
vrid (integer: 1..255; Default: 1) Virtual Router identifier. Each Virtual router must have unique id number

There are two ways to add scripts to on-backup and on-master

  • specify scripts name added to
  • write script directly by putting it in scopes ‘{ }’.

Описание протокола, формат пакета и возможных состояний

HSRP протокол реализован поверх стека протоколов TCP/IP, для доставки служебной информации используется протокол UDP. Маршрутизаторы или маршрутизирующие коммутаторы, на которых сконфигурирован и функционирует протокол HSRP, в рамках обмена служебной информацией используют так называемые пакеты приветствия (hello packets). В свою очередь, данные пакеты отправляются на IP-адрес групповой рассылки (multicast) 224.0.0.2 (HSRP Version 1) или на 224.0.0.102 (HSRP Version 2) по протоколу UDP на порт 1985.

Структура пакета
7 15 23
Version Type Virtual Rtr ID Priority Count IP Addrs
Auth Type Advet Int Checksum
IP Address (1)
IP Address (n)
Authentication Data (1)
Authentication Data (2)

Basic configuration Example:

In this scenario, on site A multiple clients reside on the fast Ethernet segment of 198.168.1.0/24. All the clients need access to Servers on Site BHSRP will provide the clients with uninterrupted access to servers of site B. To accomplish this, R1 is selected as the primary router, and R2 is the secondary router. You need to use 192.168.1.1 as the virtual IP address between the two routers. To provide redundancy, you also need to track the serial interfaces. By tracking on the serial interface, you can force R2 to become the primary if the R1’s link to ISP fail.When tracking is used, two potential situations can cause R2 to become the primary router.1) The loss of the connection to R1, such as physical loss to the Fast Ethernet port on R1.2) The loss of physical connectivity between R1 and ISP

Configuring VRRP

IPv4

Setting up Virtual Router is quite easy, only two actions are required — create vrrp interface and set Virtual Routers IP address.

For example, add vrrp to ether1 and set VRs address to 192.168.1.1

/interface vrrp add name=vrrp1 interface=ether1
/ip address add address=192.168.1.1/32 interface=vrrp1

Notice that only ‘interface’ parameter was specified when adding vrrp. It is the only parameter required to be set manually, if not specified will be set to their defaults: and .

Note: address on VRRP interface must have /32 netmask if address configured on VRRP is from the same subnet as on router’s any other interface.

Before VRRP can operate correctly correct IP address is required on ether1. In this example it is

VRRP Examples section contains several configuration examples.

IPv6

To make VRRP work in IPv6 networks, several additional options must be enabled — v3 support is required and protocol type should be set to IPv6:

/interface vrrp add name=vrrp1 interface=ether1 version=3 v3-protocol=ipv6

Now when VRRP interface is set, we can add global address and enable ND advertisement:

/ipv6 address add address=FEC0:0:0:FFFF::1/64 advertise=yes interface=vrrp1

No additional address configuration is required as it is in IPv4 case. IPv6 uses link-local addresses to communicate between nodes.

[править] Настройка на маршрутизаторах Cisco

Пример топологии

Включение GLBP на интерфейсе

Режим preempt

В GLBP есть два режима preempt:

  • для AVG — по умолчанию отключен,
  • для AVF — по умолчанию включен, с задержкой 30 секунд.

По умолчанию режим preempt для AVG отключен. То есть, backup virtual gateway может стать AVG только если текущий AVG выйдет из строя.

Включение режима preempt для AVG:

dyn1(config-if)# glbp 1 preempt

Включение режима preempt для AVF:

dyn1(config-if)# glbp 1 forwarder preempt  

Балансировка нагрузки между маршрутизаторами

Настройка метода балансировки нагрузки между маршрутизаторами (по умолчанию round-robin):

dyn1(config-if)# glbp 1 load-balancing <host-dependent | round-robin | weighted>

Изменение метода балансировки нагрузки:

dyn1(config-if)# glbp 1 load-balancing host-dependent  

Отключение балансировки нагрузки:

dyn1(config-if)# no glbp 1 load-balancing  

Настройка таймеров

Настройка интервала между отправкой AVG сообщений hello в группе GLBP:

dyn1(config-if)# glbp <group> timers  <hellotime>  <holdtime>
dyn1(config-if)# glbp <group> timers redirect <redirect> <timeout>

Параметры команды:

  • redirect — настраивает интервал в течении которого AVG продолжает перенаправлять клиентов AVF. По умолчанию 600 секунд (10 минут).
  • timeout — указывает интервал в секундах до того как secondary virtual forwarder станет invalid. По умолчанию 14,400 секунд (4 часа).

Хотя диапазон значений параметра redirect позволяет использовать значение 0, фактически оно не должно использоваться. Это приведет к тому, что таймер redirect никогда не истечет и, в случае выхода из строя маршрутизатора, хосты всё равно будут отправляться на него.

Object Tracking

dyn1(config)# track 1 interface FastEthernet1/0 line-protocol

Указание объекта, который будет влиять на вес GLBP, если интерфейс выключается, то вес уменьшается на 11 (по умолчанию на 10):

dyn1(config-if)# glbp 1 weighting track 1 decrement 11

Настройка пороговых значений веса, которые регулируют будет ли маршрутизатор выполнять роль GLBP gateway.
Для данного примера, начальное значение 200. Если интерфейс fa1/0 выключается, то значение становится 189.
Так как оно меньше, чем значение lower, то маршрутизатор не может выполнять роль active forwarder. Когда интерфейс включится, то значение станет снова 200. Так как это больше чем значение upper, то маршрутизатор снова становится active forwarder:

dyn1(config-if)# glbp 1 weighting 200 lower 192 upper 195

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

GLBP Client Cache

По умолчанию функция GLBP Client Cache отключена.
После включения функции AVG начинает сохранять у себя информацию о том какие хосты используют какой gateway.

Включение GLBP Client Cache:

dyn1(config-if)# glbp 1 client-cache

Просмотр информации о GLBP Client Cache (хранится только на AVG):

dyn1# show glbp detail

Просмотр информации

Просмотр краткой информации о группах:

dyn1# show glbp brief 
Interface   Grp  Fwd Pri State    Address         Active router   Standby router
Fa0/0       1    -   200 Active   192.168.1.100   local           192.168.1.3
Fa0/0       1    1   -   Active   0007.b400.0101  local           -
Fa0/0       1    2   -   Listen   0007.b400.0102  192.168.1.3     -

Просмотр информации о всех включенных группах GLBP:

dyn1# show glbp
FastEthernet0/0 - Group 1
  State is Active
    2 state changes, last state change 08:46:44
  Virtual IP address is 192.168.1.100
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 1.136 secs
  Redirect time 600 sec, forwarder time-out 14400 sec
  Authentication text "Cisco"
  Preemption enabled, min delay 0 sec
  Active is local
  Standby is 192.168.1.3, priority 100 (expires in 9.948 sec)
  Priority 200 (configured)
  Weighting 200 (configured 200), thresholds: lower 190, upper 195
    Track object 1 state Up decrement 6
  Load balancing: host-dependent
  Group members:
    0016.3e01.0001 (192.168.1.1) local
    0016.3e01.0201 (192.168.1.3)
  There are 2 forwarders (1 active)
  Forwarder 1
    State is Active
      1 state change, last state change 08:46:34
    MAC address is 0007.b400.0101 (default)
    Owner ID is 0016.3e01.0001
    Redirection enabled
    Preemption enabled, min delay 30 sec
    Active is local, weighting 200
  Forwarder 2
    State is Listen
      2 state changes, last state change 08:42:08
    MAC address is 0007.b400.0102 (learnt)
    Owner ID is 0016.3e01.0201
    Redirection enabled, 599.036 sec remaining (maximum 600 sec)
    Time to live: 14399.036 sec (maximum 14400 sec)
    Preemption enabled, min delay 30 sec
    Active is 192.168.1.3 (primary), weighting 100 (expires in 9.032 sec)

Summary

Sub-menu level: Standards:

This chapter describes the Virtual Router Redundancy Protocol (VRRP) support in RouterOS.

Mostly on larger LANs dynamic routing protocols ( OSPF or RIP) are used, however there are number of factors that may make undesirable to use dynamic routing protocols. One alternative is to use static routing, but if statically configured first hop fails, then host will not be able to communicate with other hosts.

In IPv6 networks, hosts learn about routers by receiving Router Advertisements used by Neighbor Discovery (ND) protocol. ND already has built in mechanism to determine unreachable routers. However it can take up to 38seconds to detect unreachable router. It is possible to change parameters and make detection faster, but it will increase overhead of ND traffic especially if there are a lot of hosts. VRRP allows to detect unreachable router within 3seconds without additional traffic overhead.

Virtual Router Redundancy Protocol (VRRP) provides a solution by combining number of routers into logical group called Virtual Router (VR). VRRP implementation in RouterOS is compliant to VRRPv2 RFC 3768 and VRRPv3 RFC 5798.

Note: According to RFC authentication is deprecated for VRRP v3

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *