Я столкнулся с несколькими DDoS-атаками в своей сети. Интересный факт — атакующим устройством оказался сам Mikrotik RouterOS. Мне удалось воспроизвести проблему и подтвердить, что причиной был роутер MT.
Конфигурация: RouterOS v5.20 на платформе x86, около десяти гигабитных Ethernet-интерфейсов, много VLAN, работает HotSpot.
Как воспроизвести проблему?
Настройте систему HotSpot.
Перейдите в Hotspot IP Bindings и добавьте какой-нибудь статический IP (конечно, из того же подсети, что и устройство RouterOS), и очень важно — задайте статический MAC-адрес и тип: bypassed.
Можно подключить какое-нибудь рабочее устройство (например, другой роутер) и указать его IP и MAC.
Теперь перейдите в Tools -> Ping и пропингуйте добавленный IP. Он должен ответить, и на этом этапе ничего необычного не произойдет.
Теперь отключите или выключите это устройство, чтобы RouterOS не мог до него достучаться.
Подождите около 2-3 минут и попробуйте снова пропинговать.
Поскольку RouterOS не может достучаться до устройства, по какой-то причине он начинает затапливать все интерфейсы — в том числе Ethernet и VLAN — широковещательным MAC-адресом. В ответ все устройства начинают забрасывать RouterOS icmp type 8 (echo-ping) в ответ на этот широковещательный пакет.
Это вызывает массу проблем — перегрузку устройств, замедление работы сети и в некоторых случаях перегрузку сервера.
Та же проблема воспроизводится не только с ping, но и с TCP-соединениями. Например, если попытаться подключиться к недоступному IP, добавленному в IP binding, на ssh или www порт, сервер начнёт затапливать все порты SYN-пакетами, а все устройства в свою очередь ответят на эти широковещательные SYN-пакеты.
Обходной путь — не использовать MAC-адрес в IP binding, но, на мой взгляд, проблему должны исследовать инженеры MT.
С уважением.
Конфигурация: RouterOS v5.20 на платформе x86, около десяти гигабитных Ethernet-интерфейсов, много VLAN, работает HotSpot.
Как воспроизвести проблему?
Настройте систему HotSpot.
Перейдите в Hotspot IP Bindings и добавьте какой-нибудь статический IP (конечно, из того же подсети, что и устройство RouterOS), и очень важно — задайте статический MAC-адрес и тип: bypassed.
Можно подключить какое-нибудь рабочее устройство (например, другой роутер) и указать его IP и MAC.
Теперь перейдите в Tools -> Ping и пропингуйте добавленный IP. Он должен ответить, и на этом этапе ничего необычного не произойдет.
Теперь отключите или выключите это устройство, чтобы RouterOS не мог до него достучаться.
Подождите около 2-3 минут и попробуйте снова пропинговать.
Поскольку RouterOS не может достучаться до устройства, по какой-то причине он начинает затапливать все интерфейсы — в том числе Ethernet и VLAN — широковещательным MAC-адресом. В ответ все устройства начинают забрасывать RouterOS icmp type 8 (echo-ping) в ответ на этот широковещательный пакет.
Это вызывает массу проблем — перегрузку устройств, замедление работы сети и в некоторых случаях перегрузку сервера.
Та же проблема воспроизводится не только с ping, но и с TCP-соединениями. Например, если попытаться подключиться к недоступному IP, добавленному в IP binding, на ssh или www порт, сервер начнёт затапливать все порты SYN-пакетами, а все устройства в свою очередь ответят на эти широковещательные SYN-пакеты.
Обходной путь — не использовать MAC-адрес в IP binding, но, на мой взгляд, проблему должны исследовать инженеры MT.
С уважением.