Quagga как RS, проблема с community.

Статическая и динамическая, протоколы

Quagga как RS, проблема с community.

Сообщение overhead » 13 май 2009, 12:32

Всем доброго времени суток.
Пытаюсь подстроить quagga в качестве RS.

Есть несколько клиентов и желание сделать фильтрацию префиксов с помощью комьюнити.
Задумано было так:
Все входящие анонсы обрезаются с помощью Prefix-list in, потом маркируются коммьюнити 100 (route-map customer-in import).
Далее все анонсы промаркированные комьюнити 100 отдаются всем участникам RS (route-map test-3 export)

Проблема состоит в том, что если кто то из участников RS отправляет например Full-view, на роут сервере видно что он принимает аонсы указанные в префикс листе, НО всем остальным участникам это Full-View благополучно падает в таблицу.

Quagga последней версии.
Конфиг выглядит так:

Код: Выделить всё
router bgp 64513 view RS
 bgp default local-preference 120
 neighbor 1.1.1.3 remote-as 64514
 neighbor 1.1.1.3 soft-reconfiguration inbound
 neighbor 1.1.1.3 route-server-client
 neighbor 1.1.1.3 prefix-list pl-AS64514-in in
 neighbor 1.1.1.3 route-map customer-in import
 neighbor 1.1.1.4 remote-as 65535
 neighbor 1.1.1.4 soft-reconfiguration inbound
 neighbor 1.1.1.4 route-server-client
 neighbor 1.1.1.4 prefix-list pl-65535-in in
 neighbor 1.1.1.4 route-map test3 export
!
ip prefix-list pl-65535-in seq 5 permit 192.168.0.0/16 le 24
ip prefix-list pl-65535-in seq 10 deny any
ip prefix-list pl-AS64514-in seq 5 permit 192.169.0.0/19
ip prefix-list pl-AS64514-in seq 10 deny any
!
ip community-list standard in-routes permit 64513:100
!
route-map customer-in permit 1
 set community 64513:100 additive
!
route-map test3 permit 1
 match community in-routes
!
line vty


Прошу Вашего совета, знатоки!
overhead
новичок
 
Сообщения: 5
Зарегистрирован: 13 май 2009, 12:06

Re: Quagga как RS, проблема с community.

Сообщение root » 13 май 2009, 13:23

а маршруты из full-view при этом помечены комъюнити 64513:100 или нет ?

на роут сервере машруты из full-view тоже получается попадают в таблу маршрутов

а ты пробовал поставить на клиента тока роут мапу, а префикс лист указать внутри роут мапы ?
вот так:
Код: Выделить всё
neighbor 1.1.1.3 remote-as 64514
neighbor 1.1.1.3 soft-reconfiguration inbound
neighbor 1.1.1.3 route-server-client
neighbor 1.1.1.3 route-map customer-AS64514-in in
!
ip prefix-list pl-AS64514-in seq 5 permit 192.169.0.0/19
!
route-map customer-AS64514-in permit 100
match ip address prefix-list pl-65535-in
set community 64513:100 additive
!
route-map customer-AS64514-in deny 200

и попробуй поменять "import" на "in", а "export" на "out"
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Quagga как RS, проблема с community.

Сообщение overhead » 13 май 2009, 13:26

Код: Выделить всё
neighbor 1.1.1.3 route-map customer-in import
neighbor 1.1.1.4 route-map test3 export


Замена этих строк на

Код: Выделить всё
neighbor 1.1.1.3 route-map customer-in in
neighbor 1.1.1.4 route-map test3 out

Привела к тому что участникам RS не анонсируется ни один префикс.

Входящий роут-мап работает - префиксы в комьюнити попадают правильно:

Код: Выделить всё
sh ip bgp community 64513:100
BGP table version is 0, local router ID is 213.183.32.2
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
*> 192.168.0.0/16 1.1.1.4 0 0 65535 i
*> 192.169.0.0/19 1.1.1.3 0 0 64514 i

Total number of prefixes 2
overhead
новичок
 
Сообщения: 5
Зарегистрирован: 13 май 2009, 12:06

Re: Quagga как RS, проблема с community.

Сообщение overhead » 13 май 2009, 13:36

Занесение match ip address prefix-list pl-65535-in в route-map ни к чему не приводит.Префиксы никто не получает.
overhead
новичок
 
Сообщения: 5
Зарегистрирован: 13 май 2009, 12:06

Re: Quagga как RS, проблема с community.

Сообщение root » 13 май 2009, 14:14

исходя из этого примера:
Код: Выделить всё
# Configuration for Route Server ('RS')
!
hostname RS
password ix
!
bgp multiple-instance
!
router bgp 65000 view RS
  no bgp default ipv4-unicast
  neighbor 2001:0DB8::A  remote-as 65001
  neighbor 2001:0DB8::B  remote-as 65002
  neighbor 2001:0DB8::C  remote-as 65003
!
  address-family ipv6
    neighbor 2001:0DB8::A activate
    neighbor 2001:0DB8::A route-server-client
    neighbor 2001:0DB8::A route-map RSCLIENT-A-IMPORT import
    neighbor 2001:0DB8::A route-map RSCLIENT-A-EXPORT export
    neighbor 2001:0DB8::A soft-reconfiguration inbound

    neighbor 2001:0DB8::B activate
    neighbor 2001:0DB8::B route-server-client
    neighbor 2001:0DB8::B route-map RSCLIENT-B-IMPORT import
    neighbor 2001:0DB8::B route-map RSCLIENT-B-EXPORT export
    neighbor 2001:0DB8::B soft-reconfiguration inbound

    neighbor 2001:0DB8::C activate
    neighbor 2001:0DB8::C route-server-client
    neighbor 2001:0DB8::C route-map RSCLIENT-C-IMPORT import
    neighbor 2001:0DB8::C route-map RSCLIENT-C-EXPORT export
    neighbor 2001:0DB8::C soft-reconfiguration inbound
  exit-address-family
