Перейти к содержимому
Калькуляторы

BGP black hole - проблемы в работе

На маршрутизаторе произведена настройка для возможности blackhole'а маршрутов, анонсируемых клиентами.

router bgp 65100
neighbor 10.11.11.236 remote-as 65200
neighbor 10.11.11.236 ebgp-multihop 2
neighbor 10.11.11.236 version 4
!
address-family ipv4
 neighbor 10.11.11.236 activate
 neighbor 10.11.11.236 send-community both
 neighbor 10.11.11.236 route-map TEST-IN in
 neighbor 10.11.11.236 route-map TEST-OUT out


route-map TEST-IN permit 10
match community BLACKHOLE
set community no-export additive
set ip next-hop 10.6.6.6

ip route 10.6.6.6 255.255.255.255 Null0

 

Клиент анонсирует маршрут с необходимым community, но я его вижу так

#sh ip bgp 172.16.16.0/24
BGP routing table entry for 172.16.16.0/24, version 2831499
 Not advertised to any peer
 65200
   10.6.6.6 (inaccessible) from 10.11.11.236 (10.11.11.236)
     Origin IGP, metric 0, localpref 100, valid, external
     Community: 65100:6666 no-export

 

То есть, роутер видит hext-hop как inaccessible, хотя указано neighbor 10.11.11.236 ebgp-multihop 2. Увеличение ebgp-multihop до 255 и/или disable-connected-check также не дает результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На маршрутизаторе произведена настройка для возможности blackhole'а маршрутов, анонсируемых клиентами.

router bgp 65100
neighbor 10.11.11.236 remote-as 65200
neighbor 10.11.11.236 ebgp-multihop 2
neighbor 10.11.11.236 version 4
!
address-family ipv4
 neighbor 10.11.11.236 activate
 neighbor 10.11.11.236 send-community both
 neighbor 10.11.11.236 route-map TEST-IN in
 neighbor 10.11.11.236 route-map TEST-OUT out


route-map TEST-IN permit 10
match community BLACKHOLE
set community no-export additive
set ip next-hop 10.6.6.6 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

ip route 10.6.6.6 255.255.255.255 Null0

 

Клиент анонсирует маршрут с необходимым community, но я его вижу так

#sh ip bgp 172.16.16.0/24
BGP routing table entry for 172.16.16.0/24, version 2831499
 Not advertised to any peer
 65200
   10.6.6.6 (inaccessible) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
from 10.11.11.236 (10.11.11.236)
     Origin IGP, metric 0, localpref 100, valid, external
     Community: 65100:6666 no-export

 

То есть, роутер видит hext-hop как inaccessible, хотя указано neighbor 10.11.11.236 ebgp-multihop 2. Увеличение ebgp-multihop до 255 и/или disable-connected-check также не дает результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это понятно, но вот почему так получается? Вот в этом вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это понятно, но вот почему так получается? Вот в этом вопрос.

а что ожидали от: ip route 10.6.6.6 255.255.255.255 Null0?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хорошо. Тогда возможно я чего-то не понимаю. Трафик, адресованный на указанный префикс, "сливается" на интерфейс Null0, то есть в черную дыру.

Адрес 10.6.6.6 достижим через интерфейс Null0, интерфейс поднят и доступен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подниму старую тему. Встретился с такой же проблемой, как у dovecot. Как побороть "inaccessible", т.к. с ним механизм blackhole не работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подниму старую тему. Встретился с такой же проблемой, как у dovecot. Как побороть "inaccessible", т.к. с ним механизм blackhole не работает?

 

Надо правильно next-hop выставлять и не будет проблем со связностью таких маршрутов.

Обычно используется локалхост граничных маршрутизаторов, чтоб локализовывать "запрещенный" траффик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vlad11, я буду премного благодарен, как и многие другие форумчане, если будет раскрыт этот правильный способ выставления next-hop. На примере ТС, что неверно, подскажи, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо правильно next-hop выставлять и не будет проблем со связностью таких маршрутов.

:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вместо

set ip next-hop 10.6.6.6

Используйте

set ip next-hop 127.0.0.1

 

Иногда читайте вдумчиво мануалы, раз не осилили профильную литературу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вместо

set ip next-hop 10.6.6.6

