Опять про «MikroTik» или долгожданный SOCKS5

mikrotik+socks5

Я прекрасно понимаю, что вас достали вездесущие микротики, но это действительно интересно. На самом деле статья написана с задержкой в 4 месяца (поддержка SOCKS5 появилась еще в январе 2020 года), но лучше поздно, чем никогда, тем более что информации об этом не так много и мало кто в курсе.

Итак, давайте начнем!

Предыстория


Микротик — очень мощный инструмент, который (IMHO) должен быть в хозяйстве любого сетевого инженера. Огромный функционал и набор инструментов, постоянно пополняющийся с каждым релизом. В Changelog к RouterOS 6.47 (beta) был замечена поддержка SOCKS5, которую лично я ждал несколько лет (и много кто еще, судя по многочисленным «Feature Request» на forum.mikrotik.com):

changelog

Судя по одной из веток вышеупомянутого форума, поддержка встроенного SOCKS5 сервера началась с версии 6.47beta19.

Настройка


Настройка, как всегда с MikroTik, довольно простая и укладывается в четыре строчки.
В качестве испытуемого выступил виртуальный сервер с CHR (Cloud Hosted Router), обновленный до 6.47beta53.

Префикс «beta» в версии RouterOS означает, что она предназначена исключительно для тестирования и отправки баг-репортов в support[at]mikrotik.com. Я настоятельно рекомендую не торопиться с апгрейдом железок под нагрузкой и дождаться Long-Term или хотя бы Stable релиза. Если же вы решили обновиться, то внимательно читайте Changelog, чтобы быть в курсе всех изменений и возможных проблем.

Настраиваем SOCKS5-сервер, выбираем авторизацию по паролю (есть возможность сделать открытым), в качестве порта указан 3327 (отличный от стандартного 1080), чтобы не попасть в скан-листы ботнетов:

ip socks set enabled=yes version=5 port=3327 auth-method=password

Далее добавляем пользователя:

ip socks users add name=test_socks5 password=Str0nGP@SSw0RD

Создаем правило-исключение в фаерволе:

ip firewall filter add chain=input protocol=tcp dst-port=3327 action=accept comment="SOCKS5 TCP"

И перемещаем наше правило перед правилом типа «drop»:

ip firewall filter move [/ip firewall filter find comment="SOCKS5 TCP"] 0

Готово! На нашем микротике поднят SOCKS5 прокси-сервер.

Проверка


Как и любой житель РФ, имея прокси-сервер в Европе, сразу же вспоминаю про телеграм, на нем и была проверена работоспособность свеженастроенного SOCKS5-сервера:

telegram

Звонки также прекрасно работают, несмотря на ограничение Free версии CHR в 1Mbps.

Далее стало интересно, как будет выглядеть POF (Passive OS Fingerprint), вносимый Микротиком (проверял на WhatLeaks):
С выключенным SOCKS5 С включенным SOCKS5
socks_down socks_up

Видно, что система определяется как Linux, что логично (ибо именно его ядро лежит в основе ROS) и не может не радовать. Да, можно было подменить и user-agent, но у нас несколько другая задача.

При этом на самом микротике, как и положено настоящему серверу, выводится статистика по подключениям и трафику:

stat

Заключение


На самом деле многого не хватает (например, поддержки аутентификации по RADIUS), но я искренне верю в то, что и данная опция будет доработана. Важно заметить, что это все таки роутер и основная его задача — форвардинг трафика, а остальные «фичи» это уже скорее просто приятно. В любом случае осознание того, что железка за 50$ столько всего умеет, будоражит воображение.

