здравствуйте. есть несколько аплинков, от которых приходит full-view и даунлинки, от которых приходят в анонсах только их сети. хочется, чтобы даунлинки маркерами комьюнити могли контролировать куда моя quagga-0.99.9 будет анонсировать их маршруты (как тут http://www.db.ripe.net/whois?form_type=simple&full_query_str... раздел "Communities for prefix control").например, по маске 5DNNA (D - destination of the prepend or deny action, NN - Upstream or peer number, A - action), 28832:52011 - анонсируется аплинку 01 с одним препендом или 28832:52010 - не анонсируется аплинку 01 или 28832:52023 - анонсируется аплинку 02 с тремя препендами или 28832:52991 - анонсируется всем аплинкам с одним препендом.
хочется пример конфига для quagga-0.99.9, чтобы это реализовать.
http://wiki.nag.ru/wiki/index.php/COMMUNITY
>http://wiki.nag.ru/wiki/index.php/COMMUNITYкрасиво и понятно. спасибо большое!
>http://wiki.nag.ru/wiki/index.php/COMMUNITYну вот, что-то родилось. посмотрите, плз, кто-нибудь на предмет ошибок, а то первый раз и живых клиентов жалко.
AS42219 - даунлинк, который должен выбирать хочет ли он анонсироваться и, если да, то куда;
AS29648 и AS28745 - аплинки.схема такая:
=== кусь ===
community 28832:1NNANN - Link:
01 - Southern Urals TransTelecom (AS28745)
02 - ComLine (AS29648)
99 - All UpstreamsA - action:
0 - don't announce prefix
1 - announce prefix
=== кусь ===конфиг bgp:
=== кусь ===
router bgp 28832
bgp router-id 92.43.184.1
bgp log-neighbor-changes
network 92.43.184.0/23
neighbor 62.165.36.213 remote-as 28745
neighbor 62.165.36.213 prefix-list AS28832-MAIN out
neighbor 62.165.36.213 route-map SUTTK_OUT out
neighbor 92.43.184.66 remote-as 42219
neighbor 92.43.184.66 prefix-list AS42219 in
neighbor 92.43.184.66 prefix-list AS28832-MAIN out
neighbor 92.43.184.66 route-map CYNET_IN in
neighbor 217.115.80.89 remote-as 29648
neighbor 217.115.80.89 ebgp-multihop 255
neighbor 217.115.80.89 prefix-list DENYALL out
neighbor 217.115.80.89 route-map ADD1PPND in
neighbor 217.115.94.149 remote-as 29648
neighbor 217.115.94.149 prefix-list AS28832-MAIN out
neighbor 217.115.94.149 route-map ADD1PPND in
neighbor 217.115.94.149 route-map COMLINE_OUT1PPND out
!
ip prefix-list AS28832-MAIN seq 10 permit 92.43.184.0/23
ip prefix-list AS28832-WITH-CUST seq 10 permit 92.43.184.0/23
ip prefix-list AS28832-WITH-CUST seq 20 permit 194.0.162.0/24
ip prefix-list AS42219 seq 10 permit 194.0.162.0/24
ip prefix-list DEFROU seq 10 deny 0.0.0.0/0 ge 31
ip prefix-list DEFROU seq 20 permit 0.0.0.0/0 le 32
ip prefix-list DENYALL seq 10 deny 0.0.0.0/0
ip prefix-list FULVIEW seq 10 permit 0.0.0.0/0
!
ip community-list expanded ALL_OFF permit _28832:1990_
ip community-list expanded ALL_ON permit _28832:1991_
ip community-list expanded COMLINE_OFF permit _28832:1020_
ip community-list expanded COMLINE_ON permit _28832:1021_
ip community-list expanded SUTTK_OFF permit _28832:1010_
ip community-list expanded SUTTK_ON permit _28832:1011_
!
route-map ADD4PPND permit 10
set as-path prepend 28832 28832 28832 28832
!
route-map ADD3PPND permit 10
set as-path prepend 28832 28832 28832
!
route-map ADD2PPND permit 10
set as-path prepend 28832 28832
!
route-map ADD1PPND permit 10
set as-path prepend 28832
!
route-map ADD10PPND permit 10
set as-path prepend 28832 28832 28832 28832 28832 28832 28832 28832 28832 28832
!
route-map ADD6PPND permit 10
set as-path prepend 28832 28832 28832 28832 28832 28832
!
route-map cline4ppnd203comm permit 10
set community 29648:203
set as-path prepend 28832 28832 28832 28832
!
route-map CYNET_IN permit 10
match community SUTTK_OFF
set community 28832:1010
!
route-map CYNET_IN permit 11
match community SUTTK_ON
set community 28832:1011
!
route-map CYNET_IN permit 12
match community COMLINE_OFF
set community 28832:1020
!
route-map CYNET_IN permit 13
match community COMLINE_ON
set community 28832:1021
!
route-map CYNET_IN permit 14
match community ALL_OFF
set community 28832:1990
!
route-map CYNET_IN permit 15
match community ALL_ON
set community 28832:1991
!
route-map CYNET_IN permit 25
set community 28832:1991
!
route-map SUTTK_OUT permit 10
match community SUTTK_ON
set comm-list SUTTK_ON delete
!
route-map SUTTK_OUT permit 11
match community ALL_ON
set comm-list ALL_ON delete
!
route-map SUTTK_OUT deny 20
match community SUTTK_OFF
!
route-map SUTTK_OUT deny 21
match community ALL_OFF
!
route-map COMLINE_OUT permit 10
match community COMLINE_ON
set comm-list COMLINE_ON delete
!
route-map COMLINE_OUT permit 11
match community ALL_ON
set comm-list ALL_ON delete
!
route-map COMLINE_OUT deny 20
match community COMLINE_OFF
!
route-map COMLINE_OUT deny 21
match community ALL_OFF
!
route-map COMLINE_OUT1PPND permit 10
match community COMLINE_ON
set comm-list COMLINE_ON delete
set as-path prepend 28832
!
route-map COMLINE_OUT1PPND permit 11
match community ALL_ON
set comm-list ALL_ON delete
set as-path prepend 28832
!
route-map COMLINE_OUT1PPND deny 20
match community COMLINE_OFF
!
route-map COMLINE_OUT1PPND deny 21
match community ALL_OFF
=== кусь ===
молодец, садись не ведро.