LINUX.ORG.RU
решено ФорумAdmin

Quagga 0.99.22.4 не распространяет аносны подключенной автономной системы и не работает route-map.

 ,


0

1

Есть автономная система 111111 BGP, подключенная с одной стороны к магистральному провайдеру 55555, а с другой стороны подключена AS 22222 клиента. на сервере запущена Quagga версии 0.99.22.4, квага собрана из исходников, но родная для дистра 0.99.15 вела себя также, операционка CentOS 6.7.

  • 111111 - моя AS
  • 111.111.111.0/23 - моя сеть
  • 22222 - AS клиента
  • 22.22.22.0/24 - сеть клиента
  • 55.55.55.55 - пир магистрала
  • 55555 - AS магистрала

bgpd сконфигурирован вот так:

router bgp 111111
 bgp router-id 111.111.111.0
 bgp log-neighbor-changes
 network 111.111.111.0/23
 redistribute connected
 redistribute static
 neighbor 55.55.55.55 remote-as 55555
 neighbor 55.55.55.55 description Uplink
 neighbor 55.55.55.55 soft-reconfiguration inbound
 neighbor 55.55.55.55 prefix-list pl_UPLINK out
 neighbor 11.11.11.33 remote-as 22222
 neighbor 11.11.11.33 description Client
 neighbor 11.11.11.33 next-hop-self
 neighbor 11.11.11.33 soft-reconfiguration inbound
 neighbor 11.11.11.33 prefix-list pl_AS_22222_IN in
!
ip prefix-list pl_AS_22222_IN seq 5 permit 22.22.22.0/24
ip prefix-list pl_RFC1918M seq 5 deny 0.0.0.0/0
ip prefix-list pl_RFC1918M seq 10 deny 10.0.0.0/8 le 32
ip prefix-list pl_RFC1918M seq 15 deny 127.0.0.0/8 le 32
ip prefix-list pl_RFC1918M seq 20 deny 169.240.0.0/12 le 32
ip prefix-list pl_RFC1918M seq 25 deny 172.16.0.0/12 le 32
ip prefix-list pl_RFC1918M seq 35 deny 192.168.0.0/16 le 32
ip prefix-list pl_RFC1918M seq 40 deny 224.0.0.0/3 le 32
ip prefix-list pl_UPLINK seq 5 permit 111.111.111.0/23
ip prefix-list pl_UPLINK seq 6 permit 22.22.22.0/24
ip prefix-list pl_UPLINK seq 20 deny 0.0.0.0/0
!
ip as-path access-list 1 permit .*
ip as-path access-list 2 permit .*
ip as-path access-list 3 permit ^(_22222)+$
!
route-map AS_22222_IN permit 10
 match as-path 3
 match ip address prefix-list pl_AS_22222_IN
!
route-map ISP_LOCAL_PREF150 permit 10
 match as-path 1
 set local-preference 150
!
route-map UPLINK permit 10
 match as-path 2
 match ip address prefix-list pl_UPLINK
!
ip forwarding
!
line vty
!
end

Я получаю анонсы от клиента, но они не передаются вышестоящему провайдеру. Когда я пробую назначить на вход или выход для соседа route-map, получаю полную фильтрацию маршрутов. На выходе для вышестоящего провайдера я вижу анонс только своей сети. Однако клиенту передаётся full-view от магистрала.

Помощь приветствуется.



Последнее исправление: invertor (всего исправлений: 2)

Однако клиенту передаётся full-view от магистрала.

То, что клиенту этот full-view передаётся, ничего не значит: одно дело туда, другое - оттуда. Квагга таблицу анонсов для пира может показать ? А то, может, магистрал фильтрует ?

AS ★★★★★
()
Ответ на: комментарий от AS

Тут ещё такой нюанс, AS клиента с данной подсетью анонсирована сейчас от магистрала, он конечно может и фильтрует, хотя договорённость об обратном, но мне казалось, что независимо от фильтрации вышестоящего, у меня OUT для пира должен показывать анонсы клиента, но

show ip bgp neighbors 55.55.55.55 advertised-routes
показывает:
# show ip bgp neighbors  55.55.55.55 advertised-routes  
BGP table version is 0, local router ID is 111.111.111.0
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Originating default network 0.0.0.0

   Network          Next Hop            Metric LocPrf Weight Path
*> 111.111.111.0/23 55.55.55.54            0         32768 i

Total number of prefixes 1

