quagga + blackhole

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

quagga + blackhole

Сообщение dzek » 27 июн 2013, 15:29

приветствую.

появилось пока желание сделать blackhole на тестовых машинах.
все bgpd на freebsd.

скажу сразу, пробовал по разному. в итоге зашел в тупик. конечный (и скорее всего кривой) конфиг.

связка простая.
bgp_AS65001 --> bgp_AS65000

Код: Выделить всё
hostname bgpd-AS65000
password 123
enable password 123
log file /var/log/quagga/bgpd.log
debug bgp updates
!bgp config-type cisco
!
router bgp 65000
 no synchronization
 bgp router-id 192.168.0.33
 bgp log-neighbor-changes
 network 192.168.1.0/24
 network 192.168.0.32/29
 no auto-summary
!
! neighbor 192.168.0.1 remote-as 64512
! neighbor 192.168.0.1 description LAN-UPLINK
! neighbor 192.168.0.1 ebgp-multihop 2
!
 neighbor 192.168.0.34 remote-as 65001
 neighbor 192.168.0.34 description LAN-DOWNLINK
 neighbor 192.168.0.34 ebgp-multihop 2
!
line vty
 exec-timeout 0 0
!


от кого идет анонс....
Код: Выделить всё
hostname AS65001
password 123
enable password 123
bgp config-type cisco
debug bgp updates
log file /var/log/quagga/bgpd.log
!
router bgp 65001
 bgp router-id 192.168.0.34
 redistribute static
 bgp log-neighbor-changes
 network 192.168.2.0/24
 network 192.168.0.40/29
 network 192.168.0.41/32
 network 192.168.0.42/32
 neighbor 192.168.0.33 remote-as 65000
 neighbor 192.168.0.33 description Uplink1-BGP1
 neighbor 192.168.0.33 interface de0
! neighbor 192.168.0.33 next-hop-self
! neighbor 192.168.0.33 send-community both - отправляется по умолчанию в quagga
 neighbor 192.168.0.33 distribute-list deny-any in
 neighbor 192.168.0.33 route-map uplink1-out out
!
access-list deny-any deny any
!
ip prefix-list blackhole1-list seq 1 permit 192.168.0.41/32
ip prefix-list blackhole1-list seq 1 permit 192.168.0.42/32
ip prefix-list blackhole1-list seq 9999 deny any
!
route-map uplink1-out permit 10
 match ip address prefix-list blackhole1-list
 set community 65000:80
 set ip next-hop 127.0.0.1
 set origin igp
 set community no-export
!
route-map uplink1-out permit 100
line vty


в конфиг bgpd-AS65000 добавлял, но не помогало...
Код: Выделить всё
 .....
 neighbor 192.168.0.34 route-map downlink1-in in
 .....
!
route-map downlink1-in permit 10
! match ip address prefix-list blackhole1-list
 match ip address all
 set community 65000:80
 set ip next-hop 127.0.0.1
!


сейчас в логах у bgpd-AS65000 ругается на "Attribute NEXT_HOP, parse error"
запутался...
dzek
новичок
 
Сообщения: 17
Зарегистрирован: 18 янв 2013, 13:53

Re: quagga + blackhole

Сообщение root » 28 июн 2013, 08:45

dzek писал(а):запутался

это видно исходя из конфигов.

Суть работы blackhole это когда одна AS отправляет другой AS маршрут с неким community. Принимающая сторона обрабатывает это community отправляя маршрут полученный с этим comminity в null0.
Смотрим что делаешь ты: вешаешь роутмапу downlink1-in на IN на AS65000 и матчишь в ней IP address и ещё сетишь комъюнити.

dzek писал(а):bgp_AS65001 --> bgp_AS65000

Раз AS65001 анонсит что то в сторону AS65000 и AS65000 должна обрабатывать blackhole, то по логике у тебя должно быть так:
- у AS65001 для нейбора 192.168.0.34 на OUT висит роутмапа, которая матчит нужные маршруты и сетит blackhole комъюнити на них.
- у AS65000 для нейбора 192.168.0.33 на IN висит роутмапа, которая матчит blackhole комъюнити и если оно найдено, то сетит "левый" next-hop.

Далее. У тя в роутмапа uplink1-out идет:
Код: Выделить всё
set community 65000:80
....
set community no-export

При таком конфиге получается что сначала сетится 65000:80, а потом это перезаписывается на no-export.
Должно быть тогда уж:
Код: Выделить всё
set community additive no-export

