Блог им. hrundeloid → Настройка bgp для двух каналов

Задача — организовать подключение локальной сети через два интернет канала. Каналы предоставлены одним провайдером.
Для настойки двух каналов от одного провайдера используем протокол bgp, это позволяет обеспечить не только резервирование, но и балансировку трафика между каналами.
Схемка выглядит примерно так:


Первым делом настраиваем интерфейсы роутера. Каналы к нам приходят через агрегирующий коммутатор (его нет на схеме) и соответственно мы работаем с виртуальными интерфейсами роутера.


interface GigabitEthernet 0/0.100
 description to ISP 1
 encapsulation dot1q 100
 ip address 1.1.1.2 255.255.255.252

interface GigabitEthernet 0/0.200
 description to ISP 1
 encapsulation dot1q 200
 ip address 1.1.1.6 255.255.255.252


interface GigabitEthernet 0/1
 description to LAN
 ip address 192.168.100.1 255.255.255.0



Проверяем верность настройки каналов с провайдером по icmp. Соответственно адреса 1.1.1.1 и 1.1.1.5 должны быть доступны.
Теперь переходим к настройке NAT.


ip nat pool USERS 2.2.2.2 2.2.2.62 netmask 255.255.255.192
ip access-list extended FORNAT 
 permit ip 192.168.100.0 0.0.0.255 any
ip nat inside source list FORNAT pool USERS overload

interface GigabitEthernet 0/0.100
 ip nat outside

interface GigabitEthernet 0/0.200
 ip nat outside

interface GigabitEthernet 0/1
 ip nat inside



Так же делаем LoopBack интерфейс для сети, в которую мы транслируем адреса. Это нужно для объявления сети по bgp. Возможно это можно избежать, но без этого интерфейса у меня анонса на сеть не происходило.

Interface LoopBack 0
 ip addres 2.2.2.1 255.255.255.192


Ну а теперь собственно начинаем поднимать протокол bgp. Мы получили от провайдера номер нашей AS (64100) и AS самого провайдера — 9198. Первым делом создаем route map для входящих и исходящих анонсов.


ip prefix-list permit_outside seq 10 permit 2.2.2.0/26
ip prefix-list permit_default seq 10 permit 0.0.0.0/0

route-map PERMIT_DEFAULT permit 10
 set local-preference 100

route-map PERMIT_OUTSIDE permit 10
 match ip address prefix-list permit_outside


Затем поднимаем bgp процесс и анонсируем пользовательскую сеть.

router bgp 64100
 no synchronization
 bgp log-neighbor-changes
 network 2.2.2.0 mask 255.255.255.192
 
 neighbor GROUP peer-group
 neighbor GROUP route-map PERMIT_DEFAULT in
 neighbor GROUP route-map PERMIT_OUTSIDE out
 
 neighbor 1.1.1.1 remote-as 9198
 neighbor 1.1.1.1 peer-group GROUP
 neighbor 1.1.1.1 weight 100
 neighbor 1.1.1.5 remote-as 9198
 neighbor 1.1.1.5 peer-group GROUP
 neighbor 1.1.1.5 weight 100
 maximum-paths 2
 no auto-summary


Ну вот в принципе и все. Должно все работать. Команда maximum-paths 2 обеспечивает распределение трафика сразу по двум линкам для исходящего трафика, для распределения нагрузки входящего потока необходимо добиться соответствующих настроек на стороне провайдера.
Проверяем работу системы.
  • +1
  • 4

Комментарии (4)

RSS свернуть / развернуть
+
0
Как в домашних условиях можно распределить трафик между двумя каналами? Думаю в придачу к ADSL от КТ подключить еще локалку от другого провайдера.
+
0
На вскидку: если от локалки нужны только локальные ресурсы, то не проблема — все решается пропиской маршрутов на ресурсы локалки в нужный линк, а все остальное будет работать через adsl.
Ежели требуется полноценное деление интернет трафика, что это будет скорее всего что-то софтварное, способное раскидывать соединения между линками. Это надо гугль курить :)

ну и не забыть про безопасность при этом — видел случаи — когда вся локалка ходила в инет через беспечного «соседа».
+
0
Да, именно деление интернет-трафика. Хорошая мысль покурить гугла, хотя софтварное решение не прельщает как-то.
+
0
вот тут предлагают железки для этого. Но ничего сказать не могу — лично не трогал…

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.










Escort girls moscow
escort girls moscow
sweet-escort.ru