Балансировка траффика между двумя NAT на разных провайдерах на одном физическом роутере

от автора

При классической схеме подключения двух ISP к одному роутеру, есть возможность использовать сразу два канала для NATирования внутренних клиентов с балансировкой нагрузки, а не только для фейловера при отказе одного из провайдеров.

Осуществляется это следующим образом:

описание vrf для первого провайдера:

экспортируем нашу метку «100:0»,
импортируем метку из vrf второго провайдера «100:1»

ip vrf ISPA  rd 100:0  route-target export 100:0  route-target import 100:1 

описание vrf для второго провайдера:

экспортируем нашу метку «100:1»,
импортируем метку из vrf первого провайдера «100:0»

ip vrf ISPB  rd 100:1  route-target export 100:1  route-target import 100:0 

описание vrf для клиентской сети:

импортируем обе метки из vrf двух провайдеров «100:0» и «100:1»

ip vrf LAN  rd 100:100  route-target import 100:0  route-target import 100:1 

Настройка интерфейсов:

к первому провайдеру:

настраиваем правильный vrf

ip vrf forwarding ISPA

включаем нат

ip nat outside

interface FastEthernet0/0  ip vrf forwarding ISPA  ip address 50.0.0.1 255.0.0.0  ip nat outside 

ко второму провайдеру:

настраиваем правильный vrf

ip vrf forwarding ISPB

включаем нат

ip nat outside

interface FastEthernet1/0  ip vrf forwarding ISPB  ip address 60.0.0.1 255.0.0.0  ip nat outside 

интерфейс смотрящий в локальную сеть:

настраиваем правильный vrf

ip vrf forwarding LAN

включаем нат

 ip nat inside

interface FastEthernet1/1  ip vrf forwarding LAN  ip address 192.168.0.1 255.255.255.0  ip nat inside 
Маршруты по умолчанию к провайдерам:

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

ip route vrf ISPA 0.0.0.0 0.0.0.0 50.0.0.2 ip route vrf ISPB 0.0.0.0 0.0.0.0 60.0.0.2 
Настройка BGP для взаимной редистрибьюции маршрутов между vrf:

распространяем подключенные сети с интерфейсов:

redistribute connected

распространяем статические дефолтные маршруты к провайдерам:

  redistribute static   default-information originate

в клиентском vrf разрешаем распределение нагрузки:

maximum-paths 2

router bgp 65000  address-family ipv4 vrf ISPA   redistribute connected   redistribute static   default-information originate   address-family ipv4 vrf ISPB   redistribute connected   redistribute static   default-information originate   address-family ipv4 vrf LAN   redistribute connected   maximum-paths 2 
Правила для NAT:

включаем NAT на оба внешних интерфейса в клиентском vrf

ip nat inside source route-map A interface FastEthernet0/0 vrf LAN overload ip nat inside source route-map B interface FastEthernet1/0 vrf LAN overload 
Access list и route-map для правил NATирования:

используем route-map для двух целей:
— IOS не дал бы создать два разных правила NAT для одного access-list
— идентификация по исходяшему интерфейсу

route-map A permit 10  match ip address 1  match interface FastEthernet0/0  route-map B permit 10  match ip address 1  match interface FastEthernet1/0  access-list 1 permit 192.168.0.0 0.0.0.255 

Для проверки что балансировка маршрутов случилась, будем использовать команду traceroute:

R1#traceroute vrf  LAN 8.8.8.8 source fa 1/1 Type escape sequence to abort. Tracing the route to 8.8.8.8 VRF info: (vrf in name/id, vrf out name/id)   1 50.0.0.2 132 msec     60.0.0.2 44 msec     50.0.0.2 24 msec 

как видно из приходящих ответов отвечают два провайдера.

Таблица NAT после этих ответов подтверждает созданные соответствия:

R1#show ip nat translations Pro Inside global      Inside local       Outside local      Outside global udp 50.0.0.1:49162     192.168.0.1:49162  8.8.8.8:33434      8.8.8.8:33434 udp 60.0.0.1:49163     192.168.0.1:49163  8.8.8.8:33435      8.8.8.8:33435 udp 50.0.0.1:49164     192.168.0.1:49164  8.8.8.8:33436      8.8.8.8:33436 

Таблица маршрутизации для клиентского vrf выглядит следующим образом:

R1#show ip route vrf LAN  B*    0.0.0.0/0 [20/0] via 60.0.0.2 (ISPB), 00:00:20                 [20/0] via 50.0.0.2 (ISPA), 00:00:20       50.0.0.0/8 is variably subnetted, 2 subnets, 2 masks B        50.0.0.0/8 is directly connected (ISPA), 00:00:22, FastEthernet0/0 L        50.0.0.1/32 is directly connected, FastEthernet0/0       60.0.0.0/8 is variably subnetted, 2 subnets, 2 masks B        60.0.0.0/8 is directly connected (ISPB), 00:00:20, FastEthernet1/0 L        60.0.0.1/32 is directly connected, FastEthernet1/0       192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks C        192.168.0.0/24 is directly connected, FastEthernet1/1 L        192.168.0.1/32 is directly connected, FastEthernet1/1 

Всем спасибо за внимание, жду ваших комментариев.

ссылка на оригинал статьи http://habrahabr.ru/post/273813/


Комментарии

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

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