Здравствуйте товарищи!
Вопрос не столько по администрированию Linux-систем, сколько по сетям, и их отладке и настройке с помощью Linux-систем :)
Исходные данные:
В организации есть:
- Неуправляемый свитч на 48 портов (марку и модель записать забыл, добавлю позже, сейчас пишу уже из дома), к которому подключены по проводам некоторое количество рабочих станций на Linux, MacOS и Windows.
- Роутер MikroTik hEX RB750Gr3 (на RouterOS), через который заходит интернет
- Несколько Wifi-тарелок MikroTik подключённые также к свитчу
Настроено это всё по мануалам из интернета, знания у меня в сетях чуть выше чем «продвинутый пользователь», никаких научных степеней по MTCNA конечно нет. Всевозможные «защиты от взлома» постарался настроить (например эти: https://habr.com/ru/post/424433/), веб-морду из интернета закрыл, так же как и все остальные службы.
Проблема:
Долгое время работало прекрасно, но в какой-то момент стало просто тупо пропадать подключение, и даже не через WiFi а прямо по проводам. То всё работает, то не работает ничего, не пингуется ни соседний ПК, ни сам роутер на 192.168.1.1, не идёт трассировка никуда, а то и вовсе arp -a ничего не возвращает.
Что было сделано для анализа:
- Попробовал перезагрузить роутер и свитч несколько раз - не помогло. Точнее помогало, но ненадолго, минут на 10.
- Проанализировал логи роутера, а также всех WiFi-тарелок. Ничего опасного или даже интересного там не было.
- Проанализировал записи /system sheduler, /ip proxy, /ip socks, /ppp secret роутера - ничего не нашлось.
- Два ноутбука подключил короткими проводами непосредственно к свитчу, на одном поднял сервер iperf, на другом запустил простенький скрипт:
# Бесконечно проверять скорость с частотой раз в 0.5 секунды
while true; do iperf -c 192.168.1.121 -p 5001 -i 0.5; done
При подключении ноутбуков к свитчу скорость по iperf то была около 100 МБит, но временами, раз в несколько секунд, резко просаживалась до нуля или почти до нуля, после чего снова возрастая до 100МБит.
- Попробовал подключить эти два ноутбука к свободным выходным портам роутера - там никаких просадок скорости не было, всё отлично.
- Достал маленький свитч на 5 портов, воткнул его проводом в большой свитч, переткнул два ноутбука в маленький свитч - точно также, просадки скорости.
- Отключил провод соединяющий маленький свитч с большим, т.е. ноутбуки остались сидеть на маленьком свитче в одиночестве, и скорость, естественно, не проседала а шла стабильно около 100МБит. При повторном подключении мелкого свитча к большому - скорость снова начинала периодически проседать.
Итого я сделал вывод, достойный капитана очевидность, о том, что похоже проблема в свитче, я слышал о каких то flood-ах сети (хотя и не очень представляю принципов), и подумал, что может какой-то ПК не даёт жить остальным.
-
Стал отключать потребителей от большого свитча, тем временем глядя на то как меняются показания iperf.
-
Обнаружил, что iperf начинает стабильно показывать почти 100 МБит когда отключён САМ РОУТЕР.
-
Ещё раз перепроверил все настройки роутера в которых я что-то понимал, долго и вдумчиво посмотрел на те, которых я не понимаю.
-
Пробовал подключать роутер не напрямую в большой свитч, а «сквозь» маленький. Безрезультатно.
-
Параллельно прогуглил весь интернет, но похоже я даже не могу сформулировать вопрос так чтобы найти его на английском (на русском и подавно)
Ну и собственно, сотрудники разошлись, и проблема стала сходить на нет, когда осталось совсем мало народу, проседание скорости были уже не до 0 а до 60-70 МБит, и проблему больше не получалось воспроизвести.
Что хотелось бы понять (но не получается):
-
Бывают ли такие flood-атаки (пусть даже и не «специальные») которые могут привести к такому поведению свитча?
-
Какими инструментами можно это проверить? Как их найти? Я конечно пробовал включить wireshark, но в сети такой объём пакетов, что понять в них что-то можно только статистическим анализом, сдампив несколько гигов этих пакетов, и написав скрипты для анализа, что я наверное буду делать в случае если вообще ничего больше не поможет.
-
Как можно проверить что в свитче есть проблема? Как его можно «отладить» если он неуправляемый? На мысль что дело не в нём меня навело то, что при подключении его к новенькому 5-портовому свитчу, он его «заражал» своим странным поведением. Но может это он как-то неверно реагирует на передаваемые данные и сам устраивает какой-то flood?
-
Может быть есть какие-то «кривые» пакеты которые могут приводить к таким результатам? Откуда они могут браться? Как их обнаружить, как отладить?
Понимаю что на эти вопросы я должен знать ответы изучив стек сетевой стек TCP/IP до основания, устройство низкоуровневых протоколов и т.д., но я не сетевик, поэтому прошу помощи у более опытных товарищей.