На этом все, спасибо за внимание :)

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 69

    +3
    Осталось дождаться openvpn по udp, ну и wireguard до кучи и счастье станет полным.
      0
      UDP в OVPN был обещан в ROS 7, а ее мы уже дождались :) Так что еще немного.
      А WireGuard да, думаю, еще придется подождать.
        –1

        Что все так носятся с этим WireGuard

          +1
          Ну я бы лично хотел использовать Mullvad VPN, а с текущей прошивкой это невозможно, потому приходится использовать ProtonVPN с IKEv2.
            +4
            Тоже не понимаю. Это просто туннель. Современный, быстрый, шифрованный, но просто туннель, без автонастройки, без передачи параметров, подходящий только для серверного использования. Казалось бы, IPsec существует не первый десяток лет, безопасный, скоростной, по функциям опережает WireGuard без вопросов, но нет, будем адаптировать неподходящий инструмент под неподходящие нужды.

            А на мобильных устройствах и в Windows IPsec явно будет производительней и менее требовательней к ресурсам и батарее, т.к. реализован в ядре, а не использует TUN/TAP.

            Wireguard — удобная замена GRE или IPIP со встроенным шифрованием, для связи между серверами, например, но на-фи-га он нужен на телефонах и десктопах — в упор не понимаю.
              0
              Поправьте, если не прав, но WireGuard хорош для мобильных устройств как раз тем, что не требует постоянного соединения с сервером и клиент может менять IP без «разрыва» подключения.
          +2
          DNSoTLS понужнее будет =(
            0
            Ну вот DoH же появился :) DoT тоже будет, в любом случае микротик радует своими сюрпризами (как, например, VXLAN, хоть и бета пока).
              0
              А где он появился-то? v6.42.6 и новее не предлагают (hap ac).
                +2
                В той же 6.47 (beta), о которой идет речь в этой статье :) в самом начале скрин из changelog, где это сказано.
                  0
                  Ааа… чукча не читатель =)
                  Ждёмс)
                  0
                  <недопонял>
                    0
                    > /system routerboard print
                    routerboard: yes
                    board-name: hAP ac
                    model: RouterBOARD 962UiGS-5HacT2HnT
                    serial-number: 673705F37570
                    firmware-type: qca9550L
                    factory-firmware: 3.30
                    current-firmware: 6.42.6
                    upgrade-firmware: 6.42.6


                    Неа, на hap ac нет.
                    На AC Lite что-то обновлялось, но к нему идти далековато сейчас.
                      0

                      Вы не там смотрите, там где вы смотрите будет обновление firmware после установки пакетов, проверить обновление можно так
                      /system package update check-for-updates
                      Далее после перезагрузки нужно выполнить обновлений аппаратной прошивки:
                      /system routerboard upgrade

                        +1

                        Кстати, можешь объяснить, что внутри прошивки? Просто в моем понимании прошивка это что-то очень редко изменяющееся. А версии ОС обновляются часто пакетами. А тут каждый раз в двух местах обновлять.

                          0

                          Packages — пакеты(грубо говоря приложения), которые (не критические) можно удалить/отключить или добавить функционал через Extra packages (скачиваются на сайте mikrotik.com)
                          Routerboard — содержит ядро и bootloader, так же некоторые новые фишки Packages включаются только после обновления routerboard.
                          Можно включить автоапгрейд выполнив команду
                          /system routerboard settings auto-upgrade=yes  
                          далее после после установки Packages выполнить дополнительно перезагрузку.

                            0

                            Автоапгрейд требует ещё одну перезагрузку, автоматически это не происходит.

                              +1
                              далее после после установки Packages выполнить дополнительно перезагрузку.

                              Вас слово дополнительно не смущает?
                              Я все написал по-русски, установка Packages подразумевает перезагрузку, и слово дополнительно указывает что нужна еще одна перезагрузка итого 2 перезагрузки
                              Скрипт для авто-проверки и перезагрузки mikrotik
                              /system script
                              add name=update-routerboot policy=reboot,read source=":log info \"Checking firmware...\";\r\
                                  \n/system routerboard\r\
                                  \n:if ([get current-firmware] != [get upgrade-firmware]) do={\r\
                                  \n     :log info \"Updating firmware\";\r\
                                  \n     upgrade;\r\
                                  \n     #  Automatic restart\r\
                                  \n     :delay 2s\r\
                                  \n     /system reboot\r\
                                  \n     } else={\r\
                                  \n     :log info \"No update.\"\r\
                                  \n     }"
                              /system scheduler
                              add name=one_day_check on-event="/system script run update-routerboot" interval=1d policy=reboot,read start-time=01:00:00
                              add name=startup_check on-event="/system script run update-routerboot" policy=reboot,read start-time=startup
                              


                  0
                  DoT тоже будет

                  Я понимаю, что годы для MikroTik — не срок, но всё же:
                  https://forum.mikrotik.com/viewtopic.php?p=791461#p791461

                    0
                    печально, но все же есть доля надежды (это аккаунты форумчан а не официальное заявление микротика))
                      0

                      Разве было официальное заявление о том, что DoT будет? ;)
                      А цитированию ответа техподдержки нет смысла не доверять: опровергли бы, если бы надо было.

                        0
                        Ой, вы знаете, спорить с фанатом микротиков бесполезно))))
                        Мы вечно во что-то верим)

                        А если убрать утопичный настрой, то да, спасибо за инфо, видимо не судьба.
              +1

              Я любил микротик, но сбежал. Хотя бы потому в keenetik сто лет как можно было сказать opkg install sockd и получить сокс сервер…
              И openvpn там стопицот лет полноценный
              И sane, и cups (домашние мфу hp спокойно шарятся по сети)
              И openconnect для cisco vpn
              И это железки домашнего класса… В общем как я понимаю, разработчиков routeros реально просто мало, а взять сторонний пакет невозможно из-за проприетарщины, хотя железо действительно прекрасное за эти деньги.

                0
                Ну вы сейчас с точки зрения SOHO девайса рассуждаете, тут у всех есть свои плюсы и минусы, кмк, полемику начинать не будем :) я же к микротикам отношусь скорее как к инструменту, с помощью которого можно решить ту или иную задачу.
                  –1

                  А с точки зрения инструмента… Где резервный блок питания, скажем? Понимаете? Очень странная ниша у него, хотя повторю: он мне нравится в целом, а вот с применением есть проблемы.

                    +3
                    На дешевых моделях резервного внешнего БП нет, факт, однако есть давно проверенный лайфхак, если его запитать одновременно через блок питания и PoE «рогатку» инжектор, то получится полноценное резервирование N+1.

                    Ну либо брать модели дороже, в которых второй БП есть по умолчанию.

                    Да, я понимаю, что это вечные костыли с Микротиком (чего стоит обход отсутствия поддержки RFC3021), но зато это работает и работает стабильно.
                      0
                      Но важно при этом питать устройство разными наряжениями, иначе резервирования может не получиться.
                        0
                        На hap ac меня несказанно удивило отсутствие нормального POE. Это просто за гранью разумного на мой взгляд.
                          0
                          Извините, а что значит «нормальный POE»?
                          iirc, на вход он поддерживает и 802.3af и 802.3at, а на выход — ну что есть, для создания цепочки таких же вполне хватит, а вообще это задача RB750UP (aka PowerBox) или взрослых PoE-свичей.
                            0
                            на вход он поддерживает и 802.3af и 802.3at

                            Увы но оказалось что нет. Удивлению моему не было предела.
                            Так сильно не поверил что полез удостовериться.
                            mikrotik.com/product/RB952Ui-5ac2nD
                            PoE in Passive PoE
                              0
                              Но это hAP ac lite…
                              А вы говорили про hAP ac, на котором лично проверял работоспособность обоих стандартов.
                                0
                                Не буду спорить. У меня не заработал.
                                mikrotik.com/product/RB962UiGS-5HacT2HnT
                                PoE in Passive PoE

                                Эйсы все вроде с пэссив.
                                Не покажете спеку от вашего?
                                  0
                                  Спека не отличается от той что на сайте :)
                                  Вопрос в практике — он спокойно питался от Juniper EX4200-24T (802.3af aka PoE), так и от Juniper EX4200-48P (802.3at aka PoE+), посему и считаю аргументы в сторону PoE на данной модели необоснованные.

                                  P.S. Речь именно про практическое использование hAP AC, тот же RB951 с указанными свичами не совместим, если не заморачиваться с хитрой схемой обжимки, и работает только через инжектор.
                                    0
                                    У меня hAP ac lite TC. От 802.3af практически не завелся. Я удивился, заглянул в спеку, заглянул в соседнюю, сделал вывод про все семейство hAP ac.
                                    На мой взгляд отсутствие POE совсем не конец света, но наличие оного без 802.3af это за гранью разумного. И допустимо только безродному ноунэм который просто если запустился то уже хорошо.
                                    То что фактическое состояние противоречит спекам просто дополнительно подчеркивает творящийся бардак. Как предлагается выбирать оборудование? Купить и пробовать?

                                    ЗЫ Хитрая схема это городить обманку с резистором и конденсатором?
                                      0
                                      Наоборот следует читать внимательно спеку и не надеяться на то, что не заявлено производителем. В моем случае (hAP ac) просто повезло что MikroTik оказался на такое способен, хотя согласно спеке не должен был :)

                                      По поводу схемы — имеено — но я тут надеюсь на благоразумность, ибо всегда можно сжечь железку и надо это понимать, потому если нет уверенности в своих силах и знаниях, то лучше и не начинать, а уж тем более не злиться на меня, который подсказал эту идею (это не в ваш адрес, а всем кто прочитает мои комменты).

                                      Во время экспериментов с PoE удалось даже вогнать hAP ac в состояниие кирпича, когда собрал следующую схему:
                                      J-EX4200-48P -> MT-hAP ac (1) -> MT-hAP ac (2) -> SPA504G

                                      Все устройства (кроме Juniper) питались по только PoE, цепочкой, даже все завелось, однако когда начал пробовать совершать звонки на этот телефон — сеть упала, и hAP AC (1) ушел в себя :)
                                      Воскресить его получилось с помощью netinstall и радует, что не сгорел, тут конечно мой косяк, что перегрузил, но это были эксперименты, как раз чтобы понимать чего ожидать от девайса.
                                        0
                                        Вопрос немного не в тему. У вас домашний Juniper J-EX4200-48P?
                                        Или наоборот, на работе используете soho mikrotik?
                                          0
                                          На работе использую) Но не в качестве SoHo-девайса (ибо нет потребности в оном), а скорее в виде медиаконвертера, ну и для упомянутых в самом начале статьи всевозможных инструментов (будучи владельцем MacBook, у меня отсутствую USB-A разъемы, потому «десктопный» микротик также используется как терминальная станция для usb2com переходника и настройки оборудования, ну и все в этом духе).
                                            +1
                                            А что мешает взять type-c адаптер типа такого? www.amazon.com/gp/product/B06VSMS35S
                                            Работает вполне бодро, индикация есть.
                                              +2
                                              Географическая привязанность :)
                                              В плане того, что можно подключить железку консольником к микротику и не надо находиться рядом с ними, можно подключиться к микротику по wifi и настраивать.

                                              P.S. На моделях микрота с встроенным консольным портом (RS232/8P8C) можно вообще исключить usb2com и включать консольынй кабель напрямую.

                                              P.P.S. И да, он не заменит полноценный консольный терминальник (хотя можно использовать USB-хаб и пробрасывать внешние порты на консольные сессии), это исключительно в рамках дискуса для чего он используется.
                        0
                        del.
                      +2
                      Опять этот разговор глухого со слепым.
                      Поднять 4 сети на 4х интерфейсах за 10 минут вы можете? Разделить WiFi сети? На одном физическом линке поднять 2, 5, 10 WiFi сетей? Одним линком прицепиться к АР, другим раздать инет по вафле можно? 5-10MHz ширина канала поддерживается? Аксес-листы, адресные листы, листы интерфейсов? Это все можно делать по-человечески с нормальным интерфейсом и сейф-модом не боясь отрубить себе руки, а не через терминал с вырвиглаз-отладкой?
                      Если вы используете только десятую часть возможностей микрота, то это значит, что под ваши задачи он не подходит. Используйте что-то более примитивное, куда не нужно лезть каждую неделю-месяц-день для правок.
                        0

                        На rb951? Могу, но не буду. Возьму более подходящее железо, о том и речь.

                          0
                          Это делается на любом RB. На keenetik'е так можно?
                            0

                            Смотря что. WiFi получить — раздать — можно. 5-10 МГц ширина канала нет, но вы точно этого хотите? Я давно живу в цифрах 40-80… 4 сети на 4 интерфейсах тоже несложно. Да и cli у него мощный стал. Заметьте, я ещё не вышел за пределы возможностей из коробки и не подошёл к пакетному менеджеру. Acl тоже есть, остальное не читал, но подозреваю что чего-то конкретного не смогу. Зато dns over tls завезли одновременно с dns over https, и тоже в варианте "из коробки". Вы извините, но создаётся впечатление, что к микротику вы слишком привыкли, и вам трудно оценить остальной мир вокруг.

                          0
                          Насчет «5-10MHz ширина канала поддерживается» не скажу, но многое из описанного вами умеет любая современная «мыльница», перешитая в Openwrt. У меня прекрасно трудятся такие, раздавая нес-ко изолированных ви-фи сетей. Плюс некое подобие ви-фи роуминга задействовано.
                            0

                            Ок. Сейф-мод, адресные, интерфейсные листы тоже есть? ОСПФ из коробки ваши мыльницы тоже умеют? Снмп тоже есть?

                              0
                              Некий аналог Сейф-моде есть. Реализован в виде кнопок Save и Save Aplly.
                              OSPF, SNMP (и сотни других) есть в виде доп. пакета — ставьте и настраивайте.

                              Вам проще развернуть опенврт в вирт. среде и посмотреть самому.
                                0
                                Опенврт и на микротик залить можно) причем раньше можно было еще и в виде виртуалки, сейчас только полностью затирая router-os.
                          0
                          И аппаратная начинка у keenetik куда интереснее чем у хоум версий микротиков где принято экономить на мелочах, которые роутинг с шифрованием просто не тянут.
                            0

                            Это точно. Экономят на спичках. Хитрецы.

                            +2
                            Древний RB951G до сих пор имеет актуальные ПО и прошивку. Пережил KRACK. Как вам такой аргумент в сторону выбора Микротиков?
                              0
                              И с включением фасттрека тащит 100Мбит/с торрентов с загрузкой ЦПУ 8%.
                              А я уже подумывал, не пора ли обновиться и заодно поддержать Микротик.
                            0
                            Ну и наконец: почему это совсем не актуально?
                              0
                              Это риторический вопрос или нет? :)
                              Не уловил суть.
                                0
                                SOCKS не шифрует данные со всеми вытекающими.
                                  0
                                  Прокси и не создан для шифрования :) Вижу, что вы — MTCRE, посему не хуже меня знаете, что для шифрования все же лучше использовать VPN.
                              0
                              форвардить сокс на нужный гетевей не завезли? (
                                0
                                На самом деле есть довольно таки неплохой ACL, позволяющий запретить все и выставить только нужные направления:
                                [admin@MikroTik] > ip socks access set 
                                Change properties of one or several items.
                                
                                <numbers> -- List of item numbers
                                action -- Rule action
                                comment -- Short description of the item
                                disabled -- Defines whether item is ignored or used
                                dst-address -- Server's IP address
                                dst-port -- Destination port
                                src-address -- Client's IP address
                                src-port -- Source port
                                

                                Или же на уровне обычного фаервола.
                                –3
                                >должен быть в хозяйстве любого сетевого инженера
                                >нет поддержки протоколов 10летней давности
                                  +1
                                  ну, во-первых — 24хлетней давности, все же:
                                  >>March 1996

                                  © tools.ietf.org/html/rfc1928

                                  во-вторых, есть довольно таки много других полезных функций, которыми просто надо уметь пользоваться :)

                                  ну и в-третьих, оспаривать сказанное в рамках ремарки «IMHO» — моветон, как мне кажется :)
                                    0
                                    Мне не нравится закрытость их экосистемы. Есть интересные девайсы, но дома я выбираю то, что могу починить/пропатчить. И выше про openvpn/wireguard — яркие примеры, на микротиках их ждут и не надеются, а с открытым ядром их или уже втащили, или это дело одного вечера.
                                      0

                                      Заметьте: оба модуля — из коробки. Без opkg. Если вы понимаете, о чем я :)

                                        0
                                        А вы не поделитесь моделью своего keenetic? :) Вот ради эксперимента хочу приобрести и сравнить встроенный функционал оного и микротика (из той же ценовой категории и набора характеристик), если будет что интересное — то отпишу отдельной статьей.
                                          0
                                          hAP ac^2 имеет смысл сравнивать со Speedster (у более дешёвых 100М)
                                          а hAP ac с Viva/Giga (по цене примерно между ними, по железу больше похож на Viva, но у Giga есть SFP)
                                  0

                                  Спасибо за статью и комменты!

                                    0
                                    Socks4 уже пару лет как доступен на MikroTik, активирован «сторонним разработчиком» без пароля ;)
                                      0
                                      SOCKS4 — да, даже больше 5ти лет реализован, мы же ждали SOCKS5 :)
                                      +1
                                      что железка за 50$ столько всего умеет, будоражит воображение


                                      Уточню, что порог вхождения дешевле и колеблется в районе ~20$.
                                        0
                                        Справедливо.

                                        Я указал с учетом инфляции, чтобы статья была актуальна на долгие времена :)
                                        (на самом деле, забыл про линейку мелких hAP, которые действительно стоят по 19$).

                                      Only users with full accounts can post comments. Log in, please.