Сегодня мы продолжаем говорить о точке обмена трафиком DataLine-IX. Первая часть была посвящена устройству нашей точки обмена трафиком. В этом посте расскажем про пару инструментов, которые пригодятся ее участникам в работе.


Одно из помещений Meet-Me-Room на площадке OST.

Личный кабинет


Личный кабинет DataLine-IX сделан на базе open-source проекта IXP Manager. Здесь собирается статистика по трафику участника и информация по связности с другими участниками.

Главная страница Личного кабинета.

Скроллом статистика по трафику группируется по 12 часам, суткам, неделям и месяцам. Анализировать можно не только bit rate, но и packet rate, ошибки, количество отброшенных пакетов.


Здесь же можно посмотреть статистику распределения своего трафика по другим участникам DataLine-IX.


Через Личный кабинет участник может запросить прямое присоединение (private peering) к другим пирам.


Во вкладке “Интерфейсы” содержится информация о параметрах подключения участника к DataLine-IX.


BGP Community Tool


BGP Сommunity – это своего рода тэг, которым помечается маршрут. Когда RS получает маршрут с community, то он может выполнять определенные действия, основанные на значении атрибута.
Обычно community записывается в виде ASN:VALUE, т.е. номер автономной системы и значение community, которое определяет политику маршрутизации трафика. Для IX обычно используется другой формат: ACTION:VARIABLE, т.е. действие и переменная. ‘0’ в качестве действия означает запрет на анонсирование, номер AS DataLine-IX – разрешение.

По номеру AS нашей IX есть один нюанс: изначально он 203921, но поскольку BGP standard community в качестве ASN или Value могут принимать только 2 байта, то используется mapping (перевод) четырехбайтных ASN в двухбайтные. Поэтому номер AS DataLine-IX 203921 мапится в 64921.

С помощью BGP Community участники DataLine-IX могут управлять исходящими и входящими анонсами маршрутов, отражать DDoS-атаки.

Управление исходящими и входящими анонсами маршрутов. На RS DataLine-IX уже настроены фильтры для управления входящими и исходящими анонсами. Участнику остается только прописать в своих анонсах соответствующие community в сторону точки обмена трафиком.

Информация по community для DataLine-IX на RIPE NCC.

Вот пример фильтрации исходящих анонсов с помощью community:

Участник DataLine-IX – AS 49063 – хочет анонсировать маршруты всем участникам в Киеве, кроме участника AS 35297, и запрещает анонс всем участникам по всей Украине.

BGP COMMUNITY в анонсируемых префиксах будут выглядеть так:

0:35297 – запрет на анонс маршрутов для участника АS 35297.
64921:64611 – анонс разрешен всем участникам в Киеве.
0:64610 – запрет на анонс на всю Украину.


С входящими анонсами проще. Все маршруты прилетают уже с определенным community. Каждый соответствует какому-то городу и региону. Участник на своей стороне просто решает, принимать их или нет:

64921:64700 – анонсы маршрутов из России.

Стоит отметить, что геопринадлежность определяется исключительно местоположением оборудования участника, которое устанавливает BGP сессию с RS.

Для наглядного примера возьмем фрагмент конфигурации BGP на маршрутизаторе Cisco. Исходя из вышеуказанных правил, настройки буду выглядеть следующим образом:


Защита от DDoS-атак в IX с помощью BGP Blackhole. BGP Blackhole позволяет фильтровать вредоносный трафик еще до попадания в AS участника, т. е. на портах IX.
Этот способ предназначен для отражения атак на полосу пропускания каналов, в нашем случае – это линк между участником и DataLine-IX. При использовании BGP Blackhole участник жертвует доступностью хоста, зато DDoS не забьет весь канал и не затронет остальные сервисы.
В реализации BGP Blackhole также применяется community: маршруты для атакуемого хоста помечаются специальным community – 0:666. Во время атаки маршрут с этим community анонсируется на RS, который распространяет маршрут остальным участникам, подменяя Next-hop на специально выделенное значение.

Рассмотрим работу BGP Blackhole пошагово. Представим, что атакуемый хост находится в AS 64512 (IP 10.10.10.10):

  1. Администратор AS 64512 создает маршрут (10.10.10.10/32), помеченный community 0:666, и анонсирует этот префикс в сторону RS.

  2. RS, видя community 0:666, подменяет Next Hop на специально зарезервированный адрес 185.1.52.66 и распространяет этот машрут остальным участникам (на картинке AS 64513). В дальнейшем RS будет отвечать на ARP-запросы для хоста 185.1.52.66 MAC-адресом 0066.0066.0066.

  3. Если из AS 64513 идет трафик на атакуемый IP 10.10.10.10, то маршрутизатор в AS 64513 отправляет трафик с DMAC 0066.0066.0066.

  4. Далее трафик «отбрасывается» на порту, в который подключен AS 64513, и не попадает на порт атакуемого участника.


    Схема работы BGP Blackhole.

