В линейках коммутаторов 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 образ имеет множество необходимых пакетов, которые заранее предустановлены:
На борту “Insight” коммутаторов установлен CPU Intel XEON x86, увеличенная RAM и SSD накопитель, что позволяет распределить ресурсы в случае разворачивания нескольких VM. Сами же ресурсы являются выделенными и изолированными, чтобы не нарушать работу OS самого коммутатора.
Для использования TPVM по назначению необходимо проделать всего четыре действия:
Ниже собственно небольшой пример, как все это разворачивается и работает. После того как образ TPVM был загружен по scp2 необходимо выполнить несколько команд для установки VM:
Когда TPVM уже загрузилась есть несколько способов получить доступ к ней доступ. По умолчанию VM будет пытаться получить адрес по DCHP, или может назначить link-local IPv6 адрес, после чего можно будет получить SSH доступ. Также к TPVM имеется консольное подключение через TTY.
Интерфейс eth0 это наш менеджмент, а eth1 это “Insight” который нам необходимо сконфигурировать
По аналогии с технологией стекирования последние порты на лицевой панели коммутатора имеют двойное назначение и нам необходимо перевести их в режим Insight, после чего передача данных по ним будет временно невозможна.
Система создаст интерфейс 0/125 который мы и будем использовать
Проверяем интерфейсы на коммутаторе:
и на TPVM
Теперь на «Insight» можно повесить ACL, сконфигурировать VLAN (или несколько) и инспектировать трафик.
Дальнейшее использование ограничивается только требованиями или фантазией заказчика. Инженерами, партнерами, и заказчиками Extreme Networks было протестировано множество различных приложений таких:
Если у вас есть вопросы, можете обращаться в наше локальное представительство компании Extreme Networks.
“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 по назначению необходимо проделать всего четыре действия:
- Скачать и установить TVPM
- Сконфигурировать «Insight» интерфейсы
- Добавить ACL или зеркалирование трафика на эти интерфейсы
- Запустить 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.