Используйте

set ip next-hop 127.0.0.1

 

Иногда читайте вдумчиво мануалы, раз не осилили профильную литературу.

 

Не осилили ее вы :)

 

http://www.cisco.com/web/about/security/intelligence/blackhole.pdf

 

а вообше, кто то забыл про redistribute static. ваш раут в RIB но не в таблице BGP пока туда его не засунули ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а вообше, кто то забыл про redistribute static. ваш раут в RIB но не в таблице BGP пока туда его не засунули ;)

он и должен быть в RIB, маршруту на next-hop нечего делать в bgp таблице. ничего страшного если он там оказался, но он точно не обязан там быть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vlad11, телепат из вас никакой :)

Указанная ссылка может и верна в применении к Quagga. Уточню, я хочу реализовать это на Cisco 6500. Верную ссылку уже указал applx, также могу добавить RFC5635.

По поводу redistribute, но он особо не нужен, т.к. он для того, чтобы анонсировать дальше по BGP маршрут на 192.0.2.1/32:

router bgp 65000
address-family ipv4
redistribute static route-map blackhole
neighbor 192.168.10.10 remote-as 65001
neighbor 192.168.10.10 route-map client_in in
neighbor 192.168.10.10 ebgp-multihop 10
neighbor 192.168.10.10 disable-connected-check
...
ip community-list standard clients-blackhole permit 65000:666
...
ip route 192.0.2.1 255.255.255.255 Null0 tag 666
...
route-map client_in permit 10
match community clients-blackhole
set ip next-hop 192.0.2.1
!
route-map client_in permit 100
match ip address prefix-list client
match as-path 30
set local-preference 300
set weight 3000
!
route-map blackhole permit 10
match tag 666
set origin igp
set community 65000:666

#do sh ip bgp nei 192.168.10.10 ro
BGP table version is 246438222, local router ID is 1.2.3.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
             r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

  Network          Next Hop            Metric LocPrf Weight Path
*> 10.10.10.0/24   192.168.10.10            0    300   3000 65001 i
*  10.10.10.4/32   192.0.2.1                0             0 65001 i

Total number of prefixes 2
#sh ip bgp 10.10.10.4
BGP routing table entry for 10.10.10.4/32, version 246438764
Paths: (2 available, no best path)
 Not advertised to any peer
 65001
   192.0.2.1 (inaccessible) from 192.168.10.10 (192.168.10.10)
     Origin IGP, metric 0, localpref 100, valid, external
     Community: 65000:666
 65001, (received-only)
   192.168.10.10 (metric 20) from 192.168.10.10 (192.168.10.10)
     Origin IGP, metric 0, localpref 100, valid, external
     Community: 65000:666
#sh ip bgp 192.0.2.1    
BGP routing table entry for 192.0.2.1/32, version 246291206
Paths: (1 available, best #1, table Default-IP-Routing-Table)
 Advertised to update-groups:
    2          8         
 Local
   0.0.0.0 from 0.0.0.0 (1.2.3.4)
     Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, best
     Community: 65000:666
#sh ip route 192.0.2.1 
Routing entry for 192.0.2.1/32
 Known via "static", distance 1, metric 0 (connected)
 Tag 666
 Redistributing via ospf 1, bgp 65000
 Advertised by ospf 1 subnets
               bgp 65000 route-map blackhole
 Routing Descriptor Blocks:
 * directly connected, via Null0
     Route metric is 0, traffic share count is 1
     Route tag 666

Изменено пользователем John_obn

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vlad11, телепат из вас никакой :)

Указанная ссылка может и верна в применении к Quagga. Уточню, я хочу реализовать это на Cisco 6500.

 

Дык, вендор специфик.

IP адреса из блэкхола приземляют всегда на локалхост граничного/ых маршрутизатора/ов.

То, что вы маршрут перенаправили на другой ip, внутри сети, то значит туда ДДоС и польется.

Раз вы так сделали, то намерены изучать и фильтровать ДДоС, тогда обращайтесь к мануалу той железки, которая будет фильтровать траффик.

 

 

P.S. RIB на разных железках, даже в пределах одного вендора имеет свои ньюансы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То, что вы маршрут перенаправили на другой ip, внутри сети, то значит туда ДДоС и польется.

ip route 10.6.6.6 255.255.255.255 Null0

 

это маршрут на "другой ip, внутри сети" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То, что вы маршрут перенаправили на другой ip, внутри сети, то значит туда ДДоС и польется.

ip route 10.6.6.6 255.255.255.255 Null0

 

это маршрут на "другой ip, внутри сети" ?

 

Тогда я не понимаю логику Cisco IOS. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

То, что вы маршрут перенаправили на другой ip, внутри сети, то значит туда ДДоС и польется.

ip route 10.6.6.6 255.255.255.255 Null0

 

это маршрут на "другой ip, внутри сети" ?

 

Тогда я не понимаю логику Cisco IOS. :(

Скорее что такое cef

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И все же, коллеги, есть ли кто реализовывал bgp blackhole на cisco 6500/7600 или других моделях? Можете показать свои конфиги реализации blackhole?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

myst, no-export использует ТС. Но будет интересно услышать, почему вы сильно против этого. На сколько я понимаю, это предотвращает распространение этого коммьюнити на анонсе за пределами вашей AS.

Повторю клич " Есть кто на каталисте 65-м реализовал подобную задачу?" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

myst, no-export использует ТС. Но будет интересно услышать, почему вы сильно против этого. На сколько я понимаю, это предотвращает распространение этого коммьюнити на анонсе за пределами вашей AS.

Повторю клич " Есть кто на каталисте 65-м реализовал подобную задачу?" :)

я не против no-export я против использования в качестве BH комьюнити 6666.

Почем, объяснять надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подозреваю, что может совпадать с используемым у кого-нибудь коммьюнити. Лучше объясните, потому что видел не у одного оператора, что используют 6666 в качестве BH. Также в RFC описывают именно 666.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ниче ненаю все пашет :)

 

uk3-asr-01#sh ip bgp 11.1.1.10/24

BGP routing table entry for 11.1.1.0/24, version 13

Paths: (1 available, best #1, table default)

Advertised to update-groups:

2

Refresh Epoch 2

Local

169.254.1.1 from 10.0.0.4 (10.0.0.4)

Origin IGP, metric 0, localpref 100, valid, internal, best

Community: 666:666

rx pathid: 0, tx pathid: 0x0

uk3-asr-01#

 

 

uk3-asr-01#

uk3-asr-01#sh ip route 169.254.1.1

Routing entry for 169.254.1.1/32

Known via "static", distance 1, metric 0 (connected)

Tag 666

Routing Descriptor Blocks:

* directly connected, via Null0

Route metric is 0, traffic share count is 1

Route tag 666

 

router bgp 123456

bgp router-id 10.0.0.3

bgp log-neighbor-changes

neighbor iBGP peer-group

neighbor iBGP remote-as 123456

neighbor iBGP update-source Loopback0

neighbor iBGP next-hop-self

neighbor iBGP send-community both

neighbor iBGP route-map BGP-BlACK-HOLE-TRIGGER in

neighbor 10.0.0.4 peer-group iBGP

neighbor 172.16.3.1 remote-as 1111

neighbor 172.16.3.1 send-community both

uk3-asr-01#

uk3-asr-01#

uk3-asr-01#sh route-map

route-map BGP-BlACK-HOLE-TRIGGER, permit, sequence 10

Match clauses:

community (community-list filter): BGP-RTBH

Set clauses:

origin igp

ip next-hop 169.254.1.1

Policy routing matches: 0 packets, 0 bytes

route-map BGP-BlACK-HOLE-TRIGGER, permit, sequence 20

Match clauses:

Set clauses:

Policy routing matches: 0 packets, 0 bytes

Изменено пользователем applx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо

Есть негласное правило, делать BH - 666.

Таким образом можно закрыть все аплинки одни роутмэп/роутфильтер.

А не делать для каждого свой. Плюс, нестандартное 6666 комьюнити может быть у какого-либо аплинка занято под другие нужды.

 

Подозреваю, что может совпадать с используемым у кого-нибудь коммьюнити. Лучше объясните, потому что видел не у одного оператора, что используют 6666 в качестве BH. Также в RFC описывают именно 666.

Вот именно. Про RFC точно не помню. Всегда казалось что это межоператорский жест вежливости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас