Коммутаторы Extreme Networks c архитектурой «Insight». Или зачем на коммутаторах виртуальная машина

    В линейках коммутаторов SLX, VSP и EXOS от Extreme Networks есть модели c особой аппаратной архитектурой под общим названием «Insight». В отличие от стандартного исполнения, когда Contol и Data Plane коммутатора связаны только шиной PCIe (со всеми вытекающими ограничениями пропускной способности), «Insight» свичи имеют несколько интерфейсов Data Plane включенных напрямую в виртуальные машины, которые развернуты на Control Plane. Рассмотрим, как это работает и какие ресурсы утилизируются:



    “Insight” интерфейсы это как правило несколько выделенных 10GE линков, которые от ASIC, через мультиплексор, подключены к Control Plane. Там они смонтированы как ethernet интерфейсы изолированной Ubuntu Linux 16.04 виртуальной машины, кратко называемой TPVM (Third Party Virtual Machine). Такое физическое разделение позволяет передавать большие объемы трафика с минимальной задержкой, при этом не вызывая деградации производительности ни Control, ни Data Plane. Сама же виртуализация построена на базе KVM. В совокупности это дает возможность запускать такие инструменты и сервисы как tcpdump, p0f, snort, распределенный DPI или аналитику, а также многие другие сервисы непосредственно на устройстве, без развертывания дополнительной сетевой инфраструктуры. Для ускорения же развертывания самой TVPM образ имеет множество необходимых пакетов, которые заранее предустановлены:

    • build-essential
    • checkinstall
    • iperf
    • mtools
    • netperf
    • qemu-guest-agent
    • tshark
    • valgrind
    • vim-gnome
    • wireshark
    • xterm



    На борту “Insight” коммутаторов установлен CPU Intel XEON x86, увеличенная RAM и SSD накопитель, что позволяет распределить ресурсы в случае разворачивания нескольких VM. Сами же ресурсы являются выделенными и изолированными, чтобы не нарушать работу OS самого коммутатора.


    Для использования TPVM по назначению необходимо проделать всего четыре действия:

    1. Скачать и установить TVPM
    2. Сконфигурировать «Insight» интерфейсы
    3. Добавить ACL или зеркалирование трафика на эти интерфейсы
    4. Запустить TPVM приложения

    Ниже собственно небольшой пример, как все это разворачивается и работает. После того как образ TPVM был загружен по scp2 необходимо выполнить несколько команд для установки VM:

    slx# show tpvm status
    TPVM is not installed
    slx# tpvm install
    Installation starts. To check the status use ‘show tpvm status’ command
    slx# show tpvm status
    TPVM is being installed now

    Когда TPVM уже загрузилась есть несколько способов получить доступ к ней доступ. По умолчанию VM будет пытаться получить адрес по DCHP, или может назначить link-local IPv6 адрес, после чего можно будет получить SSH доступ. Также к TPVM имеется консольное подключение через TTY.

    slx# show tpvm ip-address
    IPv4:
    eth0 192.168.2.249
    docker0 172.17.0.1
    IPv6:2a02:0000:c000:0:da80:00ff:f00b:8800
    eth0: fe80::da80:00ff:f00b:8800
    
    slx# ssh 192.168.2.249 -l admin vrf mgmt-vrf
    admin@192.168.2.249’s password:
    Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0–128-generic x86_64)
    Last login: Tue Apr  2 12:12:46 2019
    
    admin@TPVM:~$ sudo -s
    [sudo] password for admin:
    
    root@TPVM:~# id
    uid=0(root) gid=0(root) groups=0(root)

    Интерфейс eth0 это наш менеджмент, а eth1 это “Insight” который нам необходимо сконфигурировать

    root@TPVM:~# ip -4 link
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
     link/ether d8:00:00:00:00:04 brd ff:ff:ff:ff:ff:ff
    3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
     link/ether d8:00:00:00:00:02 brd ff:ff:ff:ff:ff:ff
    4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
     link/ether 02:42:28:2d:60:b9 brd ff:ff:ff:ff:ff:ff

    По аналогии с технологией стекирования последние порты на лицевой панели коммутатора имеют двойное назначение и нам необходимо перевести их в режим Insight, после чего передача данных по ним будет временно невозможна.

    slx# conf t
    slx(config)# hardware
    slx(config-hardware)#connector 0/48
    slx(config-connector-0/48)# no breakout
    slx(config-connector-0/48)# insight mode

    Система создаст интерфейс 0/125 который мы и будем использовать

    slx(config)# interface Port-channel 22
    slx(config-Port-channel-22)# insight enable
    slx(config-Port-channel-22)# no shutdown
    slx(config)# interface Ethernet 0/125
    slx(conf-if-eth-0/125)# channel-group 22 mode on type standard
    slx(conf-if-eth-0/125)# no shutdown
    

    Проверяем интерфейсы на коммутаторе:

    slx(conf-if-eth-0/125)# do show interface ethernet 0/125
    Ethernet 0/125 is up, line protocol is up (connected)
    slx(conf-if-eth-0/125)# do show interface port-channel 22
    Port-channel 22 is up, line protocol is up

    и на TPVM

    root@TPVM:~#dmesg
    [ 2172.748418] ixgbe 0000:00:09.0 eth1: NIC Link is Up 10 Gbps
    [ 2172.748508] IPv6: eth1: link becomes ready

    Теперь на «Insight» можно повесить ACL, сконфигурировать VLAN (или несколько) и инспектировать трафик.

    root@TPVM:~# tcpdump -i eth1 -n -v
    tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
    02:38:38.107923 IP6 fe80::8802 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
    02:38:39.059939 IP6 fe80::8802 > ff02::16: HBH ICMP6, multicast listener report v2, 1 group record(s), length 28
    02:38:39.119922 LLDP, length 111: slx
    02:38:40.120076 LLDP, length 111: slx

    Дальнейшее использование ограничивается только требованиями или фантазией заказчика. Инженерами, партнерами, и заказчиками Extreme Networks было протестировано множество различных приложений таких:

    • VNC server
    • DHCP server
    • AAA server (Radius and TACACS)
    • DNS server
    • Ostinato — Ostinato packet crafter, network traffic generator and analyzer with GUI.
    • SNMP trap receiver
    • Surricata — Real time intrusion detection (IDS), inline intrusion prevention (IPS), network security monitoring (NSM) and offline PCAP processing.
    • Syslog server
    • Google-chrome and cURL
    • Arpsponge
    • PerfSONAR
    • Puppet
    • Logstash
    • Docker-Container (version supported: docker-1.13.0)

    Если у вас есть вопросы, можете обращаться в наше локальное представительство компании Extreme Networks.
    Extreme Networks
    55,97
    Компания
    Поделиться публикацией

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

      +1
      «Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?»©
      Есть какие-то реальные usecase?
      Syslog или DHCP можно поднять и без связки ASIC+Xeon.
        0
        Реально это востребовано в больших датацентрах, где минимум персонала и максимум трафика. В основном для траблшутинга и аналитики.
        +1
        С одной стороны бесит что на тех же джуниперах нельзя поставить-запустить хотя бы iperf, хотя Джунос вроде как перелицованная фряха… С другой стороны как представлю себе какой тут простор для уязвимостей :/

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

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