Looking Glass


Ну и конечно же у DataLine-IX есть свой Looking Glass. Здесь в режиме онлайн можно посмотреть:

  • Состояние BGP-сессий всех участников.

    UP – сессия установлена, Down – сессия не установлена, Start/Passive – сессия настроена со стороны DataLine-IX, и мы ожидаем, когда участник отправит нам запрос на установлении сессии.


  • детальную статистику по отдельным маршрутам для IPv4 и IPv6.


  • отображение AS PATH в виде графа.

Это всё, что мы хотели рассказать об инструментах DataLine-IX. Задавайте вопросы в комментариях, если что-то осталось за кадром.
Поделиться с друзьями
-->

Комментарии (12)


  1. hexman
    15.12.2016 17:36

    Если не ошибаюсь, Вы писали, что сервера маршрутизации у Вас 2. Как организовано и работает резервирование? (я пологаю 2 их именно для этих целей).


    1. dataline
      15.12.2016 17:38

      Сервера полностью независимы друг от друга. Участник устанавливает сессии с каждым из RS. При падении/обслуживании одного сервера второй остается полностью работоспособным и обслуживает клиентов.


      1. hexman
        16.12.2016 07:56

        т.е. каждый пир имеет по 2 сессии?
        Какое ПО используется для обслуживания BGP, Quagga?
        P.s. думаю найдётся что рассказать и о технических моментах и их решениях, возникших проблем и вопросов, относительно организованной вами системы. Это я на 3ю часть намекаю? :)


        1. dataline
          16.12.2016 10:51

          Да, каждый пир имеет по 2 сессии. Сейчас BGP «крутится» на BIRD, но предполагается миграция одного из серверов на иную платформу.
          К варианту с Quagga мы подходим острожно, т. к. в сообществе пользователей есть мнения о плохой масштабируемости, касающейся возможностей поддержки большого количества BGP сессий.
          Третью часть не обещаю, но подумаю).


          1. hexman
            16.12.2016 10:59

            но предполагается миграция одного из серверов на иную платформу

            Имеется в виду OS или то, что обслуживает BGP. Если не секрет, о каком ПО идёт речь?
            Третью часть не обещаю, но подумаю).

            Интересно было б почитать. ) Уверен у Вас всё получится.
            Так же было б интересно почитать о тех. поддержке. Какие знания требуются кандидатам? Как организована. Ведь поддержка совсем отличается от типичного ISP. Быть может есть какая то методика отбора. Тут уже и 4й частью можно обзавестись.
            Ps. Лично мне эта тема интересна :)
            Всех благ Вам в вашем деле.


            1. dataline
              16.12.2016 13:38

              Имеется в виду OS или то, что обслуживает BGP. Если не секрет, о каком ПО идёт речь?

              Под миграцией подразумевается и иная ОС, и иной routing daemon. Подробностей пока сказать не могу, т. к. активная фаза тестирования еще впереди.

              Рады, что статьи оказались интересными для вас :). Постараемся еще что-нибудь написать на эту тему в новом году.


              1. foxmuldercp
                19.12.2016 12:03

                А чем Bird не подошел, можете рассказать?


                1. dataline
                  19.12.2016 12:10

                  Всем подошел, но нам нужна была диверсификация :).


  1. ugenk
    17.12.2016 22:38

    А LG самописный?


    1. MrRitm
      29.03.2017 11:59
      +1

      Очень люблю подобные статьи. Интересно. Только не совсем понятно, какую цель приследовал Автор? Если для саморазвития или решения каких-то задач которые не решает робот продающийся в магазине за 10-15к, то не понял какие именно? А если была задача сэкономить и получить аналогичную «магазинной» версии функциональность, так ту вроде экономией не очень пахнет…


  1. Itreek
    19.12.2016 10:44

    Планируете ли подключение участников на других площадках Москвы? ММТС-9 например? )


    1. dataline
      19.12.2016 11:15

      Уже сейчас мы можем подключать к DataLine-IX через наши точки присутствия на ММТС-9 с помощью IP/MPLS сети. Когда наберём критическую массу, разместим там железо DataLine-IX.