!
ipv6 prefix-list COMMON-PREFIXES seq  5 permit 2001:0DB8:0000::/48 ge 64 le 64
ipv6 prefix-list COMMON-PREFIXES seq 10 deny any
!
ipv6 prefix-list PEER-A-PREFIXES seq  5 permit 2001:0DB8:AAAA::/48 ge 64 le 64
ipv6 prefix-list PEER-A-PREFIXES seq 10 deny any
!
ipv6 prefix-list PEER-B-PREFIXES seq  5 permit 2001:0DB8:BBBB::/48 ge 64 le 64
ipv6 prefix-list PEER-B-PREFIXES seq 10 deny any
!
ipv6 prefix-list PEER-C-PREFIXES seq  5 permit 2001:0DB8:CCCC::/48 ge 64 le 64
ipv6 prefix-list PEER-C-PREFIXES seq 10 deny any
!
route-map RSCLIENT-A-IMPORT permit 10
  match peer 2001:0DB8::B
  call A-IMPORT-FROM-B
route-map RSCLIENT-A-IMPORT permit 20
  match peer 2001:0DB8::C
  call A-IMPORT-FROM-C
!
route-map A-IMPORT-FROM-B permit 10
  match ipv6 address prefix-list COMMON-PREFIXES
  set metric 100
route-map A-IMPORT-FROM-B permit 20
  match ipv6 address prefix-list PEER-B-PREFIXES
  set community 65001:11111
!
route-map A-IMPORT-FROM-C permit 10
  match ipv6 address prefix-list COMMON-PREFIXES
  set metric 200
route-map A-IMPORT-FROM-C permit 20
  match ipv6 address prefix-list PEER-C-PREFIXES
  set community 65001:22222
!
route-map RSCLIENT-A-EXPORT permit 10
  match peer 2001:0DB8::B
  match ipv6 address prefix-list PEER-A-PREFIXES
route-map RSCLIENT-A-EXPORT permit 20
  match peer 2001:0DB8::C
  match ipv6 address prefix-list PEER-A-PREFIXES
!
...
...
...

получается, что действительно нужно пользовать "import" и "export"

overhead писал(а):Занесение match ip address prefix-list pl-65535-in в route-map ни к чему не приводит. Префиксы никто не получает.

даже если уже не in/out, а import/export ?
т.е. получаестя вот так:
Код: Выделить всё
neighbor 1.1.1.3 remote-as 64514
neighbor 1.1.1.3 soft-reconfiguration inbound
neighbor 1.1.1.3 route-server-client
neighbor 1.1.1.3 route-map customer-AS64514-in import
!
ip prefix-list pl-AS64514-in seq 5 permit 192.169.0.0/19
!
route-map customer-AS64514-in permit 100
match ip address prefix-list pl-65535-in
set community 64513:100 additive
!
route-map customer-AS64514-in deny 200


что кажет ?
Код: Выделить всё
show ip bgp neighbors Х.Х.Х.Х received-routes
show ip bgp neighbors Х.Х.Х.Х advertised-routes


попробуй ещё
Код: Выделить всё
set community 64513:100 additive

сократить до
Код: Выделить всё
set community 64513:100


ещё мысль
в роутмапе test3 укажи явный денай в конец:
Код: Выделить всё
route-map test3 deny 10
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Quagga как RS, проблема с community.

Сообщение overhead » 13 май 2009, 15:21

При измениении in и out на import и export перестают попадать маршруты в комьюнити.

show ip bgp neighbors Х.Х.Х.Х received-routes показывает любые маршурты отправленные пиром, в независимости от префикс листа, что правильно.

show ip bgp neighbors Х.Х.Х.Х advertised-routes - не показывает ничего и никогда, даже когда префиксы уходят.

Сокращение комьюнити до 100 не помогает.
overhead
новичок
 
Сообщения: 5
Зарегистрирован: 13 май 2009, 12:06

Re: Quagga как RS, проблема с community.

Сообщение root » 13 май 2009, 15:27

чудеса прям какие то
1. покажи полный измененный конфиг
2. какая все же версия quagga ? quagga-0.99.11_2 ?
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Quagga как RS, проблема с community.

Сообщение overhead » 13 май 2009, 16:22

Вообщем помогли люди.
Основная проблема с которй я пытался справится - прохождение лишних маршрутов через RS к клиенту.
Оказалось что реашется поставновкой роут-мапа - на export.
Вот такого вида:

route-map 65535-exp permit 10
match ip address prefix-list pl-65535-in

ip prefix-list pl-65535-in seq 5 permit 192.168.0.0/16 le 24
ip prefix-list pl-65535-in seq 10 deny any

После циски мне как то не пришло такое в голову, в любом случае всем спасибо за комментарии.
overhead
новичок
 
Сообщения: 5
Зарегистрирован: 13 май 2009, 12:06

Re: Quagga как RS, проблема с community.

Сообщение root » 14 май 2009, 08:01

так то конечно понятно что будет работать, но если посмотреть на маршрутку:
Код: Выделить всё
route-map test3 permit 1
match community in-routes

то она "говорит" о то что матчим маршруты с community 64513:100 и пермитим их, а дальше идет неявный deny и остальные маршруты не должны проходить
все равно интересно почему это не работало

получается что при каждом изменении анонсируемых префиксов тебе придется править роут мапы не тока на импорт, но и на экспорт
в случае с community реально было бы удобнее
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia


Вернуться в Маршрутизация / Routing

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron