Организация сети в облачном оркестраторе Flexiant

    В продолжении цикла статей об облачном оркестраторе Flexiant хотели бы рассказать о том, как строится организация сети для виртуальных машин и контейнеров под управлением данного оркестратора.

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

    PVIP – сеть, в которой клиенту выделяется один /32 адрес. Маршрутизация на данный IP-адрес выполняется на хост машине, на которой расположена виртуальная машина
    Public IP – сеть, в которой клиент получает отдельный VLAN и подсеть /29. Это основная сеть, которая у нас используется. Маршрутизация для нее выполняется на специальных router-нодах, которыми управляет Flexiant Cloud Orchestrator.

    Private IP – сеть, по организации аналогична предыдущей, за исключением того, что она не выводится вовне на router-ноды. Клиент может использовать ее для создания внутренних сетей между своими виртуальными машинами. IP адреса можно назначать как из интерфейса, так и на самой машине.

    Interworking VLAN – опять же, очень похожа на Private IP, за исключением того, что она недоступна клиенту напрямую без участия провайдера. Данную сеть мы даем клиенту, когда ему нужно подключить существующую инфраструктуру по L2 к инфраструктуре Flexiant Cloud Orchestrator.

    Все сети, кроме первой работают в отдельном изолированном VLAN, соотвественно клиенту доступны все протоколы L2: arp, dhcp, lldp и т.д. Сеть PVIP работает по L3, и используется нами для клиентов, которые хотят получить защиту от DDoS. Если они хотят защитить IP адреса, то им необходимо использовать именно ее.

    Каждая сеть назначается адаптеру виртуальной машины. Таким образом в одной виртуальной машине могут быть несколько типов сетей одновременно.

    IP адреса для Private IP и Interworking VLAN могут выбираться клиентами произвольно. IP адреса для Public IP и PVIP выбираются из списка в контрольной панели.

    image

    Как только адаптер получает сеть, и опционально IP-адрес, информация об этом попадает в базу данных оркестратора, и соответствующие настройки вносятся на ноды маршрутизации (для Public IP сети), ноды computing (для PVIP), а также в DHCP-сервер, расположенным на ноде управления, в случае, если IP-адрес был задан. Таблица соответствия между виртуальным mac-адресом карты и выбранным IP-адресом заносится в базу данных PgSQL, откуда она в дальнейшем берется DHCP-сервером.

    На каждой ноде, будь-то router-нода или compute-нода установлен агент Flexiant, который принимает команды от оркестратора. Внутри самих нод поднят виртуальный маршрутизатор в отдельном сетевом пространстве имен. Таким образом, сетевой стек Linux на нодах и сетевой стек виртуального маршрутизатора независимы друг от друга.

    Роутер-Ноды, обеспечивающие функционирования Public IP дублируют друг друга по протоколу VRRP в реализации carp. В случае отказа одной из нод, трафик пойдет через другую

    Вот пример маршрутизации на route-ноде для одной:

    Router0# ip a l
    …
    766: VLAN367: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
        link/ether 00:1e:67:d3:67:5c brd ff:ff:ff:ff:ff:ff
        inet6 fe80::e0fe:25ff:fef9:7304/64 scope link
         valid_lft forever preferred_lft forever
    …
    Router0# brctl show VLAN367
    bridge name     bridge id               STP enabled     interfaces
    VLAN367         8000.001e67d3675c       no              bond0.367
                                                                                   evrl-000190
    
    # Впрыгиваем в виртуальный маршрутизатор с помощью простой специальной команды, которая цепляется к запущенному shell в screen, работающему в нужном нам сетевом пространстве имен
    
    Router0# evrs
    Router0# ip a l evrr-000190
    768: evrr-000190: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether e6:52:0f:21:83:b0 brd ff:ff:ff:ff:ff:ff
        inet 217.23.xxx.xxx/29 scope global evrr-000190
           valid_lft forever preferred_lft forever
        inet6 fe80::e452:fff:fe21:83b0/64 scope link
           valid_lft forever preferred_lft forever
    
    Router0# ip r l 217.23.xxx.xxx
    217.23.xxx.xxx/29 dev evrr-000190  proto kernel  scope link  src 217.23.xxx.xxx
    Router#0 ip r l ip r l 0.0.0.0/0
    default via 10.158.192.3 dev evrr-000000  proto bird
    

    Пара интерфейсов evrr/evrl это обычные veth в Linux, которые стыкуют между собой два сетевых пространства имен. Таким образом видно, как входящий трафик попадая в виртуальный роутер, маршрутизируется там на конкретный интерфейс.

    Управление файрволом также происходит в виртуальном маршрутизаторе. Создаются отдельные таблицы и цепочки пропускающие или не пропускающие трафик на тот или иной сетевой интерфейс.

    Router0# iptables -nvL evrr-000190-4i
    Chain evrr-000190-4i (1 references)
     pkts bytes target     prot opt in     out     source               destination
     435M  124G RETURN     all  --  *      *       217.23.xxx.xxx        0.0.0.0/0
        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    Router0# iptables -nvL evrr-000190-4o
    Chain evrr-000190-4o (1 references)
    pkts bytes target     prot opt in     out     source               destination
    587M  782G ACCEPT     all  --  *      *       0.0.0.0/0            217.23.xxx.xxx
    6038K  350M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    

    В качестве протокола маршрутизации мы используем OSPF, конфигурация с compute и router-нод попадает на ядро сети, а оттуда на опорные маршрутизаторы. В качестве софта на нодах используется bird, которым управляет Flexiant. Также в шаблоны конфигурации нами вносятся правки, благо Flexiant позволяет это делать. Flexiant также позволяет использовать статику и bgp в качестве протоколов маршрутизации.

    С точки зрения оплаты все сети – бесплатны. Оплата идет лишь за IP адреса для сетей PVIP и Public IP. Однако IP-адреса для PVIP дороже, поскольку они защищены от атак DDoS.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое