SlideShare a Scribd company logo
1 of 28
Download to read offline
Сети в облаке на OpenStack: проблемы с которыми
сталкиваемся и их решение
Наша инсталляция
● три географически разнесенных региона облака
● релиз OpenStack Pike
● сеть облака Neutron ML2 plugin + OVS
● физическая сеть на Leaf-Spine стеках (Juniper/Brocade)
● нет vendor lock
● > 100 собственных патча компонентов OpenStack
О чем поговорим
● DDoS атаки
○ на пропускную способность канала (UDP amplification,
ICMP flood)
○ на ОС (TCP syn/ack/enc flood)
● Аномальный исходящий трафик
○ спам
○ исходящие DoS атаки / флуд
○ флуд MAC адресами
● гибридные сети (bare-metal -> cloud)
● DCI (Data Center Interconnect) сети
● траблшутинг оверлейных сетей
● проблемы neutron при переходе на новый релиз
DDoS атаки на канал
● балансировка трафика на аплинках
● множество провайдеров
● партнерство с системами защиты
● автоматическое обнаружение атаки + blackhole [1][2]
● > 20Gb/sec на каждый сервер
ссылки:
1. https://github.com/pavel-odintsov/fastnetmon
2. https://github.com/velp/ddosdetector
3. https://blog.selectel.ru/all-details-of-ddos-protection/
DDoS на ОС
● тюнинг TCP/IP стека Linux [1]
● >28 ядер на каждой сетевой ноде
● сетевые карты Intel и Mellanox
● > 4Mpps TCP-syn флуда
ссылки:
1. https://www.youtube.com/watch?v=I4hsTi92SsM
Спам
● vflow collector [1]
● nats + свой подписчик [2]
● clickhouse
● анализатор данных на Go
ссылки:
1. https://github.com/VerizonDigital/vflow
2. https://nats.io
Исходящие DDoS атаки / флуд
● мониторинг на уровне виртуального роутера
● мониторинг через зеркало трафика OVS на ноде
MAC address flood
● MAC адреса спрятаны в оверлей
● neutron port_security (OVS OpenFlow) [1]
ссылки:
1. https://docs.openstack.org/dragonflow/latest/specs/mac_spoofing.html
Neutron port_security
ссылки:
1. https://docs.openstack.org/dragonflow/latest/specs/mac_spoofing.html
Гибридные сети
● сервер администрируется клиентом
● нельзя использовать оверлейные сети облака
● сложность поддержки и администрирования
● сложная автоматизация
Гибридные сети
● Neutron + VLAN provider network [1]
● Neutron + L2 gateway plugin [2]
● Neutron + OpenDaylight (SDN networking) [3]
● Neutron + ML2-OVN + VLAN provider network *
ссылки:
1. https://docs.openstack.org/ocata/install-guide-ubuntu/launch-instance-networks-provider.html
2. https://github.com/openstack/networking-l2gw
3. https://wiki.opendaylight.org/view/OVSDB:Hardware_VTEP
4. https://bugs.launchpad.net/networking-ovn/+bug/1457569
VLAN provider network
L2gw plugin / OpenDaylight
Почему VXLAN?
VXLAN GENEVE GRE (OVS) NVGRE STT
Based protocol UDP UDP GRE GRE TCP
Tunnel ID field
size (bit)
24 24 32 24 + 8 64
Encapsulation
overhead
(bytes)
50 54 42 42 76
NIC offload checksum / UFO checksum / UFO checksum checksum checksum / TSO
Bare-metal
support
yes no yes no no
VXLAN vs GRE
VXLAN GREFlamegraph ksoftirq/0 (10sec)
OVS <-> VTEP
DCI сети
● Neutron + BaGpipe + BGPVPN plugin [1]
● Neutron + Tricircle (+ nova API-GW, cinder API-GW) [2]
● Neutron + L2 gateway plugin + настройка физической сети
ссылки:
1. https://docs.openstack.org/networking-bgpvpn/latest/
2. https://wiki.openstack.org/wiki/Tricircle
BaGpipe + BGPVPN
BaGpipe + BGPVPN
Минусы:
● сложность поддержки и администрирования
● L3 между всеми нодами
● уникальные ip адреса
Плюсы:
● быстрое схождение
ссылки:
1. https://www.youtube.com/watch?v=kGW5R8mtmRg
2. https://www.youtube.com/watch?v=LCDeR7MwTzE
Tricircle / L2 gateway + настройка
Минусы:
● VXLAN по публичным сетям
● контроллер как точка отказа
Плюсы:
● гибкость
● простота и нативная поддержка
Tricircle / L2 gateway + настройка
neutron port 8bbd66f0-cced-4c3e-8d59-3263206fa5bc -> tap8bbd66f0-cc
# ovs-vsctl get interface tap8bbd66f0-cc ofport
1479
Troubleshooting OF
# ovs-appctl ofproto/trace br-int in_port=1479,dl_dst=fa:16:3e:8f:db:4b
...
bridge("br-tun")
----------------
0. in_port=1, priority 1, cookie 0xfae4f6cc2f294b64
goto_table:2
2. dl_dst=00:00:00:00:00:00/01:00:00:00:00:00, priority 0, cookie
0xfae4f6cc2f294b64
goto_table:20
20. dl_vlan=73,dl_dst=fa:16:3e:8f:db:4b, priority 2, cookie 0xfae4f6cc2f294b64
pop_vlan
set_field: 0x2793->tun_id
output:2560
-> output to kernel tunnel
0x2793 -> 10131 (provider:segmentation_id)
Troubleshooting OF
# ovs-appctl vlog/list
console syslog file
------- ------ ------
backtrace OFF ERR INFO
bfd OFF ERR INFO
bond OFF ERR INFO
....
# ovs-appctl vlog/set ofproto:file:dbg
Troubleshooting OVS
# ip link add name snooper-tun type dummy
# ip link set dev snooper-tun up
# ovs-vsctl add-port br-tun snooper-tun 
-- --id=@p get port snooper-tun 
-- --id=@m create Mirror name=mymirror select-all=true output-port=@p 
-- set bridge br-tun mirrors=@m
# tcpdump -i snooper-tun -n -e
Troubleshooting
# pip install scapy
# scapy
>>> p =
IP(src="192.168.0.3",dst="192.168.0.4")/UDP(sport=1337,dport=4789)/VXLAN(vni=42
)/Ether()/IP()
>>> sendp(p)
.
Sent 1 packets.
# tcpdump -i eth0 -e -n dst port 4789
16:49:28.991713 fa:16:3e:2f:cf:e2 > fa:16:3e:e5:7b:d5, ethertype IPv4
(0x0800), length 98: 192.168.0.3.1337 > 192.168.0.4.4789: VXLAN, flags [.]
(0x04), vni 42
00:00:00:00:00:00 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 34:
127.0.0.1 > 127.0.0.1: ip-proto-0 0
Troubleshooting
● *.pyc файлы
● DeadLock в базе при rpc_workers > 1
● port status = DOWN если neutron-openvswitch-agent недоступны
● медленная синхронизация виртуального роутера
● медленная синхронизация туннелей neutron-openvswitch-agent
● растущая очередь сообщений в rabbit
Смена релиза OpenStack
● ponomarev@selectel.ru
● https://t.me/velizarx
● https://www.linkedin.com/in/vadim-ponomarev-53671538/
Q&A

More Related Content

What's hot

Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016S-Terra CSP
 
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в MikrotikФильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotikmikrotik-training
 
QoS и приоритезация трафика внутри VPN-туннелей
QoS и приоритезация трафика внутри VPN-туннелейQoS и приоритезация трафика внутри VPN-туннелей
QoS и приоритезация трафика внутри VPN-туннелейmikrotik-training
 
HackIoT: wifi гаджет своими руками
HackIoT: wifi гаджет своими рукамиHackIoT: wifi гаджет своими руками
HackIoT: wifi гаджет своими рукамиSergei Silnov
 
Антон Карпов - Сетевая безопасность
 Антон Карпов - Сетевая безопасность Антон Карпов - Сетевая безопасность
Антон Карпов - Сетевая безопасностьYandex
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Socketsrit2010
 
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...mikrotik-training
 
ащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnOleg Boyko
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)AvitoTech
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Ontico
 
Вебинар С-Терра по DMVPN, 21.02.2017
Вебинар С-Терра по DMVPN, 21.02.2017Вебинар С-Терра по DMVPN, 21.02.2017
Вебинар С-Терра по DMVPN, 21.02.2017S-Terra CSP
 
Вебинар по отказоустойчивости, 13.04.2017
Вебинар по отказоустойчивости, 13.04.2017Вебинар по отказоустойчивости, 13.04.2017
Вебинар по отказоустойчивости, 13.04.2017S-Terra CSP
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSYandex
 
