Важно правильно настроить Wi-Fi роутер, но иногда этого бывает недостаточно и вам уже приходится решать проблемы в процессе эксплуатации. О том, что это такое и как с ними бороться, если у вас или вашего клиента есть роутер MikroTik, мы поговорим об этом в этой статье.Разберем распостраненные проблемы Wi-Fi роутеров и как их исправить.
Самая распространенная жалоба — «у нас ничего не работает», и в большинстве случаев это неправда. Если в письме с темой «вы выиграли миллион» начальник не откроет вложение, потому что его заблокировал антивирус, вам вряд ли придется сегодня настраивать роутер. Поэтому одним из важных навыков администратора является умение поговорить с пользователем и выяснить, что именно и как не работает. Увы, я не могу научить этому в статье, поэтому сразу перейдем к технической части проблем с Wi-Fi роутером.
Ресурсы
Первое, на что обращает внимание любой системный администратор, — потребление ресурсов. Благо WinBox выводит эти данные прямо в главном окне. А если еще не выводит — сейчас же добавляй их туда. Это сэкономит много времени в будущем. Тебе нужно меню Dashboard → Add. И кстати, зеленый квадратик в правой верхней части — это не загрузка процессора. Не обращай на него внимания.
Resources
Если процессор постоянно загружен больше 80% (в зависимости от условий это значение может меняться, но в среднем давай примем такое число), то что‑то неладно. В первую очередь смотрим на местный «диспетчер задач», меню Tools → Profile. Тут мы увидим, что именно нагружает CPU, и поймем, как действовать дальше.
info
Длительную статистику по нагрузке CPU, трафику на интерфейсах и другим параметрам можно увидеть в Tools → Graphing.
Profile
Объяснение полей ты найдешь в вики. Наиболее часто встречаются DNS, Encrypting и Firewall.
- Encrypting — роутер тратит много ресурсов на шифрование. Скорее всего, у тебя много туннелей VPN и нет аппаратного чипа шифрования. Нужно поменять на железку со специальным чипом или выбрать более слабые алгоритмы.
- Firewall — прямое указание, что ты не читал мои предыдущие статьи 🙂 Файрвол настроен неоптимально.
- DNS — а вот тут тебя ждет кое‑что интересное.
Сам по себе DNS-сервер почти не нагружает Wi-Fi роутер в небольших и средних сетях (до нескольких тысяч хостов). А использовать RouterOS в качестве DNS-сервера в больших сетях не лучшая идея. Так откуда нагрузка? Давай разбираться. Если есть нагрузка, значит, что‑то ее создает. Вероятно, серверу DNS приходится отвечать на большое количество запросов. Проверим, так ли это. Создадим в файрволе правило.
/ip firewall filter
add action=accept chain=input dst-port=53 log=yes log-prefix=DNS protocol=udp
Firewall
Вообще, умение работать с файрволом несет в себе огромную силу. Грамотно построенное правило укажет, как проходит пакет через систему, в какой интерфейс попадает, из какого уходит дальше и получает ли ответный пакет. По одним только счетчикам можно многое узнать о своей сети.
Counters
В столбцах Bytes и Packets отображаются количество байтов и пакетов, обработанных правилом. Кнопки Reset Counters сбрасывают эти счетчики. Теперь можно наблюдать, попадает ли трафик в нужное правило или нет.
Полезной часто оказывается вкладка Connections файрвола. Тут видно все потоки, проходящие через Wi-Fi роутер: их состояние, количество прошедших байтов, флаги потока (для получения подсказки достаточно навести курсор на значение в столбце). Для большей наглядности нужно добавить поля Reply Dst. Address и Reply Src. Address. В этих полях видно, в какой и из какого адреса был проведен NAT.
Connections
Файрвол со всеми его фичами позволяет детально дебажить весь трафик, проходящий через Wi-Fi роутер. Чтобы лучше понимать, что происходит во всех этих вкладках, нужно изучить, как пакеты проходят через роутер. На картинке упрощенная версия схемы. Более подробная есть в документации.
Traffic Flow
Другие способы анализа трафика
Увидеть состояние потока, его адреса, байты и прочее — хорошо. Но файрвол не позволяет удобно и из единого места убедиться, что маршрутизация корректна. Чтобы узнать, в какой интерфейс вылетает пакет, достаточно воспользоваться инструментом Torch.
Torch
Torch можно воспринимать как некое подобие tcpdump. Здесь можно увидеть VLAN ID, source/destination address/port, DSCP, битовую и пакетную скорость. Есть удобные фильтры, которые позволяют делать точные выборки. Если данные в окне меняются слишком быстро, увеличивай значение Entry Timeout. К сожалению, в одном окне он может показывать только трафик на одном интерфейсе, но никто не мешает нажать New Window и наблюдать за несколькими интерфейсами. Если Torch не показывает нужного трафика на нужном интерфейсе — налицо проблемы с маршрутизацией Wi-Fi роутера.
Torch дает возможность наблюдать за потоками трафика в реальном времени. Но в некоторых случаях нужны более детальные данные о трафике. Их позволяет получить инструмент IP Sniffer.
IP Sniffer
С его помощью можно увидеть параметры трафика и даже содержимое пакета.
Но иногда требуется более детальный анализ — например, чтобы убедиться, что TCP handshake успешно прошел и данные передаются. В таком случае в передаваемых пакетах должен присутствовать флаг ACK. Но искать пакеты в скудном интерфейсе «Винбокса» неудобно.
И тут на помощь приходит всеми любимый Wireshark — мощнейший инструмент для анализа сетевого трафика. В Filter указываем нужные параметры, чтобы не снифать все подряд, в General выбираем Filename, жмем Apply и Start. Теперь в Files на Wi-Fi роутере можно найти наш дамп, перекинуть его на компьютер и открыть «Шарком». О нем написано много статей, поэтому даже не буду пытаться писать тут, как с ним работать.
www
- Как использовать возможности фильтров отображения Wireshark по максимуму
- Статьи о Wireshark на NetworkGuru.ru
Но это лишь начало. Можно в реальном времени наблюдать за трафиком из Wireshark. И без всяких операций с файлами! Открываем «Шарк», в фильтре пишем udp.
, на сниффере RouterOS во вкладке Streaming ставим галочку Streaming
и вписываем IP-адрес компьютера с запущенным «Шарком». Можно поставить галочку Filter Stream, чтобы лить в «Шарк» не весь трафик, а только выбранный.
Snif-stream
Shark
Лить трафик в сниффер можно и из файрвола. За это отвечает действие sniff TZSP в таблице Mangle. Работает это по аналогии со Sniffer Streaming, но в файрволе можно сделать более точную выборку пакетов для сниффера.
Mangle-sniff
Wireless
Самая сложная часть диагностики Wi-Fi роутера — это Wi-Fi. Он и сам по себе очень сложная технология, к тому же среда передачи данных общая и все соседские роутеры мешают работать твоему, так же как и он им. О работе 802.11 написана не одна книга, пересказывать их я не буду. Посмотрим только на инструменты, которые могут помочь при диагностике.
В RouterOS их немного. Самый главный — вкладка Registration в Wireless. Здесь видно всю информацию о подключенных клиентах: MAC, уровень сигнала, качество сигнала.
Registration
Самые важные поля:
- CCQ — Client Connection Quality. Чем ближе к 100%, тем лучше. Ниже 60% означает плохую связь;
- TX/RX Signal Strength — уровень сигнала. Отличное значение — от 0 до –45, приемлемое — от –55 до –75. Все, что между, — хорошо. Ниже –75 можно считать отсутствием связи. По крайней мере, я ориентируюсь на такие цифры.
- Signal to Noise — отношение сигнал/шум. Чем выше — тем лучше.
Второй инструмент — логи. Собственно, этот инструмент должен активно использоваться не только при диагностике Wi-Fi. Если стандартных логов недостаточно — просто включи расширенные.
Log
Ping, Traceroute
Первым инструментом диагностики у сисадмина всегда был пинг. Но далеко не все знают, сколько возможностей он в себе скрывает.
Многие сталкивались с тем, что текст на сайте отображается, а картинки нет. Или скрипты не загрузились, и сайт «поехал». Это первые признаки несогласованности MTU. С помощью пинга можно проверить этот вариант. Ставим галочку Dont Fragment, выставляем нужный нам размер пакета и смотрим на результат. Если видим packet too large — MTU в канале ниже заданного нами значения пакета. Уменьшаем его и проверяем снова. Таким образом выявляем максимальный пакет, который проходит через сеть без фрагментации.
Ping
www
На сайте Cisco есть подробная информация об MTU и его измерении в канале.
По умолчанию пакет отправляется маршрутизатором с использованием Src. Address того интерфейса, в который он вылетает. Бывают случаи, когда его нужно менять. Например, при диагностике VPN-маршрутизации или работоспособности брандмауэра. Для этого необходимо заполнить поле Src. Address. Помните, что для возврата ответного пакета адрес должен быть действительным.
Для сложной маршрутизации необходимо выбрать необходимую Routing Table. Однако те, кто использует несколько таблиц маршрутизации, уже знают это.
Невозможно описать все возможные проблемы c Wi-Fi роутерами и методы их диагностики и решения в одной статье или даже в нескольких книгах. Для успешной отладки вам необходимо понимать, как сеть работает на каждом уровне, каковы ее особенности в конкретной реализации — в конце концов, нет двух одинаковых сетей: рецепты, выполняемые в одной инфраструктуре, будут бесполезны для другой.
Для отладки нужно понимать, как пакет проходит через RouterOS, а в особо сложных случаях — и знать ресурсы производителя. И это касается не только MikroTik. Лучший инструмент отладки — это знания и опыт!