Jump to content
Калькуляторы

BGP Flow Spec - универсальный подход к управлению трафиком

Всем привет!

 

Хотелось бы обсудить здесь BGP Flow Spec также известный как RFC 5575.

 

Чтобы не уходить в сущности реализации, приведу пример что это такое и зачем сразу станет ясно.

 

Вот пример BGP Flow Spec анонса из пакета ExaBGP:

       flow {
           route block_traffic_to_proxy {
               match {
                   source 10.0.0.1/32;
                   destination 10.0.0.2/32;
                   destination-port =3128;
                   protocol tcp;
               }   
               then {
                   discard;
              }   
           }   
       } 

 

Иными словами, это такой мощный распределенный фаерволл с поддержкой со стороны Juniper/Cisco и поведением ну очень похожим на BGP (пиры, анонсы, propagation).

 

Кроме использования для iBGP в своей сети (что уже крайне полезно в ряде случае) также поддерживается (пока крайне редко) магистралами на eBGP! Что открывает огромный простор для творчества!

Edited by pavel.odintsov

Share this post


Link to post
Share on other sites

А чё тут обсуждать-то? Всё понятно с этим механизмом. Реализация этой штуки - pbr, а с точки зрения "клиента" это просто bgp анонс. Есть конкретный предмет для обсуждения?

Share this post


Link to post
Share on other sites

Есть конкретный предмет для обсуждения?

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

А предмет состоит в том, какие проблемы может поиметь провайдер, если клиент начнет использовать фичу не по назначению, или по назначению, но с какими-то особенностями. Где-то, в какой-то презентации читал что пролемы таки возможны, поэтому провайдеры не сильно спешат эту штуку внедрять, но уже не помню в чем была суть

Share this post


Link to post
Share on other sites

Вопросов на деле много.

 

1) Кто из аплинков держит такое дело? Я пока не нашел толком никого

2) Как фильтровать/генерировать/контролировать флоу? Не руками же на каждый чих забивать в роутеры, это не анонсы, которые меняются часть в тыщу лет, а постоянно меняющаяся инфа

3) Как делегировать посылку флоу клиентами (актуально для ДЦ), своего рода фаерволл ДЦ уровня

4) Как оно конкретно работает на конкретном железе и какая деградация производительности в зав-ти от числа правил

5) Что делать если бордер не умеет flow spec, а только BGP v4? Вот Quagga не умеет, а анонсировать хочется.

 

Пока многие вещи могут быть сделаны выше означенным ExaBGP: https://github.com/Exa-Networks/exabgp, но это лишь либа, а инструменты уже надо строить самим :)

 

Похоже на рекламу)

 

Она самая! В самой наглой форме=) Но на Светлакова и котиков (с) бюджет не одобрили :(

Edited by pavel.odintsov

Share this post


Link to post
Share on other sites

Используем flowspec совместно с виртуалкой от arbor.

Arbor определяет атаку и подготавливает flowspec-фильтры, потом спускает их на бордеры.

Eсли есть flow-сессия с uplink-ами, то трафик еще до попадания в нашу AS дропается.

Если нет то дропается на наших бордерах.

Share this post


Link to post
Share on other sites

А бордеры Juniper? Я вот думаю, может ли бордер без его поддержки пропустить его аплинку не вдаваясь в подробности, чего он там передает наружу. Фантастика, конечно поидее он при коннекте должен анонсировать свои фичи =(

 

Кстати, очень скоро будет аналогичная штука для анализа атак, тоже в виртулке и тоже с flow spec, но опенсорцная =)

Share this post


Link to post
Share on other sites

А бордеры Juniper? Я вот думаю, может ли бордер без его поддержки пропустить его аплинку не вдаваясь в подробности, чего он там передает наружу. Фантастика, конечно поидее он при коннекте должен анонсировать свои фичи =(

 

Кстати, очень скоро будет аналогичная штука для анализа атак, тоже в виртулке и тоже с flow spec, но опенсорцная =)

 

Да, MXы.

Вы хотите не с бордера поднимать flow-сессию с аплинком, а откуда-то внутри сети?

Вопрос только уговорить его так сделать :)

Share this post


Link to post
Share on other sites

Аплинка-то уговорить можно, но очень не хочется так делать. У аплинка Juniper сетка и роутинг в одном флаконе с флоу спеком. С моей же стороны солянка - Quagga/фул вью и флоу спек на ExaBGP. Вопрос как это влить аплинку. Понятно, что можно попросить спец сессию для flow spec, но не уверен, что они на это пойдут....

 

Я хочу, чтобы моя квагга не имея полной поддержки flow spec приняла анонс flow spec изнутри сети и пихнула его в аплинка, опять же не вдаваясь в содержимое пакета :)

Share this post


Link to post
Share on other sites

Я хочу, чтобы моя квагга не имея полной поддержки flow spec приняла анонс flow spec изнутри сети и пихнула его в аплинка, опять же не вдаваясь в содержимое пакета :)

 

А как без поддержки этого NLRI он его пропустит?:)

Share this post


Link to post
Share on other sites

Я хочу, чтобы моя квагга не имея полной поддержки flow spec приняла анонс flow spec изнутри сети и пихнула его в аплинка, опять же не вдаваясь в содержимое пакета :)

 

А как без поддержки этого NLRI он его пропустит?:)

 

