Некоторое время назад я начал использовать продукцию MikroTik. Как и почему - это достаточно длинная и занимательная история, которую я пытаюсь изложить вот уже год или даже больше. Но тема непростая и движется со скрипом. Тем временем, линейка используемых устройств расширяется, возникают всё новые интересные ситуации. И, в какой-то момент, пришло понимание того, что если я буду выкладывать материал в порядке очередности, дожидаясь его готовности, то просто получу повторение истории с FuguHub - вроде и материал готов, но он уже местами устарел, а кое-что всё еще не дописано, и, как результат - практически ничего не опубликовано. Поэтому я решил, что если что-то можно выделить в отдельный пост, то надо так и поступить.

Для начала, хочу заметить, что не занимаюсь сетевыми делами. Настройка "железок" была для меня чем-то из области далёкого и достаточно непонятного. Конечно, как человек, всю свою профессиональную жизнь занимающийся разработкой ПО и, соответственно, имеющий дело с компьютерами, я могу задать статический адрес для сетевого адаптера. Более того, я знаю, что помимо сладкой парочки TCP/IP существует (или правильнее говорить "существовал"?) ещё и IPX/SPX[1], так как успел поработать в сетях Novel Netware 2.x - 4.х, и даже участвовал в их развёртывании[2], то есть, обжимал BNC коннекторы на коаксиальном кабеле задолго до того, как увидел RJ-45 с витой парой[3].

Но вернёмся к нашим MikroTik-ам. У меня работала пара маршрутизаторов, установленных в разных помещениях. Один - hAP ac lite, второй - hAP ac lite TC (tower, или башня). Для централизованного управления их беспроводными интерфейсами я задействовал CAPsMAN. Кроме того, один из них - тот, который обычный lite, он же - основной, или master - питал второй (tower) через свой порт PoE out, так как все розетки рядом с управляемым (slave) CAP-ом оказались занятыми. Сам же CAP контроллер тоже был запитан по технологии PoE, через свой PoE in порт, так как установлен был в месте, где вообще не было розеток. Зато туда были выведены концы шести кабелей витой пары. Да, отстояли друг от друга эти два роутера не очень далеко, если считать по прямой, но кабеля потребовалось, в итоге, около 15 метров - изгибы при прокладке никто не отменял.

Как оно было

Принимая во внимание вышесказанное, не надо быть гением в математике, чтобы понять, что один из шести кабелей остался не у дел - у hAP ac lite только пять портов. Чтобы задействовать этот шестой кабель, я решил купить switch. Выбор пал на RB260GSP - пятипортовый гигабитный свитч. К его преимуществам, в моём случае - так точно, следует отнести тот факт, что, помимо возможности быть запитанным по первому (PoE in) порту (мы ведь помним, что в месте установки розеток нет), оставшиеся четыре порта можно использовать для питания других устройств, так как все они являются PoE out портами. Ну и, кроме того, это - управляемый свитч, то есть, его можно настраивать, например, конфигурировать VLAN-ы. Внутри RB260GSP установлен достаточно продвинутый Atheros8327, благодаря чему можно настраивать гибридные порты, что, вообще говоря, доступно далеко не для всего оборудования MikroTik, по крайней мере, в "домашнем" сегменте.

Разместив новое устройство рядом с основным роутером, я быстренько перекоммутировал кабели: во второй порт свитча воткнул "бесхозный" шестой кабель; в третий порт подключил кабель, которым первоначально был запитан второй hAP, "выдернув" его из пятого порта основного маршрутизатора - теперь tower будет получать питание от PoE out порта свитча; ну и сам свитч, точнее, его первый порт (PoE in), подсоединил к освободившемуся пятому (PoE out) порту основного роутера.

Как оно стало

Казалось, всё должно было заработать, но...

Как я уже писал, свитч является управляемым, на нём "крутится" SwOS, что позволяет производить настройку коммутатора с использованием любого web браузера[4]. Одна из плюшек RB260GSP - возможность мониторинга "здоровья" системы (температуры и напряжения) и состояние PoE out портов (мощность и сила тока по каждому). И именно благодаря этому функционалу можно понять, что и как работает... ну, или, не работает.

В моём случае всё было очевидно: на третьем порту красовалась красная надпись short circuit, что недвусмысленно намекало на проблемы. Сам же порт на коммутаторе "тикал" - индикатор связи загорался на мгновение, затем был слышен тихий щелчок, после чего индикатор гас. И так - по кругу.

Надо сказать, что маршрутизаторы hAP ac lite (оба) умеют определять состояние кабеля, и я ранее наблюдал на них такие же (или похожие) ошибки. Связаны они были с плохо обжатыми разъёмами RJ-45. Но тут... Всё было довольно странно - стоило вернуть "шнурок" в пятый (питающий) порт маршрутизатора, как и соединение, и питание, восстанавливались. В теории, переключение могло влиять на ситуацию - плохо обжатый провод мог елозить и давать плохой контакт. Но как бы я его не дёргал, как не перекручивал и не изгибал, он всё время работал на пятом порту маршрутизатора и не работал, будучи воткнутым в любой порт коммутатора.

И тут я, по какой-то причине, решил подключить второй роутер к питанию через его собственный адаптер. Сам не очень понимаю, почему - свободных розеток, как уже выше отмечал, рядом не было, пришлось освобождать, временно отключив настольную лампу . При этом, питание через PoE out порт свитча я не отключил, хотя такая возможность есть - просто не задумался над этим. И когда я снова глянул на web интерфейс SwOS, то был приятно удивлён: надпись о КЗ исчезла! Теперь периодически сменялись две надписи: о том, что через порт подаётся питание (powered on), и о том, что идёт маленький ток (current too low). После этого я пошёл и отключил второй маршрутизатор от адаптера, питая смутную надежду, что роутер не выключится. И он не выключился!

