The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка на маршрутизаторе Cisco распределения трафика по двум каналам (cisco balance route nat policy multilink cef)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: cisco, balance, route, nat, policy, multilink, cef,  (найти похожие документы)
From: Konstantin Mironov Date: Mon, 15 Jan 2010 17:02:14 +0000 (UTC) Subject: Настройка на маршрутизаторе Cisco распределения трафика по двум каналам Оригинал: http://blog.mironovs.com/2009/04/dva-provajdera/ Часто бывает так, что локальная сеть имеет два выхода в Internet, то есть двух провайдеров. Пусть это будут ISP1 и ISP2. Эти два канала можно использовать следующим образом: * одновременно использовать два канала для load-balancing * один канал основной, второй backup'ный второй канал можно использовать также двумя способами * использовать его при падении основного * при загрузке основного канала на Х% подключать backup'ный Если рассматривать вырожденный случай, когда провайдер один и два канала, то тут все просто. Надо прописать два маршрута по умолчанию одинаковыми метриками ip route 0.0.0.0 0.0.0.0 195.0.1.2 ip route 0.0.0.0 0.0.0.0 195.0.1.6 И соответственно если мы хотим сделать per-packet load-balancing, то на всех интерфейсах, которые соединяют нас с провайдером, ставим no ip route-cache, если же нужно per-destination, то на всех - ip route-cache. Заметьте, что если хотя бы на одном выходном интерфейсе используется NAT, то нельзя использовать per-packet, так как это приведет к пропаданию пакетов. Также применение policy routing выключает fast switching. Если ваша циска поддерживает cef (cisco express forwarding), то тогда для per-packet ip route-cache cef ip cef per-packet для per-destination ip route-cache cef ip cef per-destination можно также договорится с провайдером, и объединить два канала в один логический, используя ppp multilink. Если провайдеров - два, то они оба а общем случае, предоставляют вам по блоку адресов. Как их использовать? Разместить их за NAT'ом и скрыть топологию сети или использовать реальные адреса? Первое более просто реализовать и к томуже не будет потерян fast switching. Если рассматривать второе, то устройства, имеющие ip адреса первого провайдера, должны ходить через ISP1, а второго - через ISP2. Если упал канал второго провайдера, то устройства с ip адресами из блока второго провайдера не смогут выйти в Internet. Хорошо бы использовать первый канал, но ip адреса - не те. Надо использовать NAT. Если же выйдет из строя первый, то аналогично занатим и пустим через второго. Так как имеем в сети два блока адресов, то надо применять source-routing. Так как нам нужно определить source ip-адрес пакета, и в зависимости от этого, отправить его либо ISP1 либо ISP два. Если циска старая и ios ip only, то есть не поддерживает VLAN'ы на интерфейсе будет что-то типа ! interface Ethernet0 ip address 195.0.1.1 255.255.255.0 ip address 195.0.2.1 255.255.255.0 secondary ip nat inside ip policy route-map ISP ! если поддерживает ip plus и выше ! interface Ethernet0/0.1 encapsulation dot1Q 1 ip address 195.0.1.1 255.255.255.0 ip nat inside ip policy route-map ISP1 ! interface Ethernet0/0.2 encapsulation dot1Q 2 ip address 195.0.2.1 255.255.255.0 ip nat inside ip policy route-map ISP ! теперь разберемся с route-map'ами если вы решили разместить их за NAT'ом и скрыть топологию сети, то эту часть можно пропустить. Надо только обязательно включить fast switching, иначе работать не будет. В случае же когда используются реальные адреса, то если внутренний интерфейс не поддерживает VLAN, пишем следующее ! если это пакет локальный пакет, то пусть циска сама роутит... route-map ISP deny Local match ip address 100 ! если пакет с адресом из первого провайдера и канал up ! то отправляем его первому провайдеру route-map ISP permit 20 match ip address ISP1 set ip next-hop 194.16.0.5 ! если пакет с адресом из второго провайдера и канал up ! то отправляем его второму провайдеру route-map ISP permit 30 match ip address ISP2 set ip next-hop 194.16.0.9 ! если внутренний интерфейс поддерживает VLAN или внутренних интерфейсов два, то ! [skip] ! route-map ISP1 permit 20 match ip address ISP1 set ip next-hop 194.16.0.5 ! [skip] ! route-map ISP2 permit 20 match ip address ISP2 set ip next-hop 194.16.0.9 ! Local - это ACL, который ловит пакеты, source и destination адреса которых из блоков, предоставленных первым или вторым провайдером. ISP1 - это ACL, который ловит пакеты с source-адресами из блока, предоставленного ISP1 ISP2 - это ACL, который ловит пакеты с source-адресами из блока, предоставленного ISP2 ISP - это ACL, который ловит пакеты с source-адресами из блоков, предоставленных ISP1 и ISP2 и так: разобрались. Пакеты будут посланы на нужные интерфейсы. Теперь разбираемся с NAT'ом. Для NAT'а также нужно написать route-map. ! route-map ISP2-NAT permit 10 match ip address ISP1 match interface Serial0/1 ! route-map ISP1-NAT permit 10 match ip address ISP2 match interface Serial0/0 ! ! ISP1-pool - это пул ip-адресов, которые будут ! использованы при падении второго канала ip nat inside source route-map ISP1-NAT pool ISP1-pool overload ! ! ISP2-pool - это пул ip-адресов, которые будут ! использованы при падении первого канала ip nat inside source route-map ISP2-NAT pool ISP2-pool overload !

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, anonimouse (?), 14:02, 10/11/2011 [ответить]  
  • +/
    Немного не понял:
    interface Ethernet0/0.2
    ip policy route-map ISP не ISP2 ?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру