|
|
Николай Н (Cliff) ![[more]](/i/icons/more.gif) | 2010-07-28 00:20:24 |

Есть такая схема:
AS10 - AS20 - AS10
Более того, AS10 (оба крайних роутера) - это один и тот же девайс (cat4948), но во втором(правом) случае это отдельный vrf.
Нужно сделать так, чтобы правый-AS10 проанонсировал подсеть, этот префикс пробпросился бы до левого-AS10, чтобы в результате создался маршрут до этой подсети: слева направо. Т.е. мне надо связать динамически по BGP vrf и global на cat4948.
Есть ли вообще такой нормальный способ?
Скажу сразу, что штуки типа vrf leaking и т.п. на 4948 не работают. vrf и global связываются только через промежуточный хост.
Что я пробовал:
1. iBGP + отражатели (рефлектор). На AS20 (он есессно был тоже AS10? но сейчас для ясности называю его AS20) в сторону левого и/или правого соседа указывал route-reflector-client. Все вроде хорошо, маршрут пробрасывается, но почему-то AS20 упорно не хотел менять у маршрута next-hop, поэтому маршрут не применялся. Не помогал ни next-hop-self, ни update-source. Возможно потому, что в качестве AS20 выступает quagga(FreeBSD, поставить туда циску нет возможности) и это ее глюк, или так и должно быть...
2. различные AS (как указано на схеме), маршрут передается, но не принимается конечным пиром (правый AS10, который vrf). Т.е. он точно передается (смотрел adver), но не принимается. Я так понимаю, это потому, что этот конечный пир видит, что в eBGP приходит префикс, где в AS-PATH его же AS.
2а. В той же схеме 2 пробовал менять у правого AS10 номер AS через local-as, но это не помогло.
Рабочесть всех сессий проверял через анонсирование от AS20 своей тестовой сети. После изменения конфигов делал clear ip bgp * и видел, как анонсы полностью исчезали и появлялся префикс этой тестовой подсети на обоих AS10.
3. Еще поизучал конфидерации. Оно мне пригодится, но в рамках указанной схемы это не должно отличатся от варианта 2. Это я только завтра смогу проверить.

|
Николай Н (Cliff) ![[more]](/i/icons/more.gif) | 2010-07-28 00:23:10 |

Конфиги сессий самые тривиальные:
router bgp 10
bgp router-id 192.168.1.1
bgp log-neighbor-changes
neighbor 192.168.1.2 remote-as 20
neighbor 192.168.1.2 next-hop-self
neighbor 192.168.1.2 soft-reconfiguration inbound
остальные аналогично.

|
BorisB ![[more]](/i/icons/more.gif) | 2010-07-28 01:10:44 |

На том роутере которому нужно принять роут в AS_SET\ AS_SEQUENCE которого 1 раз встречается своя АС :
router bp "AS10"
bgp neighbor "AS20" allow-in 1
Это ?

|
Николай Н (Cliff) ![[more]](/i/icons/more.gif) | 2010-07-28 10:08:51 |

BorisB,
спасибо.. я этот вариант тоже пробовал (только не указывал 1 после allow-in), но в тот раз это почему-то не помогло.
Сейчас попробовал - и с 1, и без нее работает....
В любом случае - спасибо! :) Теперь наконец есть рабочий достаточно красивый вариант

|
Николай Н (Cliff) ![[more]](/i/icons/more.gif) | 2010-07-28 15:52:36 |

я тут еще поковырялся и обнаружил следующие особенности:
1. Если завернуть указанную схему в конфедерацию, то allow-in не работает. Хоть в мануале и сказано, что в этом случае iBGP ведет себя как eBGP, но тем не менее, этот флаг перестает работать, в статистике принимающего (крайнего, на схеме - любой AS10) нейбора в разделе "Local Policy Denied Prefixes:" появляется строчка AS_PATH Loops с ненулевыми значениями.
2. Появился еще один непонятный глюк... Схема усложняется до такого вида: AS10(glob) - AS20 - AS10(vrf) - ASxx
ASxx - это еще некий роутер, куда у меня есть только lg, что там и как настроено, мне неизвестно, скорее всего FreeBSD+bird.
Смысл в том, чтобы проанонсированная в AS10(blog) подсеть долетела до ASxx. В целом все работает, но почему-то AS10(vrf) не меняет next-hop у исходящих префиксов. Везде стоит next-hop-self, у всех анонсов в любую сторону next-hop меняется уже на стадии отправки (advertised-routes), кроме направления AS10(vrf) -> ASxx.
Смотрю так (на AS10): sh ip bgp vpnv4 vrf xxx nei "ASxx" adv
Более того, сам ASxx анонсирует ряд префиксов и они долетают до AS10(glob) в нужном виде.
Отличия настройки в сторону ASxx только одно - добавлено "prefix-list OUT out", где пропускается только несколько префиксов.
В рамках моей задачи это все не принципиально, но вот такие проблемы имеют место быть.

|
BorisB ![[more]](/i/icons/more.gif) | 2010-07-28 17:44:37 |

В случае конфедераций iBGP между AS конфедерации работает не совсем как eBGP, там есть несколько отличий, в частности, в AS_PATH автономные системы конфедерации содержаться не в AS_SEQUENCE сегменте а в AS_CONFED_SEQ, может быть allowas-in не умеет игнорировать этот сегмент. Не проверял, спасибо за замечание.

|
Алексей Гуляев (McLoud) ![[more]](/i/icons/more.gif) | 2010-07-29 17:51:29 |

Возможно не лучший пример, но искать сейчас некогда. Эта фича часто используется в carrier supporting carrier при BGP option A, в L3 VPN-ах со стыком CE-PE по BGP, ну и еще местами.

|
Всего сообщений: 8;
Показано с 1 по 8
|
|
|
|
Вернуться в форум
Руководство по пользованию форумом
Правила поведения в форуме
|