BGP между двумя AS на базе Cisco 1841

Posted by alex on May 13, 2011 in CISCO |

В этой статье расскажу о протоколе динамической маршрутизации BGP. Он применяется в больших подсетях, у интернет провайдеров. Так же может применятся, если у вас несколько провайдеров, и вы хотите, в случае пропадания одного из них, что интернет пошёл через другого. Здесь будет показано, как можно организовать быстро.

1) Поднятие bgp-сессии между 2-мя роутерами.

Напомню, что роутеры должны «друг друга видеть».

Заходим на router1 (ip=10.10.10.1, будем анонсировать сеть 172.16.0.0/24):

Теперь на router2 делаем аналогичное (а здесь будем анонсировать сеть 192.168.0.0/24):

Теперь заходим на любой из роутеров и смотрим состояние bgp:

а теперь зайдём на другой и посмотрим, что у нас там:

Если на этом этапе вы не видите анонсируемых подсетей, посмотрите внимательно информацию о соседе:

В этом выводе обратите внимание на BGP state, оно должно быть Established. Если что-то другое – значит где-то ошибка. Только состояние Established позволяет получать/принимать анонсы.

2) Настройка приоритетов пути.

Для того, что бы выбрать путь к хосту, роутер просматривает таблцицу маршрутизации и выбирает оптимальный путь. Если путей до хоста несколько, то роутер выбирает путь с наибольшим весом. Вес устанавливается для соседей, которые анонсируют одинаковые маршруты. По дефолту локальному машруту назначается вес 32768, а всем остальным 0. Что бы изменить вес делаем так:

Этим мы установили соседу 10.10.10.1 вес в 1000 на роутере router2. Смотрим что изменилось (предварительно добавив сеть 192.168.0.0/24 на роутере router1):

Видим, что вариантов для маршрута к сети 192.168.2.1/24 два: один локльный и один через 10.10.10.1. Скобка означает наилучший маршрут. Наилучшим выбран локальный, ибо у него вес больше. Попробуем изменить вес, например, на 40000 и посмотрим, как изменятся маршруты:

Примечание: обновление анонсов происходит раз 3 минуты (по дефолту). Что бы не ждать этого, принудительно очистим анонсы от соседа 10.10.10.1:

3) Списки доступа.

В 99% случаев, приходится ограничивать экспортируемость и приём анонсов. Дело в том, что принимать ото всех анонсы небезопасно! Так же не нужно анонсировать свои подсети всем, кому попало. Для этого существуют списки доступа. Их 2 вида: по номеру AS и по префиксу анонсированых подсетей. Рассмотрим оба примера.

– по префиксам AS

Здесь регулярное выражение задает шаблон, по которому будет срабатывать правило. Например, для ограничения по автономной системе 65004, выражение будет иметь вид ^65004$. Вместо permit может быть deny – соотвественно разрешить и запретить.

Это правило описывает лишь поведение bgp. Для того, что бы оно работало, нужно его применить к каким-нибудь neighbor:

например,

Здесь мы применяем фильтр с именем 5 к соседу 10.0.3.38, причём ключевое слово out – значит, что фильтр применяется к исходящим пакетам от нашего bgp к «соседу» 10.0.3.38. Так же может применятся слово in для входящих пакетов.

Пример:

В этом примере мы запрещаем анонсировать свои сети соседу 10.0.3.38.

– по адресам подсетей

Для этого используется следующая конструкция:

Сначала создаём ip prefix-list. Это так сказать набор правил (как в файерволе): что-то разрешаем, что-то запрещаем. Далее создаём route-map, в котором указываем нужный ip prefix-list. Здесь очень важно понять, что всё, что вы не разрешили – автоматически запрещается! Поэтому, если используете эти правила, то нужно явно разрешать (а лучше и явно запрещать) список принимамых или анонсируемых подсетей. И ещё одно: запретить или разрешить действие указывается именно в route-map. В ip prefix-list просто указывается, что данная подсеть принадлежит данному prefix-list’y.

Источник: http://skeletor.org.ua/

router1#sh ip bgp
BGP table version is 0, local router ID is 10.10.10.1
Status codes: s suppressed, d damped, h history, * valid, best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
* 192.168.0.0/24 10.10.10.2 0 2 i
* 172.16.0.0/24 0.0.0.0 0 32768 i

Copyright © 2018 Заметки по UNIX All rights reserved.
Desk Mess Mirrored v1.4.3.1 theme from BuyNowShop.com.