Вот в том и вопрос, что не пропустит нифиг :( Поидее, добавить тупой форвард flow spec в Quagga решительно проще, чем делать полную имплементацию flow spec для Quagga.

Share this post


Link to post
Share on other sites

на bird еще года 3-4 назад был одобренный фичреквест на flow spec, надо посмотреть, может уже сделали чего.

Share this post


Link to post
Share on other sites

Я хочу, чтобы моя квагга не имея полной поддержки flow spec приняла анонс flow spec изнутри сети и пихнула его в аплинка, опять же не вдаваясь в содержимое пакета :)

 

А как без поддержки этого NLRI он его пропустит?:)

 

pavel.odintsov

Вот это уже вполне конретный и интересный вопрос.

 

rdntw

Quagga не поддерживает vrf, но при этом может быть рефлектором для vpnv4. Точно также ASR1k не умеет eVPN, но может быть рефлектором для этого пространства(весьма странный кейс, честно говоря, но видимо кому-то это надо). Принципиальных сложностей отрефлектить flowspec-анонсы нет, просто нужно немного допилить кваггу для этого

Share this post


Link to post
Share on other sites

(весьма странный кейс, честно говоря, но видимо кому-то это надо)

ничего странного, просто копировали код bgp и все. проще было скопипастить как есть, чем специально выпиливать какую-то AFI только потому что на этой платформе оно может быть ненужно

Share this post


Link to post
Share on other sites
rdntw

Quagga не поддерживает vrf, но при этом может быть рефлектором для vpnv4. Точно также ASR1k не умеет eVPN, но может быть рефлектором для этого пространства(весьма странный кейс, честно говоря, но видимо кому-то это надо). Принципиальных сложностей отрефлектить flowspec-анонсы нет, просто нужно немного допилить кваггу для этого

 

Вот именно такая фича и нужна :) Как оно называется там по умному, чтобы попросить "вот такое же хочу, но для flow spec"?

Share this post


Link to post
Share on other sites

Используем flowspec совместно с виртуалкой от arbor.

Arbor определяет атаку и подготавливает flowspec-фильтры, потом спускает их на бордеры.

Eсли есть flow-сессия с uplink-ами, то трафик еще до попадания в нашу AS дропается.

Если нет то дропается на наших бордерах.

 

А есть виртуалка в доступе для обычного люда или контракт нужен?

 

rdntw

Quagga не поддерживает vrf, но при этом может быть рефлектором для vpnv4. Точно также ASR1k не умеет eVPN, но может быть рефлектором для этого пространства(весьма странный кейс, честно говоря, но видимо кому-то это надо). Принципиальных сложностей отрефлектить flowspec-анонсы нет, просто нужно немного допилить кваггу для этого

 

Вот именно такая фича и нужна :) Как оно называется там по умному, чтобы попросить "вот такое же хочу, но для flow spec"?

 

Ну попросить возможность работы в качестве RR для такого NLRI

Share this post


Link to post
Share on other sites

(весьма странный кейс, честно говоря, но видимо кому-то это надо)

ничего странного, просто копировали код bgp и все. проще было скопипастить как есть, чем специально выпиливать какую-то AFI только потому что на этой платформе оно может быть ненужно

 

ну хз, я не уверен, что xr и ios/ios-xe имеют общую кодовую базу. или же есть железки с ios/ios-xe умеющие eVPN?

 

Вот именно такая фича и нужна :) Как оно называется там по умному, чтобы попросить "вот такое же хочу, но для flow spec"?

 

вот что вам нужно сделать в квагге http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/xe-3s/irg-xe-3s-book/bgp_flowspec_route-reflector_support.pdf

Share this post


Link to post
Share on other sites

(весьма странный кейс, честно говоря, но видимо кому-то это надо)

ничего странного, просто копировали код bgp и все. проще было скопипастить как есть, чем специально выпиливать какую-то AFI только потому что на этой платформе оно может быть ненужно

 

ну хз, я не уверен, что xr и ios/ios-xe имеют общую кодовую базу. или же есть железки с ios/ios-xe умеющие eVPN?

 

Уже выдали ссылку выше)

Edited by MonaxGT

Share this post


Link to post
Share on other sites

Уже выдали ссылку выше)

 

ты про мою ссылку или ещё про какую-то?

Share this post


Link to post
Share on other sites

Уже выдали ссылку выше)

 

ты про мою ссылку или ещё про какую-то?

Да, я пока писал пост, ты ее выложил) удалить сообщение не смог

Share this post


Link to post
Share on other sites

....

Я хочу, чтобы моя квагга не имея полной поддержки flow spec приняла анонс flow spec изнутри сети и пихнула его в аплинка, опять же не вдаваясь в содержимое пакета :)

 

Сделайте наоборот, пусть к аплинкеру цепляется ЕХА, объединяя "нормальные" анаонсы от квагги и flow spec изнутри сети :)

Share this post


Link to post
Share on other sites

Была такая мысль, это самое лобовое решение. Но ExaBGP - это точка отказа и узкое место в производительности (потенциально, не тестировал тщательно), а у меня мотается вполне себе жирный full view, который крайне не хочется гонять через ExaBGP, он и напрямую-то еле проворачивается :(

Share this post


Link to post
Share on other sites

А есть виртуалка в доступе для обычного люда или контракт нужен?

через посредников.

 

http://www.servicepipe.ru/

Edited by rdntw

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this