Вебинар С-Терра Шлюз 10G, 01.02.2017
Вебинар С-Терра Шлюз 10G, 01.02.2017Вебинар С-Терра Шлюз 10G, 01.02.2017
Вебинар С-Терра Шлюз 10G, 01.02.2017S-Terra CSP
 
Dnssec in UA - Talk at UAdom 2011
Dnssec in UA - Talk at UAdom 2011Dnssec in UA - Talk at UAdom 2011
Dnssec in UA - Talk at UAdom 2011Dmitry Kohmanyuk
 

What's hot (20)

Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016Вебинар по криптомаршрутизаторам, 14.12.2016
Вебинар по криптомаршрутизаторам, 14.12.2016
 
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в MikrotikФильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
 
RootConf 2015
RootConf 2015RootConf 2015
RootConf 2015
 
Tarantool
TarantoolTarantool
Tarantool
 
QoS и приоритезация трафика внутри VPN-туннелей
QoS и приоритезация трафика внутри VPN-туннелейQoS и приоритезация трафика внутри VPN-туннелей
QoS и приоритезация трафика внутри VPN-туннелей
 
HackIoT: wifi гаджет своими руками
HackIoT: wifi гаджет своими рукамиHackIoT: wifi гаджет своими руками
HackIoT: wifi гаджет своими руками
 
Ddos
DdosDdos
Ddos
 
Антон Карпов - Сетевая безопасность
 Антон Карпов - Сетевая безопасность Антон Карпов - Сетевая безопасность
Антон Карпов - Сетевая безопасность
 
Web sockets
Web socketsWeb sockets
Web sockets
 
Eugene Lisitsky Web Sockets
Eugene Lisitsky Web SocketsEugene Lisitsky Web Sockets
Eugene Lisitsky Web Sockets
 
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...
Настройка резервирования в Mikrotik. Dual-WAN, основные принципы и пошаговая ...
 
ащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpnащита удаленного доступа с помощью континент Tls vpn
ащита удаленного доступа с помощью континент Tls vpn
 
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
"Опыт миграции между дата-центрами" Сергей Бурладян и Михаил Тюрин (Avito)
 
SDN технологии
SDN технологииSDN технологии
SDN технологии
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
 
Вебинар С-Терра по DMVPN, 21.02.2017
Вебинар С-Терра по DMVPN, 21.02.2017Вебинар С-Терра по DMVPN, 21.02.2017
Вебинар С-Терра по DMVPN, 21.02.2017
 
Вебинар по отказоустойчивости, 13.04.2017
Вебинар по отказоустойчивости, 13.04.2017Вебинар по отказоустойчивости, 13.04.2017
Вебинар по отказоустойчивости, 13.04.2017
 
Вячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPSВячеслав Бирюков - HTTP и HTTPS
Вячеслав Бирюков - HTTP и HTTPS
 
Вебинар С-Терра Шлюз 10G, 01.02.2017
Вебинар С-Терра Шлюз 10G, 01.02.2017Вебинар С-Терра Шлюз 10G, 01.02.2017
Вебинар С-Терра Шлюз 10G, 01.02.2017
 
Dnssec in UA - Talk at UAdom 2011
Dnssec in UA - Talk at UAdom 2011Dnssec in UA - Talk at UAdom 2011
Dnssec in UA - Talk at UAdom 2011
 

Similar to Networks in the cloud on OpenStask: problems we face and their solution

SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)Ontico
 
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиОсновные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиCisco Russia
 
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 Поиск неисправностей в беспроводных сетях, управляемых контроллерами Поиск неисправностей в беспроводных сетях, управляемых контроллерами
Поиск неисправностей в беспроводных сетях, управляемых контроллерамиCisco Russia
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Ontico
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Vadim Ponomarev
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...Dmitry Samsonov
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ru
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Cisco Russia
 
Технология Cisco Instant Access для упрощения структуры кампусных сетей.
Технология Cisco Instant Access для упрощения структуры кампусных сетей. Технология Cisco Instant Access для упрощения структуры кампусных сетей.
Технология Cisco Instant Access для упрощения структуры кампусных сетей. Cisco Russia
 
Новая Cisco ASA: тотальный контроль над пользователем
Новая Cisco ASA: тотальный контроль над пользователемНовая Cisco ASA: тотальный контроль над пользователем
Новая Cisco ASA: тотальный контроль над пользователемSkillFactory
 
Организация сети и безопасность
Организация сети и безопасностьОрганизация сети и безопасность
Организация сети и безопасностьOpenStackRU
 
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)DataLine
 
DataLine CloudLine Metrocluster_25 09
DataLine CloudLine Metrocluster_25 09DataLine CloudLine Metrocluster_25 09
DataLine CloudLine Metrocluster_25 09Alina Karimullina
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Ontico
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Andrey Beshkov
 
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XПодробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XCisco Russia
 
Сетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesСетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesETegro Technologies
 

Similar to Networks in the cloud on OpenStask: problems we face and their solution (20)

SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
SDN & DEVOPS ?= ❤: Практики использования SDN / Александр Шалимов (ЦПИКС, МГУ)
 
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязиОсновные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
 
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 Поиск неисправностей в беспроводных сетях, управляемых контроллерами Поиск неисправностей в беспроводных сетях, управляемых контроллерами
Поиск неисправностей в беспроводных сетях, управляемых контроллерами
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
Nexus 7000 – архитектура передачи данных. Поиск и устранение неисправностей.
 
Технология Cisco Instant Access для упрощения структуры кампусных сетей.
Технология Cisco Instant Access для упрощения структуры кампусных сетей. Технология Cisco Instant Access для упрощения структуры кампусных сетей.
Технология Cisco Instant Access для упрощения структуры кампусных сетей.
 
Анализ трафика
Анализ трафикаАнализ трафика
Анализ трафика
 
Новая Cisco ASA: тотальный контроль над пользователем
Новая Cisco ASA: тотальный контроль над пользователемНовая Cisco ASA: тотальный контроль над пользователем
Новая Cisco ASA: тотальный контроль над пользователем
 
Организация сети и безопасность
Организация сети и безопасностьОрганизация сети и безопасность
Организация сети и безопасность
 
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)
Катастрофоустойчивое облако CloudLine Metrocluster (DRaaS)
 
DataLine CloudLine Metrocluster_25 09
DataLine CloudLine Metrocluster_25 09DataLine CloudLine Metrocluster_25 09
DataLine CloudLine Metrocluster_25 09
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
 
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600XПодробный технический обзор коммутаторов Cisco ME3800X/3600X
Подробный технический обзор коммутаторов Cisco ME3800X/3600X
 