После этого я стал штудировать интернет, пытаясь найти похожие истории, в которых было бы объяснение происходящего. Историй я не нашёл, но вывалился на интересную статью, в которой, по сути, объяснялись причины такого поведения PoE. Если кратко, то новое ПО получило какие-то дополнительные алгоритмы проверки, в результате чего на длинных кабелях (более 10 метров) PoE, по сути, работать перестал. Одновременно, однако, появился и параметр, позволяющий эту фичу отключать: ether1-poe-in-long-cable. Если использовать его через CLI (для RouterOS), то команда выглядит так:

/interface ethernet poe settings set ether1-poe-in-long-cable=yes

(Если есть желание отключить, то вместо yes указывается значение no).

Уже после всего этого, в документации MikroTik я нашел две нужных строчки. Нашёл я этот параметр и в документации на RB260GSP, и назывался он... Port1 PoE In Long Cable. Вот как это выглядит у меня:

Настройка Port1 PoE In Long Cable в SwOS

А теперь, кто-нибудь, объясните мне, не совсем простому пользователю, почему этот параметр называется именно так? Я вполне допускаю, что, называя его таким образом, авторы вкладывали какой-то глубокий смысл, ускользающий от непосвященных. Можно, также, сказать, что надо просвещаться, и я с этим, в принципе, согласен. Я даже читал эту самую доку ДО происходящих событий. Не скрою, читал по диагонали, но я и подумать не мог, что отказ запитать по PoE out порту (со второго по пятый, между прочим) какое-то оборудование, отстоящее на определённом расстоянии, будет исправляться опцией, содержащей в своём названии слова "Port1" и "PoE In". Я скажу даже больше: я включал этот параметр на коммутаторе! Правда, совсем по другому поводу! Сейчас расскажу.

При попытке запитать коммутатор от пятого порта роутера, я столкнулся с проблемой. Кто угадает, с какой? Правильно - коммутатор и не думал включаться. Несмотря на то что второй роутер, стоявший на значительном удалении (как позже выяснилось, на недопустимо большом удалении - с точки зрения новых версий RouterOS и SwOS), замечательно запитывался от этого же пятого порта. Именно тогда я и включил эту опцию, хотя подсоединял коммутатор при помощи кабеля длиной всего 50 сантиметров - он ведь устанавливался рядом с маршрутизатором. Убедившись, что эта опция на питание свитча никакого влияния не оказывает, я вернул параметр в исходное состояние - выключил. Позже, в меню Interfaces на закладке Ethernet, я поменял значение параметра PoE out у пятого порта маршрутизатора: с auto on на forced on:

Настройка PoE out у порта №5

после чего, свитч, наконец-то, включился.

Итак, проблема с питанием "подчинённого" роутера по длинному кабелю от коммутатора RB260GSP решилась установкой в интерфейсе свитча опции Port1 PoE In Long Cable. Но почему же роутер-"башня" спокойно запитывался от своего обычного собрата? Тут дело в оговорке, которая есть в документации MikroTik: там говорится, что лишь некоторые устройства поддерживают настройку глабольных параметров PoE-Out (а именно к ним относится ether1-poe-in-long-cable) в меню /interface ethernet poe settings. Разновидности hAP ac lite (и обычный и "башня"), по всей видимости, к таким не относятся. По крайней мере, при попытке с помощью терминала проверить установки /interface ethernet poe settings у этих роутеров возникает ошибка, говорящая о том, что settings - неправильная команда:

hAP ac lite параметр не поддерживает

Видимо, соответствующий функционал с проверкой длины кабеля до этих моделей, что называется, не дошёл, хотя они и могут тестировать кабель, определяя, на каком расстоянии имеются проблемы, если они есть.

В общем, я думаю, что вот из-за таких... особенностей (!?), RouterOS и считается сложной системой, что, в результате, отпугивает от неё простых пользователей. И именно поэтому, видимо, многие статьи по настройке MikroTik начинаются со слов "сбросим все настройки роутера MikroTik"[5] - дело в том, что описать то, как интегрировать какую-то новую настройку, в конфигурацию, имеющуюся у пользователя, очень тяжело: кто ж знает, что он там у себя наворотил? И, главное, как? Ведь, зачастую, одного и того же результата можно добиться слегка/сильно разными методами. Но... Мне, всё равно, нравятся (пока) эти устройства - с ними не заскучаешь... 😏.


  1. Чего я не знаю, так это почему название "перевёрнуто" относительно TCP/IP (ведь IPX это аналог IP, а SPX - аналог TCP) и какой вариант является более правильным? 😉 ↩︎

  2. А ещё я лично знал человека, который, дизассемблировав программу, реализующую протокол Kermit, смог её модифицировать таким образом, что удалось соединить в кольцо пять персоналок ЕС-1840/41 и Нейтрон через RS-232 - это было во второй половине 80-ых в лаборатории ЛВС, где я (студент) сначала работал на полставки, а позже был стажёром-исследователем. ↩︎

  3. Кстати, обжав crossover кабель, мы, в 97-ом году, сильно удивили персонал WTC Mexico City, подключив два компьютера друг к другу без использования хаба (они утверждали, что на курсах им говорили, что такое возможно только через концентратор/коммутатор и никак иначе) ↩︎

  4. Надо отметить, при этом, что web интерфейс - единственно возможный путь: никаких Winbox-ов или CLI. ↩︎

  5. В своё время я намучился, так как с этой операции - сброса настроек - начинаются практически любые статьи. В результате, если вы настроили CAPsMAN и хотите перейти к настройке резервирующего канала... 😡 ↩︎