additive - ДОБАВИТ комъюнити к маршруту, а не заменит все комъюнити на данном маршруте. Прочти мануал:
    — Route Map: set community none
    — Route Map: set community community
    — Route Map: set community community additive
This command manipulate communities value in BGP updates. When none is specified as communities value, it removes entire communities attribute from BGP updates.
When community is not none, specified communities value is set to BGP updates.
If BGP updates already has BGP communities value, the existing BGP communities value is replaced with specified community value.
When additive keyword is specified, community is appended to the existing communities value.


Это:
Код: Выделить всё
 set ip next-hop 127.0.0.1
 set origin igp

из uplink1-out нужно удалить как ненужное
С уважением, root

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

Re: quagga + blackhole

Сообщение dzek » 01 окт 2013, 01:33

Код: Выделить всё
 bgpd.conf
...................
router bgp 65001
 no synchronization
 redistribute static
 bgp router-id 192.168.192.42
 bgp log-neighbor-changes
 network 192.168.1.0/24
 neighbor 192.168.192.41 remote-as 65000
 neighbor 192.168.192.41 description Uplink
 !neighbor 192.168.192.41 next-hop-self
 neighbor 192.168.192.41 distribute-list deny-any in
 neighbor 192.168.192.41 route-map blackhole-out out
 no auto-summary
!
access-list deny-any deny any
!
ip prefix-list blackhole-list seq 1 permit 192.168.1.100/32
ip prefix-list blackhole-list seq 9999 deny any
!
route-map blackhole-out permit 10
 match ip address prefix-list blackhole-list
 set community additive 65000:666
 !set ip next-hop 127.0.0.1
!
route-map blackhole-out permit 100
..................


Код: Выделить всё
65001# netstat -rn|grep 192.168.1.100
192.168.1.100      127.0.0.1          UH1B        0        0    lo0
65001#


Код: Выделить всё
65001# show ip bgp neighbor 192.168.192.41 adv
BGP table version is 0, local router ID is 192.168.192.42
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.1.0      192.168.19.192.42            0         32768 i
*> 192.168.1.100/32 192.168.192.42            0         32768 ?

Total number of prefixes 2
65001.#


локально он его в 0 отправил. т.к. он в зебре прописался
vtysh
Код: Выделить всё
conf t
ip prefix-list blackhole-list seq 1 permit IP/32
ip route IP/32 Null0



или
Код: Выделить всё
!
router bgp 65001
 no synchronization
 bgp router-id 192.168.192.42
 network 192.168.1.0/24
 redistribute static route-map blackhole-out
 neighbor 192.168.192.41 remote-as 65000
 neighbor 192.168.192.41 description PROBE
 neighbor 192.168.192.41 ebgp-multihop 8
 neighbor 192.168.192.41 update-source 192.168.192.42
 neighbor 192.168.192.41 soft-reconfiguration inbound
 neighbor 192.168.192.41 filter-list 1 in
 neighbor 192.168.192.41 send-community both
 no auto-summary
!
!
ip as-path access-list 1 deny .*
!
route-map blackhole-out permit 10
 match ip address prefix-list blackhole-list
 set ip next-hop 127.0.0.1
 set local-preference 10
 set community 65000:666 additive
!
! add BLACKHOLE
ip prefix-list blackhole-list seq 1 permit 192.168.1.100/32
!


аналогично, на аплинк 65000 ушел маршрут не локалхост а 192.168.19.42
dzek
новичок
 
Сообщения: 17
Зарегистрирован: 18 янв 2013, 13:53

Re: quagga + blackhole

Сообщение root » 03 окт 2013, 08:18

dzek писал(а): на аплинк 65000 ушел маршрут не локалхост а 192.168.19.42

AS65000 (192.168.192.41) получив маршрут от AS65001 установит next-hop`ом IP 192.168.192.42, т.к. 127.0.0.1 не принадлежит в сети 192.168.192.X
выставлять next-hop в 127.0.0.1 нужно в роут мапе на 192.168.192.41,а не на 192.168.192.42
на 192.168.192.41:
Код: Выделить всё
neighbor 192.168.192.42 route-map as-65000-in

Код: Выделить всё
ip community-list standard devnull permit 65000:666

Код: Выделить всё
route-map as-65000-in permit 100
 match community devnull
  set ip next-hop 127.0.0.1
route-map as-65000-in .....
С уважением, root

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


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

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

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

cron