invertor
() автор топика
Ответ на: комментарий от AS

AS с подсетями объявлена от вышестоящего потому, что клиент ждёт когда можно будет переключиться на меня.

invertor
() автор топика
Ответ на: комментарий от invertor

что независимо от фильтрации вышестоящего, у меня OUT для пира должен показывать анонсы клиента

Да, должен. Потому и спросил, чтобы понятнее было, где копать. Значит, проблема локальная. 22.22.22.0/24 точно принимается и попадает в таблицу маршрутизации ?

AS ★★★★★
()
Ответ на: комментарий от AS

А вот то что я получаю от клиента:

# show ip bgp neighbors  111.111.111.33 received-routes  
BGP table version is 0, local router ID is 111.111.111.0
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 22.22.22.0/24  111.111.111.33          0             0 22222 i

Total number of prefixes 1

invertor
() автор топика
Ответ на: комментарий от invertor

Вроде, должно работать, на первый взгляд. Так...

AS с подсетями объявлена от вышестоящего

Вообще, символ * должен показывать лучший маршрут, но мало ли... show ip route 22.22.22.0/24 (или как там правильно) что показывает ? Потому как, если лучшим считается маршрут через аплинка, от тебя анонса быть туда не должно. Ну и ещё можно попробовать убрать кратковременно neighbor 55.55.55.55 prefix-list pl_UPLINK out (на случай, если что-то сломано; на вид-то всё нормально).

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Кстати говоря, принятые анонсы со стороны клиента в таблицу маршрутизации не попадают, я вижу его подсеть только со стороны магистрала. Хотя поидее должен видеть дублированные записи с * на действующих маршрутах. Что ещё может быть неправильно?

invertor
() автор топика
Ответ на: комментарий от AS
# show ip route  22.22.22.0/24
Routing entry for 22.22.22.0/24
  Known via "bgp", distance 20, metric 0, best
  Last update 00:43:32 ago
  * 55.55.55.55, via eth4.1532

Хотя анонс от клиента я получаю.

invertor
() автор топика
Ответ на: комментарий от invertor

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

Ну вот и причина отсутствия в таблице анонсов.

Что ещё может быть неправильно ?

Какие-то весовые коэффициенты так расставлены. Допустим, MED. Надо все цифры прилетающие проверить. Но, по идее, должно заработать, если анонс клиента пропадёт у магистрала.

AS ★★★★★
()
Ответ на: комментарий от invertor

Хотя анонс от клиента я получаю.

Ещё момент. А через магистрала чей анонс приходит ? Сам клиент через него анонсирует, или анонсирует магистрал от своей AS ? Потому как, если магистрал от своей, то это, видимо, должно считаться ошиброй, и что-то должно выбрасываться.

AS ★★★★★
()
Ответ на: комментарий от invertor

Сам клиент анонсирует со своей AS.

Тогда какие-то параметры анонсов влияют скорее всего. Можно попробовать его попросить убрать анонс к магистралу в качестве проверки.

AS ★★★★★
()
Ответ на: комментарий от AS

Проблема оказалась фундаментальней, соединение устанавливается двухстороннее, однако на моей стороне циклически истекает Hold Timer. Пока ещё не понял почему.

invertor
() автор топика
Ответ на: комментарий от AS

С hold таймаутом разобрались, пир - циска получала маршрут на стыковочную P2P сетку (посредством redistribute connected) и почему-то её это убивало. Однако маршруты попрежнему не акцептятся, попробовали снимать анонсы от магистрала, попробовали анонсировать уникальные сети, всё равно нет, Quagga больше не ругается, идёт обмен сообщениями между пирами. Как можно посмотреть параметры которые прилетают с анонсами?

invertor
() автор топика
Ответ на: комментарий от invertor

Как можно посмотреть параметры которые прилетают с анонсами?

С конкретными командами сложнее, у меня bgp сейчас только на JunOS есть. У Квагги только ospfd использую, а bgpd лет пять уже нет наверное, так что помню плохо, а посмотреть не на чем. Должно быть что-то в show ip bgp по идее. show ip bgp neighbors x.x.x.x received-routes может быть.

AS ★★★★★
()
Ответ на: комментарий от AS

В общем разобрался, ошибка была крайне глупая, о которой непросто даже подумать навскидку, всё просто P2P сетка, для пиригна с клиентом была неправильно сконфигурена и объявлена с маской .255 вместо .252 .

invertor
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.