Сетевое оборудование ETegro Technologies
Сетевое оборудование ETegro TechnologiesСетевое оборудование ETegro Technologies
Сетевое оборудование ETegro Technologies
 
D do s survival guide
D do s survival guideD do s survival guide
D do s survival guide
 

Networks in the cloud on OpenStask: problems we face and their solution

  • 1. Сети в облаке на OpenStack: проблемы с которыми сталкиваемся и их решение
  • 2. Наша инсталляция ● три географически разнесенных региона облака ● релиз OpenStack Pike ● сеть облака Neutron ML2 plugin + OVS ● физическая сеть на Leaf-Spine стеках (Juniper/Brocade) ● нет vendor lock ● > 100 собственных патча компонентов OpenStack
  • 3. О чем поговорим ● DDoS атаки ○ на пропускную способность канала (UDP amplification, ICMP flood) ○ на ОС (TCP syn/ack/enc flood) ● Аномальный исходящий трафик ○ спам ○ исходящие DoS атаки / флуд ○ флуд MAC адресами ● гибридные сети (bare-metal -> cloud) ● DCI (Data Center Interconnect) сети ● траблшутинг оверлейных сетей ● проблемы neutron при переходе на новый релиз
  • 4. DDoS атаки на канал ● балансировка трафика на аплинках ● множество провайдеров ● партнерство с системами защиты ● автоматическое обнаружение атаки + blackhole [1][2] ● > 20Gb/sec на каждый сервер ссылки: 1. https://github.com/pavel-odintsov/fastnetmon 2. https://github.com/velp/ddosdetector 3. https://blog.selectel.ru/all-details-of-ddos-protection/
  • 5. DDoS на ОС ● тюнинг TCP/IP стека Linux [1] ● >28 ядер на каждой сетевой ноде ● сетевые карты Intel и Mellanox ● > 4Mpps TCP-syn флуда ссылки: 1. https://www.youtube.com/watch?v=I4hsTi92SsM
  • 6. Спам ● vflow collector [1] ● nats + свой подписчик [2] ● clickhouse ● анализатор данных на Go ссылки: 1. https://github.com/VerizonDigital/vflow 2. https://nats.io
  • 7. Исходящие DDoS атаки / флуд ● мониторинг на уровне виртуального роутера ● мониторинг через зеркало трафика OVS на ноде
  • 8. MAC address flood ● MAC адреса спрятаны в оверлей ● neutron port_security (OVS OpenFlow) [1] ссылки: 1. https://docs.openstack.org/dragonflow/latest/specs/mac_spoofing.html
  • 10. Гибридные сети ● сервер администрируется клиентом ● нельзя использовать оверлейные сети облака ● сложность поддержки и администрирования ● сложная автоматизация
  • 11. Гибридные сети ● Neutron + VLAN provider network [1] ● Neutron + L2 gateway plugin [2] ● Neutron + OpenDaylight (SDN networking) [3] ● Neutron + ML2-OVN + VLAN provider network * ссылки: 1. https://docs.openstack.org/ocata/install-guide-ubuntu/launch-instance-networks-provider.html 2. https://github.com/openstack/networking-l2gw 3. https://wiki.opendaylight.org/view/OVSDB:Hardware_VTEP 4. https://bugs.launchpad.net/networking-ovn/+bug/1457569
  • 13. L2gw plugin / OpenDaylight
  • 14. Почему VXLAN? VXLAN GENEVE GRE (OVS) NVGRE STT Based protocol UDP UDP GRE GRE TCP Tunnel ID field size (bit) 24 24 32 24 + 8 64 Encapsulation overhead (bytes) 50 54 42 42 76 NIC offload checksum / UFO checksum / UFO checksum checksum checksum / TSO Bare-metal support yes no yes no no
  • 15. VXLAN vs GRE VXLAN GREFlamegraph ksoftirq/0 (10sec)
  • 17. DCI сети ● Neutron + BaGpipe + BGPVPN plugin [1] ● Neutron + Tricircle (+ nova API-GW, cinder API-GW) [2] ● Neutron + L2 gateway plugin + настройка физической сети ссылки: 1. https://docs.openstack.org/networking-bgpvpn/latest/ 2. https://wiki.openstack.org/wiki/Tricircle
  • 19. BaGpipe + BGPVPN Минусы: ● сложность поддержки и администрирования ● L3 между всеми нодами ● уникальные ip адреса Плюсы: ● быстрое схождение ссылки: 1. https://www.youtube.com/watch?v=kGW5R8mtmRg 2. https://www.youtube.com/watch?v=LCDeR7MwTzE
  • 20. Tricircle / L2 gateway + настройка
  • 21. Минусы: ● VXLAN по публичным сетям ● контроллер как точка отказа Плюсы: ● гибкость ● простота и нативная поддержка Tricircle / L2 gateway + настройка
  • 22. neutron port 8bbd66f0-cced-4c3e-8d59-3263206fa5bc -> tap8bbd66f0-cc # ovs-vsctl get interface tap8bbd66f0-cc ofport 1479 Troubleshooting OF
  • 23. # ovs-appctl ofproto/trace br-int in_port=1479,dl_dst=fa:16:3e:8f:db:4b ... bridge("br-tun") ---------------- 0. in_port=1, priority 1, cookie 0xfae4f6cc2f294b64 goto_table:2 2. dl_dst=00:00:00:00:00:00/01:00:00:00:00:00, priority 0, cookie 0xfae4f6cc2f294b64 goto_table:20 20. dl_vlan=73,dl_dst=fa:16:3e:8f:db:4b, priority 2, cookie 0xfae4f6cc2f294b64 pop_vlan set_field: 0x2793->tun_id output:2560 -> output to kernel tunnel 0x2793 -> 10131 (provider:segmentation_id) Troubleshooting OF
  • 24. # ovs-appctl vlog/list console syslog file ------- ------ ------ backtrace OFF ERR INFO bfd OFF ERR INFO bond OFF ERR INFO .... # ovs-appctl vlog/set ofproto:file:dbg Troubleshooting OVS
  • 25. # ip link add name snooper-tun type dummy # ip link set dev snooper-tun up # ovs-vsctl add-port br-tun snooper-tun -- --id=@p get port snooper-tun -- --id=@m create Mirror name=mymirror select-all=true output-port=@p -- set bridge br-tun mirrors=@m # tcpdump -i snooper-tun -n -e Troubleshooting
  • 26. # pip install scapy # scapy >>> p = IP(src="192.168.0.3",dst="192.168.0.4")/UDP(sport=1337,dport=4789)/VXLAN(vni=42 )/Ether()/IP() >>> sendp(p) . Sent 1 packets. # tcpdump -i eth0 -e -n dst port 4789 16:49:28.991713 fa:16:3e:2f:cf:e2 > fa:16:3e:e5:7b:d5, ethertype IPv4 (0x0800), length 98: 192.168.0.3.1337 > 192.168.0.4.4789: VXLAN, flags [.] (0x04), vni 42 00:00:00:00:00:00 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 34: 127.0.0.1 > 127.0.0.1: ip-proto-0 0 Troubleshooting
  • 27. ● *.pyc файлы ● DeadLock в базе при rpc_workers > 1 ● port status = DOWN если neutron-openvswitch-agent недоступны ● медленная синхронизация виртуального роутера ● медленная синхронизация туннелей neutron-openvswitch-agent ● растущая очередь сообщений в rabbit Смена релиза OpenStack
  • 28. ● ponomarev@selectel.ru ● https://t.me/velizarx ● https://www.linkedin.com/in/vadim-ponomarev-53671538/ Q&A