Немного предыстории:
Своё знакомство с Mikrotik и RouterOS начал около двух лет назад, имеется сертификат MTCNA, планирую в ближайшее время получить MTCRE и MTCWE. За это время я не устаю восхищаться оборудованием Mikrotik за их функциональность. В основном работал с представителями линейки RouterBoard 7xx и 9xx, так как их возможностей и мощностей всегда хватало, до недавних пор.
Недавно появился следующий объект — нефтебаза с довольно развитой сетевой инфраструктурой: локальный домен, АТС (Asterisk FreePBX), соответственно SIP-телефония, Wifi-мосты, куча сетевых видеорегистраторов и специализированное оборудование автоматики, управлял этим всем Zyxel ZyWALL USG 20. Узким местом этого всего было отсутствие проводного интернета, доступ к нему осуществлялся посредством LTE, через худо-бедно работающий Zyxel LTE6100. Периодическое «отвалы» lte для него было нормой, иногда только ребут помогал восстановить связь, радости не добавлял так же «деревянный» и слабо-отзывчивый интерфейс Zyxel'я.
В итоге, через некоторое время и довольно большое количество накопившихся жалоб было решено искать альтернативу. Взгляд сразу упал на Mikrotik SXT LTE потому что:
— 2 в 1, заменял собой сразу 2 железки — роутер и lte-модем;
— RouterOS и её богатые возможности по реализации различных хотелок;
Выбор прошивки:
Прибывшая железка несла в себе RoS версии 6.36.2, по привычке я сразу обновил её до свежей, на тот момент, current 6.40. Это была моя первая ошибка, усложнившая мне задачу, уже на месте в «полевых» условиях. Я не проверил работоспособность LTE на рабочим месте в комфортных условиях, так элементарно под рукой не оказалось SIM-карты с поддержкой LTE. В результате, уже на объекте, меня ждало удивление, когда SXT ни в какую не хотела видеть сигнал с базовой станции, что на «дефолтной», что на пустой конфигурации. Пришлось спешно откатываться на «коробочную» версию RoS, качая её через мобильный интернет. Тогда же пришло осознание того, что пакет lte не входит в Main package — набор RoS и помимо его необходимо загрузить Extra packages.
Загружаем routeros-mipsbe-x.xx и lte-х.хх-mipsbe в память микротика (вкладка Files в меню winbox'а):
Далее System — Packages и нажимаем Downgrade. Микротик попросит разрешение на перезагрузку для отката на более старую версию RoS, нажимаем Yes.
После отката не стал сбрасывать сразу настройки в 0, а предпочел проверить на дефолтной. Убедившись, что lte-интерфейс поднялся и подключился к базовой станции, можно вернуться к пустой конфигурации и продолжить настройку.
Стоит сделать ремарку, что на данный момент SXT LTE работает на последней версии RoS 6.40.1, к которой я пришел постепенно, обновляя на последующие версии, начиная с 6.36 и тестируя стабильность, находясь непосредственно на объекте.
При выбору конфигурации, я всегда выбираю пустую — она позволяет настроить все необходимые параметры самостоятельно, в отличие от дефолтной, которая не всегда гарантирует работоспособность устройства по назначению, а иногда может приводить к определённым проблемам.
Настройка LTE-интерфейса:
Для начало нам необходимо определиться с частотой LTE frequency band, у каждого оператора она своя, у Yota это band 7.
Далее пишем в терминале:
/interface lte set lte1 band=7 network-mode=lte add-default-route=yes use-peer-dns=yes
где:
lte1 — имя вашего lte интерфейса
band — frequency band
network-mode — режим работы
add-default-route — добавляем дефолтный маршрут для роутинга
use-peer-dns — используем DNS-сервер оператора
В лучшем случае все настройки Mikrotik подцепляет автоматически, но мне пришлось настраивать вручную.
В практике настройки серии Routeroard для получения IP-адреса от провайдера необходимо настроить Mikrotik, как DHCP клиента:
/ip dhcp-client add interface=имя_gateway_интерфейса
Но при работе с SXT LTE, Mikrotik получил IP-адрес и DNS от провайдера автоматически, без дополнительных манипуляций.
Далее проверяем статус LTE:
наличие на LTE-интерфейсе IP от оператора во вкладке IP — Adresses:
и наконец наличие дефолтного маршрута:
Если его нет, добавляем вручную:
/ip route add dst-address=0.0.0.0/0 gateway=lte distance=1
Всё что остаётся, это дать пользователям доступ в интернет:
/ip firewall nat add chain=srcnat action=masquerade out-interface=lte1
На этом базовая настройка Mikrotik SXT LTE закончена, далее пойдут специфические задачи и проблемы, которые мне приходилось решать по необходимости и факту возникновения.
Больше одной подсети:
Так сетевая инфраструктура на объекте достаточно развита, у неё было 3 подсети для различных назначений:
- wifi-мосты и прочее сетевое оборудование;
- подсеть SIP-телефонии;
- подсеть пользовательских ПК.
Т.к. SXT LTE имеет только один ethernet-интерфейс я достаточно долго думал, как осуществлять маршрутизацию между подсетями, даже смотрел в сторону VLAN'ов. Всё оказалось просто, достаточно присвоить интерфейсу несколько ip-адресов, которые являются шлюзом у устройств подсетей:
/ip address
add address=10.254.254.1/24 network=10.254.254.0 interface=ether1-main-pool
add address=192.168.21.1/24 network=192.168.21.0 interface=ether1-main-pool
add address=192.168.1.1/24 network=192.168.1.0 interface=ether1-main-pool
DNS Flood:
SXT LTE имеет достаточно слабый ЦП, о чём мне напомнили буквально на следующий день после установки. Сотрудники жаловались на плохую работу сети, а я в свою очередь никак не мог подключиться удаленно на Mikrotik, хотя winbox не дропал меня сразу, а пытался залогиниться. Приехав на место, обнаружил загруженность CPU процессора под 100%. С помощью встроенной в RoS утилитки Tools — Profile обнаружил, что процессор загружен обработкой DNS-запросов. И осознал ещё одну свою ошибку, забыв отключить обработку DNS запросов с внешки.
/ip dns set allow-remote-requests=no
или с помощью firewall'а:
/ip firewall raw
add action=add-src-to-address-list address-list="dns flood" address-list-timeout=1d chain=\prerouting dst-port=53 in-interface=lte1 protocol=udp
/ip firewall filter
add action=drop chain=input dst-port=53 in-interface=lte1 protocol=udp src-address-list="dns flood"
add action=drop chain=input connection-state=new dst-port=53 in-interface=lte1 protocol=udp
add action=drop chain=input connection-state=new dst-port=53 in-interface=lte1 protocol=tcp
CPU Overloaded:
Mikrotik никак не фиксирует высокую нагрузку на процессор, поэтому чтобы в будущем контролировать высокую загрузку CPU и решать её, мне помог встроенный язык для написания скриптов:
:global cpu1 [/system resource get cpu-load];
if (($cpu1) >= 90) do={:log warning "CPU load = $cpu1 %"} else={}
Выглядит примерно так:
Для удобства все логи отправляются в syslog, чтобы не заполнять flash-память Mikrotik'а и не потерять их при ребуте.
LED индикатор
При установке пустой конфигурации, сбрасываются и настройки LED-индикаторов LTE-интерфейса, восстанавливаются при помощи следующих команд:
/system leds
add leds=led1 type=modem-signal interface=lte1 modem-signal-treshold=-91
add leds=led2 type=modem-signal interface=lte1 modem-signal-treshold=-81
add leds=led3 type=modem-signal interface=lte1 modem-signal-treshold=-71
add leds=led4 type=modem-signal interface=lte1 modem-signal-treshold=-61
add leds=led5 type=modem-signal interface=lte1 modem-signal-treshold=-51
Дроп LTE-интерфейса:
К сожалению одна из нерешённых проблем SXT LTE, вызванной высокой нагрузкой UDP-трафика, о которой разработчики упомянули на форуме:
Yes, it looks like the specific issue sometimes happens on this particular product, we are looking into it. It looks like other LTE modems and wAP LTE does not have this issue. The problem on SXT LTE takes place under heavy UDP traffic, but we are still investigating.
Пару раз ловил исчезновение lte-интерфейса, соответственно отсутствие интернета на объекте. Но по истечении пары минут интерфейс появлялся снова, так что простои были не критичны. Пока жду новую версию RouterOS, которая исправит эту проблему.
Вот с чем мне пришлось столкнуться, внедряя специфичную, для меня, «железку», а заодно и почерпнуть кое-что новое. Но этим Mikrotik и хорош, что предоставляет инструменты для решения появившихся проблем.
Комментарии (49)
SysCat
21.08.2017 16:32А разве Zyxel LTE6100 не является тем же модемом и роутером в одной коробке? Так же позволяет использовать прям на нем VPN IPSec с тем же ZyWALL USG 20/300 с другой стороны. А так же ZyWALL USG 20 позволяет прям в него воткнуть LTE USB модем.
AkaZLOY Автор
21.08.2017 16:41Он странно работал, даже просто как LTE-модем, навешивать на него ещё и задачи роутера страшно.
Ну мы же не будем вешать ZyWall на уличный столб)
procfg
21.08.2017 16:34+1В sxt не знаю, но сборка mikrotik+usb делается так /system routerboard usb power-reset duration=15s
imperituroard
22.08.2017 15:52Иногда от этого воркэраунда только хуже становится. Убедился на собственном опыте. Например — если питание порта вырубилось но не врубилось.
DenMMM
21.08.2017 16:41Всего один раз ставил Zyall USG (20W VPN), но его недостатки не заметить было сложно…
И все же позанудствую:
— 2 в 1, заменял собой сразу 2 железки — роутер и lte-модем;
То что в Микрота каждая железка «типа рутер», не делает SXT заменой Zywall. IPSEC железный где? Они просто для разных задач.procfg
21.08.2017 16:48Zywall. IPSEC железный где?
А толку нету эта адская железка загибалась постоянно в мониторинге при любой непонятной ситуации на Zywall проц в полку и как говориться SLA в топку, крайне не рекомендую данное железо лет 10 жизни оно у меня отняло пока на CCR не перешли…DenMMM
21.08.2017 17:09Так и я не рекомендую. Одного хватило. :)
А CCR научилось распределять нагрузку по всем своим ядрам?..Chupaka
21.08.2017 21:16Судя по вопросу, имеется в виду какая-то специфичная нагрузка. Какая?
В целом, маршрутизации и аппаратные АйпиСеки всякие там на всех ядрах работают.DenMMM
21.08.2017 21:29Скорость прокачки через единичное соединение TCP было ограничено скоростью одного ядра. Народ с быстрыми каналами жаловался, что скорость загрузки через FTP (к примеру) упирается в одно ядро рутера. Речь про фаерволл.
neumeika
21.08.2017 23:24дык у них так фаервол написан, маршрутизации (хотя ей и не надо) и ипсеки всякие тоже не сильно умеют параллелится, до 6.33 точно не моглось, не может оно один тоннель с одним соедининием в несколько процов. Но ежели убрать contrack и запилить stateless, то всё становиццо красиво, но неудобно :)
Expelliamus
21.08.2017 16:50/ip dns set allow-remote-requests=no
На устройстве отключится DNS сервер. Для всех.
eov
21.08.2017 18:14-1Мкротик не простая «пластмастка». Она реально потрясает своим функционалом.
Далеко не каждый, кто хоть как-то обременен знаниями в области сетевых технологий, сделает простейшую «лабу» по его настройке.
Лично я столкнулся с:
1. Периодически переставали коннектиться l2tp клиенты с ipsec-ом. Заходишь в консоль или web, ребутаешь и какое-то время можно прицепиться удаленно по l2tp. Оказалось, что мешает связка UpNP в микротике и работающая с iCloud Time Capsule от Apple. Выключил UpNP и все заработало.
2. В один момент я его «потерял» и возвращал к завадским. Не знаю как, но я оказался одним из DDOS-еров с использованием DNS. Оказалось, что у него открылся DNS UDP/53 с внешнего интерфейса и на меня летели пакеты с «левого» IP (с адреса жертвы). В итоге, с меня шел поток примерно в 3Мбит/с в сторону жертвы.
3. Решил побороться с мультикастом в сети. Для этого купил switch от того же МТ. Настройка trunk/vlan заняла 3-и вечера. Повторюсь, что я не на столько зелен, чтобы столько времени на это убивать, но это уже было дело чести.
4. Миграция с 750gr2 на 750gr3 тоже оказалась не проста. Простой backup/restore не прошел. Почему-то на новой коробке все интерфейсы оказались перепутаны и многие команды/правила (особенно FW) залились криво (один из интерыейсов остался с дефолтным именем). В итоге, вливал партиями по категориям с полной выверкой всех параметров. На это тоже ушло 2-а вечера.
5. В последней пршивке после захода в графики (аналог mrtg) перестает работать web-морда. Почему не работает я пока не разобрался. Просто ребутаю коробку из ssh терминалки или питанием. Я даже пошил rc версией, но это тоде не помогло. Откат был с перезаливкой софта в рекавери мод и восстановлением из backup.
6. Еще обнаружил, что даже если на winbox (или как там называется эта приблуда) установить сеть откуда можно в нее стучаться, то ее порт (номер не помню) все равно отвечает с WAN интерфейса. Зайти, правда, не дает.
Несмотря на это, я все равно не вижу альтернативы для домашнего или малоофисного применения. Этот «пластик» не дает мозгам заржаветь.
AkaZLOY Автор
21.08.2017 18:22+1Ещё мне понравилось в SXT LTE наличие, простенького System — Health монитора, показывающий вольтаж и температуру.
В моих домашних RB951Ui-2HnD и hap Lite такого нет)
Chupaka
21.08.2017 21:26Правильно ли я понимаю, что вы в рабочую среду с белым адресом на LTE-интерфейсе установили роутер с девственно чистым фильтром файрвола (и единственный костыль добавили, когда роутер начали использовать для DNS Amplification) — и прилюдно рекомендуете так делать, удаляя правила, которые "случайно" находятся там по умолчанию, добавленные ничего не понимающим в этом производителем? Это и есть ваше "настроить самостоятельно"?
Надеюсь, хотя бы пароль поменяли не на 12345...
AkaZLOY Автор
22.08.2017 01:12Ну не буду же я описывать логику всех 37 правил, котороые у меня фаерволе прописаны)
Если интересно, руководствовался правилом белых списков, всё что не разрешено — drop.Chupaka
23.08.2017 17:24На самом деле, было бы неплохо её описать. Например, пояснить, как с белым списком осталась такая огромная дырень для Amplification-атак.
Diman779
22.08.2017 01:14микротик компания не понятная. хочет сделать всё в одном… но под капотом всё старое железо… неужели нельзя проц нормальный поставить… вон например mediatek… для графики может плохой а для роутера +LTE модем будет хорошим решением… ну конечно сколько этот проц проработает… ну альтарнатив много… или компания боится что не кто дорогую железку не будут брать? ну если хорошая качественная машина чтоб не взять…
sudoroot
22.08.2017 05:22«Маршрутизацию между подсетями Mikrotik добавит автоматически и будет осуществлять силами switch-чипа, тем самым не создавая нагрузку на процессор. »
Я всегда думал, что микротик осуществляет маршрутизацию за счёт цпу, а коммутацию за счёт switch чипа, ткните носом в документацию пожалуйста! В официальной Вики не нашел, либо я слепой…AkaZLOY Автор
23.08.2017 11:58https://wiki.mikrotik.com/wiki/Manual:Switch_Chip_Features
Ещё есть прекрасная по своей простоте, но от этого не менее гениальная презентация с MUM:
mum.mikrotik.com/presentations/IT14/starnowski.pdf
Upd, невнимательно прочитал коммент, это опечаткаsudoroot
23.08.2017 12:01Я читал все это, но тем не менее я не понимаю, как свитч модуль, который работает на уровне L2, будет обеспечивать маршрутизацию, которая на L3? Если трафик в пределах одной подсети — вопросов нет. Но тут несколько разных сетей и маршрутизация между ними.
Dimi3
22.08.2017 16:06Конфигурация с несколькими IP на одном интерфейсе, является слегка корявой.
Если она сейчас выполняет нужные функции, при развитии локальной инфраструктуры могут появиться сложности. Лучше бы все же дошли до варианта с VLANами, благо это стандарт, и не зря.
Минусы данной схемы:
1. Бродкаст от всех внутренних узлов на данный момент у вас получают все остальные. С каждым новым хостом количество паразитического трафика растет.
2. Потенциальный контроль трафика между сетями в данной схеме не может быть корректно осуществлен. Любой узел, взяв адресацию другой сети, имеет к ней доступ в обход гейтвея.
3. Та же проблема с любым мультикастом — каждый узел может получить доступ к любому мультикаст трафику на объекте.
Это что приходит на ум на лету, потенциально тут еще больше подводных камней. Лично мой совет разработать более корректный дизайн и при следующем планируемом отключении на объекте — осуществить.
P.S. Статья не плохая! Успехов с МикроТиками, они и вправду не имеют конкурентов в определенном сегменте, данная железка — один из таких!
Wicron
22.08.2017 16:31Успех с микротиком вас не ждет. Я собаку съел на их использовании. Были и 3G и LTE установки. Это не продукт. Это брошенный по пути полуфабрикат-труп, вам ничего не гарантируется. И пример статьи это показывает. Отвалы, чувствительность по питанию, экономят на всём, на мой взгляд плохая электромагнитная совместимость в режиме клиента или репитера — попробуйте в частном доме использовать его как репитер. Микротик не умеет по умному управлять мощностью передачи, это очень критично когда меняется расстояние между приемником и излучателем — а такое может быть. Вай фай сейчас хотят везде, даже чтобы в кабине лифта работал. Латвийцы не умеют и не хотят уметь нормально тестировать, весь форум засран такими вот проблемами с обновлениями. Чего только стоит обсуждение 7 версии их ОС, которую не могут выпустить уже наверное года 3-4. VPN — у микротиков дохлый проц, скорость на виртуальных сетях с распространенными клиентами — это буквально 2-5 Мбит. Это нонсенс — такие скорости были лет 15 назад. Компания выпустила облачную версию ОС — тоже самое. Зачем в облаке нужны такие ущербные технологии, если банально берешь Linux и связка клиент-сервер в openVPN спокойно дает 20-50% ширины канала и упирается лишь в процессор.
vviz
23.08.2017 02:15А посоветуйте альтернативу, плз, в той же ценовой и аппаратной нише.
И,
Не могу сказать, что гуру в MikroTik, у меня их всего штук восемь на хозяйстве, но ИМХО, автор статьи слаб в сетях и системном подходе, ляп на ляпе, я бы не посоветовал данную статью как источник информации.
И,
По поводу производительности, буквально вчера гонял стенде два RB3011, порт в порт — IPSEC, на внутреннем генераторе трафика, UDP/TCP, packet size 1000, скорость в пределах 37Мб/сек в одном направлении, в двух ~22Мб, загрузка одного ядра — 100%, второе в простое, RouterOS 6.39.4AkaZLOY Автор
23.08.2017 02:21Спс за критику, но не могли бы уточнить в чём ляп, можно и в личку.
Я за саморазвитие, наверно как и большинство, обучался самостоятельно и методом проб/ошибок, буду очень рад конкретному, развернутому ответу.vviz
23.08.2017 10:12Конечно. Сразу скажу, что мои рекомендации совершенно не претендуют на абсолютную истину. Всего лишь выжимка из опыта и знаний.
1.Не нужно ставить сразу новейшую прошивку. Исходя из разумной достаточности, нужно поставить последнюю предыдущую, ибо в ней уже пофиксены многие баги. У Микротика сейчас 6.40.1, значит берем 6.39.4.
2.Ставить на удаленную площадку не обкатанную железку — моветон. Ибо высока вероятность мучений на объекте. Также, вероятность отказа электронного оборудования (из моих знаний) распределяется следующим образом: первые 14 дней вероятность отказа высока (заводской брак), следующие 3-5 лет вероятность отказа низка, далее — вероятность отказа высока. Отсюда вывод — перед установка в продакшен обкатать хотя бы неделю на стенде.
3.Нехороших людей в сети много, поэтому, второе, что нужно сделать после запуска интерфесов и маршрутизации — прописать «жесткий» ACL, разрешить только явно нужное, остальное запретить. Из локальной сеть — reject, из публичной — drop.
Неплохо повесить на внешний интерфейс правила считающий кол-во SYN пакетов в единицу времени и добавляющие в некий список src ip. Следующим правилом дропать пакеты с src ip из созданного списка.
4.«Маршрутизацию между подсетями Mikrotik добавит автоматически и будет осуществлять силами switch-чипа, тем самым не создавая нагрузку на процессор» — с моей точки зрения — абсурд. Свитч — устройство второго уровня и маршрутизацией заниматься не умеет, его задача коммутировать кадры между портами на основании MAC адресов, у вас на уст-ве один сетевой интерфейс, поэтому речь про коммутацию идти как-бы не должна, ибо у Вас IP адреса, а это третий уровень. С моей точки зрения все пакеты пойдут в ядро. И как правильно замечено выше — перейти из сети в сеть не составит труда и каждая сеть будет флудить другую широковещательными пакетами. Если это Ваш конечный вариант, то правильнее, ИМХО, прописать на внутреннем интерфейсе правила форварда разрешающие пакеты только между внешним и внутренним инт., а пакеты из внутреннего инт. во внутрениий (т.е. остальные) — дропать.
Конечно, софт на Вашем уст-ве может выступать в роли маршрутизатора, но вешать на него несколько сетей нехорошо, если нужно реально разделить внутрение сети, то правильнее поставить после него коммутатор третьего уровня или много-портовый маршрутизатор. VLAN дело конечно хорошее, но в Ваших условиях, мне кажется лучше не станет, поскольку трафик из транка все одно придет в ядро и ему придется решать, что с ним делать (исключая широковещательный трафик, который останется в своем вилане.)
5. Ваше уст-во содержит направленную антену, не «омни». Если у Вас сота на расстоянии 100 метров, то это все, если же вы «пробиваете» километр и больше, то необходимо задуматься о точном выставлении на соту и о зонах Френеля. Об этом ни слова.
Пойдет снег, сильный дождь и качество канала просядет — нужно принять превентивные меры, что бы избежать «отказа в обслуживании».
7.Ничего не сказано про VPN. А это важно, в особенности при использовании радиоканала, который не очень хорошо «переносит» большие пакеты. Хотя если у вас просто доступ из локалки к сайтам, то это не нужно. MTU на внешнем инт. я бы «зажал», хотя бы до 1000. «Вялый» канал все же лучше, чем канал с «дропами».
8. И последнее — из Вашей статьи сложно почерпнуть, что то иное, кроме инструкции и ФАК'а на уст-во.AkaZLOY Автор
23.08.2017 12:07Спасибо за разъяснение.
По поводу 4 пункта, подразумевалась коммутация, писал под вечер на тяжёлую голову, вышла опечатка.
Keyko
25.08.2017 11:00Мде, если вы микротик по мануалам не в состоянии настроить — бросайте это дело. Из личног оопыта скажу — покупал для клиентов с 10 SXT LTE — работают отлично видимо проблема в кривых руках. Скорости до 50-60 мегабит прокачивает на ура. Отвалов сим карты вообще ни разу не было ни на одном из 10 устройств. Прошивку всегда стараюсь ставить последнюю и читаю чейнджлоги, а не от балды. Там есть вотчдог который перезагрузит устройство в случае падаения LTE канала и прочее. На некоторых устройствах аптаймы иногда бывают с неделю а то и 2.
sopov
Мой микротик периодически теряет сим-карту, помогает либо ребут или обесточивание, либо вынимание и установка карты обратно.
Как это лечить?
AkaZLOY Автор
Вроде как в версии RouterOS, начиная с 6.40 это пофиксили, если отваливается сам lte-интерфейс, то либо ждать фикс, над которым работают, либо рубить весь лишний udp-трафик, например DNS.
sopov
Прошивка вроде 6.40 (не помню точно), интерфейс не отваливается, он пишет — SIM not ready
AkaZLOY Автор
SXT LTE поддерживает только два диапазона частот — 3 (1710-1785/1805-1880) и 7 (2500-2570/2620-2690). Операторы используют и другие диапазоны. Незнаю можно ли глянуть Status lte-интерфейса когда Sim not ready, если можно, то какая там частота?
sopov
Когда поймаю not ready — посмотрю