четверг, 29 марта 2012 г.

VRRP пример 2

В первом примере было только отказоустойчивое решение, когда падал один роутер вся нагрузка переходила на резервный.
Часто нельзя позволить держать два мощных роутера и при этом задействовать по сути только один.
Как пример можно представить себе сеть с двумя группами хостов подключенных в разные коммутаторы.



Добавим к примеру 1 еще один виртуальный роутер с VRID 200.
Основные отличия от примера 1,это то что мы уже не будем использовать дополнительный виртуальный IP адрес 192.168.100.3
Виртуальными адресами роутеров будут их реальные адреса.
Так, для VRID 100 это будет ip адрес R1 192.168.100.1
для VRID 200 это будет ip адрес R2 192.168.100.2
принцип тотже, при падении R1 все пакеты идущие на 192.168.100.1 будут заворачиваться на R2.
Аналогично, при падении R2 все пакеты идущие на 192.168.100.2 будут заворачиваться на R1.


Настройка для R1:
[admin@MikroTik] > /ip address add address=192.168.100.1/24 interface=ether1
[admin@MikroTik] > /interface vrrp add interface=ether1 vrid=100 priority=250

[admin@MikroTik] > /interface vrrp add interface=ether1 vrid=200 priority=100
[admin@MikroTik] > /ip address add address=192.168.100.2/24 interface=vrrp2




Настройка для R2:
[admin@MikroTik] > /ip address add address=192.168.100.2/24 interface=ether1
[admin@MikroTik] > /interface vrrp add interface=ether1 vrid=100 priority=100


[admin@MikroTik] > /interface vrrp add interface=ether1 vrid=200 priority=254
[admin@MikroTik] > /ip address add address=192.168.100.1/24 interface=vrrp2

Получим :
R1
/interface vrrp print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup
0 RM name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:64 arp=enabled interface=ether1 vrid=100 priority=254
interval=1 preemption-mode=yes authentication=none password="" on-backup="" on-master=""

1 B name="vrrp2" mtu=1500 mac-address=00:00:5E:00:01:C8 arp=enabled interface=ether1 vrid=200 priority=100
interval=1 preemption-mode=yes authentication=none password="" on-backup="" on-master=""


R2

/interface vrrp print
Flags: X - disabled, I - invalid, R - running, M - master, B - backup
0 B name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:64 arp=enabled
interface=ether1 vrid=100 priority=100 interval=1 preemption-mode=yes
authentication=none password="" on-backup="" on-master=""

1 RM name="vrrp2" mtu=1500 mac-address=00:00:5E:00:01:C8 arp=enabled
interface=ether1 vrid=200 priority=254 interval=1 preemption-mode=yes
authentication=none password="" on-backup="" on-master=""

Видим, что MAC адреса вне зависимости от того, что используются реальные адреса прописанные на интерфейсах роутеров имеют вид присущий VRRP.
При пинге 192.168.100.1 разрешаться будет MAC приписанный интерфейсу, а при переключении на R2 будет уже разрешаться MAC адрес виртуального роутера.
До падения R1:

C:\Documents and Settings\Администратор>arp -a

Интерфейс: 192.168.100.10 --- 0x10003
IP-адрес Физический адрес Тип
192.168.136.1 00-50-56-c0-00-08 динамический

C:\Documents and Settings\Администратор>ping 192.168.100.1

Обмен пакетами с 192.168.100.1 по с 32 байт данных:

Ответ от 192.168.100.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.100.1: число байт=32 время<1мс TTL=64

Статистика Ping для 192.168.100.1:
Пакетов: отправлено = 2, получено = 2, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
Control-C
^C
C:\Documents and Settings\Администратор>arp -a

Интерфейс: 192.168.100.10 --- 0x10003
IP-адрес Физический адрес Тип
192.168.100.1 00-0c-29-4e-49-d5 динамический
192.168.136.1 00-50-56-c0-00-08 динамический


После падения R1:

C:\Documents and Settings\Администратор>ping 192.168.100.1

Обмен пакетами с 192.168.100.1 по с 32 байт данных:

Ответ от 192.168.100.1: число байт=32 время=2мс TTL=64
Ответ от 192.168.100.1: число байт=32 время<1мс TTL=64

Статистика Ping для 192.168.100.1:
Пакетов: отправлено = 2, получено = 2, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 2 мсек, Среднее = 1 мсек
Control-C
^C
C:\Documents and Settings\Администратор>arp -a

Интерфейс: 192.168.100.10 --- 0x10003
IP-адрес Физический адрес Тип
192.168.100.1 00-00-5e-00-01-64 динамический
192.168.100.2 00-0c-1b-2c-3d-4f динамический
192.168.136.1 00-50-56-c0-00-08 динамический


Ну, вроде все замечательно, имеем для виртуальных роутера из R1 и R2.
R1 является master для VRID 100 и backup для VRID 200
R2 является backup для VRID 100 и master для VRID 200
Таким образом если у половины хостов в сети шлюзом прописан R1, у другой R2, то помимо отказоустойчивости мы еще получим и "равномерную" нагрузку на оба роутера.
Для этого конечно можно пойти и прописать половине хостов один шлюз,другой половине другой. Долго не так ли?
Есть выход, использовать атрибуты DHCP. На первой картинке видно, что хосты подключены в разные свитчи, которые могут являться DHCP-relay.
В настройках DHCP сервера, можно каждому такому relay приписать свой пул выдаваемых адресов. Проще говоря, хосты подключенные к первому свитчу получат адреса из одного пула, а подключенные ко второму из другого.
При этом подсеть у них будет одна,главное чтобы области(пулы) не пересекались.

Комментариев нет:

Отправить комментарий