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

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! Что открывает огромный простор для творчества!

Изменено пользователем pavel.odintsov

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


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

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

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


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

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

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

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

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


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

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

 

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

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

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

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

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

 

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

 

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

 

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

Изменено пользователем pavel.odintsov

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


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

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

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

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

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

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


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

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

 

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

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


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

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

 

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

 

Да, MXы.

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

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

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


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

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

 

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

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


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

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

 

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

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


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

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

 

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

 

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

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


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

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

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


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

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

 

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

 

pavel.odintsov

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

 

rdntw

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

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


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

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

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

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


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

rdntw

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

 

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

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


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

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

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

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

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

 

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

 

rdntw

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

 

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

 

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

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


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

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

ничего странного, просто копировали код 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

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


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

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

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

 

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

 

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

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

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


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

 

 

Шикарно! Отправил в mail list Quagga!

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


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

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

 

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

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


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

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

 

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

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

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


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

Так, забил в мейллисты Bird/Quagga посты с кличем о поддержке Flow Spec:

http://bird.network.cz/pipermail/bird-users/2015-May/009675.html

https://lists.quagga.net/pipermail/quagga-users/2015-May/014027.html

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


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

....

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

 

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

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


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

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

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


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

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

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

 

http://www.servicepipe.ru/

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

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.