Mikrotik проброс портов ssh

Mikrotik проброс портов ssh

Разделы:

  • Winbox. Пожалуй, самое удобное средство настройки Mikrotik. Включает консоль и GUI.
  • INPUT
  • NAT
  • Проброс портов
  • Перенаправление трафика, адресованного одному ip, на другой ip
  • Ловим любителей чужого ssh
  • Готовый вариант настройки firewall для защиты роутера от внешнего интернет
  • Вместо вступления

    Сразу: эта статья для новичков, профи тут делать нечего. К новичкам легко можно отнести даже опытного бойца с Linux, который впервые видит Mikrotik. Через 2 часа это пройдет и статья станет не нужной 🙁

    Популярность роутеров Mikrotik растет изо дня в день. Я почувствовал это, когда вчера мой сосед, далекий от IT, всерьёз сравнивал Asus RT-N56 и MikroTik RB2011UAS-2HnD-IN 🙂 Прошивки тех же Asus, несмотря на их красивость и удобность для новичка, все же глючат. То тут, то там интерфейс начинает тормозить, плавает скорость WiFi. Это, а также невысокая стоимость Mikrotik привело к тому, что сейчас даже неспециалисты интересуются этими замечательными устройствами. Но я представил себе моего соседа, который открыл веб-интерфейс Mikrotik. А также глаза настройщика местного провайдера, который ничего, кроме потоковой установки Asus WL520, не делал уже года два. Я к чему? Что для того, чтобы не разочароваться в покупке, надо понимать, что роутеры Mikrotik должны настраиваться теми, кто понимает, что и как он делает. А чтобы немного расширить этот неширокий круг лиц, и написана эта статья.

    В одной статье в интернете (статья, кстати, неплохая) предлагался вариант сброса всех настроек роутера и настройка всего с нуля — объединение интерфейсов, включение NAT. Если вы имеете в запасе много времени и желания полностью изучить предмет разговора — это хороший вариант. Если нет — не надо ничего сбрасывать, просто чуть-чуть добавьте по вкусу. Это ключает в себя задать пароль от WiFi, выбрать регион для того, чтобы не нарушать частотный диапазон и настроить брандмауэр, чтобы можно было начать работать на новом девайсе.

    Хорошей идеей может оказаться сначала подключить Mikrotik как локальный клиент (WAN Mikrotik в LAN порт вашего текущего роутера) и настроить WiFi и др. Таким образом вы сможете, подключив только один ваш ноутбук, все проверить и испытать (и даже посканить роутер из вашей существующей локалки), а потом, когда решите, что готовы, просто включите новенький Mikrotik вместо старого роутера. Если вы что-то напортачите в процессе настройки, вы не выставите незащищенным компьютеры за Mikrotik-ом и всегда спокойно сможете сбросить роутер на заводское состояние.

    Автодополнение команд настолько похоже на стиль Cisco и др., что у вас не возникнет ощущения оторванности от пережитого опыта, а firewall роутера Mikrotik настолько похож на iptables, что не составит существенно труда понять принцип работы, если у вас хоть немного опыта работы с Linux.

    Итак, имеем роутер Mikrotik, например, очень популярный RB951G-2HnD.

    Считаем, что внутренняя сеть осталась нетронутой (192.168.88.0/24), IP роутера 192.168.88.1, внешний интерфейс ether1-gateway.

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

    Доступ к терминалу через WinBox

    Огромное преимущество WinBox состоит в том, что даже если сетевой адаптер компьютера, с которого вы подключаетесь к Mikrotik, находится в другой подсети (ну, настройка у вас такая), то WinBox все равно сможет подключиться к роутеру — по mac. Если вы еще не установили WinBox, самое время это сделать! В браузере открываем веб-интерфейс роутера и находим почти в самом низу ссылочку WinBox.

    Запускаем WinBox и выбираем New Terminal.

    Дальше все как в нормальных взрослых железках, по tab автодополнение команд и др. Вам понравится!

    При вводе команд учтите, что внесенные изменения применяются сразу же, поэтому не заблокируйте сами себя. После ввода команд новые правила будут доступны для редактирования через WinBox или веб-интерфейс. Порядок правил имеет значение — выполняются сверху вниз. Где бы вы ни взяли сами команды, сначала посмотрите, что они делают!

    Цепочка INPUT работает тогда, когда данные предназначены роутеру (его ip адресу). Когда мы что-то настраиваем для этой цепочки, мы в первую очередь защищаем сам роутер (ssh, telnet, веб-интерфес и др.) от взлома. Пожалуй, больше всего внимания требует именно эта цепочка. Общий принцип построения правил: явно запрещаем что-то (например, все новые соединения из интернета ;)) или явно что-то разрешаем (например, удаленный ssh), остальное запрещаем.

    Цепочка FORWARD работает тогда, когда данные проходят через роутер, например, когда ваш локальный компьютер хочет открыть сайт ya.ru. Всякие блокировки на этом этапе защищают вас, например, от того, что зараженный компьютер в вашей локальной сети начнет рассылать спам или учавствовать в DDOS. Т.е. каждый банк-клиент, IM-месенджер и куча другого софта требуют своих особых разрешений, то если вы не защищаете банк от хакеров, то мы просто запретим некоторые наиболее распространенные виды трафика, которые используются зараженными компьютерами. А так весь проходящий из локалки в интернет (но не наоборот!) мы разрешим.

    Читайте также:  Как в автокаде изменить текст в рамке

    Цепочка OUTPUT работает тогда, когда данные генерятся на самом роутере и идут наружу. Например, для запросов DNS. Эту цеопчку по сути нам нет смысла фильтровать. Почти.

    Цепочка forward позволяет нам разрешать или не разрешать проходящий трафик, а вот за то, какой трафик и куда мы будем перенаправлять, отвечают цепочки SRCNAT и DSTNAT.

    Цепочка SRCNAT (Source NAT) предназначена для трафика, условно названного "наружу". Изменяется адрес источника (source) на адрес внешнего интерфейса. Например, чтобы дать возможность клиентам локальной сети посещать сайты в интернет.

    Цепочка DSTNAT (Destination NAT) определяет как будет проходить "входящий" трафик. Роутер изменит адрес назначения (destination). Например, можно сделать доступным из вне веб сервер, размещенный в локальной сети.

    INPUT

    Минимальный набор правил — сделать недоступным из вне внешний интерфейс роутера.

    /ip firewall filter
    add chain=input connection-state=invalid action=drop comment="drop invalid connections"
    add chain=input connection-state=related action=accept comment="allow related connections"
    add chain=input connection-state=established action=accept comment="allow established connections"
    add chain=input action=drop comment="drop everything else" in-interface=ether1-gateway

    где в последнем правиле мы запрещаем весь входящий трафик на внешнем интрфейсе. Не играйтесь настройками удаленно! Легко лишить себя доступа к роутеру.

    Далее, по мере надобности, можно будет помещать разрешающие правила перед последним запрещающим.

    IP -> Firewall — NAT. По-умолчанию, nat уже включен.Это правило "маскарадинга":

    /ip firewall nat add chain=srcnat action=masquerade out-interface=ether1-gateway

    Исходящий интерфейс (out-interface) всегда внешний, смотрящий и интернет (или просто в другую сеть, если у вас все непросто). В принципе, минимально этих правил nat и input уже достаточно. Учтите, что если у вас цепочка forward по-умолчанию блокирует все, что возможно, то надо добавить соответствующее правило:

    /ip firewall filter add chain=forward out-interface=ether1-gateway

    Примеры

    Проброс портов

    Предположим, вам надо сделать доступным веб-сервер (tcp/80), запущенный на локальной машине с IP 192.168.88.22.

    /ip firewall nat add action=dst-nat chain=dstnat dst-port=80 in-interface=ether1-gateway protocol=tcp to-addresses=192.168.88.22 to-ports=80

    Все бы ничего, но скорее всего, у вас включен firewall, который режет все, что не соответствует политике партии. Тогда надо разрешить forward пакетов:

    Это правило надо переместить повыше, т.е. ближе к началу списка правил.

    Перенаправление трафика, адресованного одному ip, на другой ip

    Если вам надо все подключения на один ip-адрес переадресовать другому ip-адресу:

    /ip firewall nat add action=netmap chain=dstnat protocol=tcp dst-address=192.168.88.3 to-addresses=192.168.4.200

    Ждем и давим, как блох любителей чужого ssh

    Если мы не используем ssh для работы с Mikrotik, то нам может быть мало просто отключить ssh в IP -> Services. Если мы не пользуемся ssh, значит, любая попытка коннекта по ssh — вражеская!

    Следующее правило добавляет IP-адреса источников ( action=add-src-to-address-list ), которые подключаются к 22 порту, в список ssh_blacklist , на 60 минут. Само это правило ничего не блокирует, просто заносит в черную книжечку:

    /ip firewall filter
    add chain=input protocol=tcp dst-port=22 address-list=ssh_blacklist action=add-src-to-address-list address-list-timeout=60m comment="record ssh brute forcers" disabled=no log=yes log-prefix=" — SSH ATTEMPT — "

    А вот теперь, имея на руках список хулиганов (ssh_blacklist), можно банить им либо только работу с ssh, либо вообще любые действия в сторону нашего микротика:

    /ip firewall filter
    add chain=input protocol=tcp src-address-list=ssh_blacklist action=drop comment="drop ssh brute forcers"

    Правила по отлову и блокированию маньяков надо разместить выше последнего запрещающего правила, иначе ничего не сработает. А еще лучше, если у вас есть открытый VPN или другие сервисы на микроте — оба этих правила поставить самыми первыми, чтобы тех, кто пытался наш ssh открыть, отгородить вообще от всего на нашем роутере, по принципу — если кто-то в одном что-то замышляет, то и в другом он тоже пакость готовит. Главное — не перестараться! Вдруг вы сами случайно забудете об этом правиле и решите с работы посканить роутер nmap-ом, например.

    По этому принципу настраивают защиту микротика от брутфорса, но здесь я уже не буду засорять эфир, и так уже нагородил простыню.

    Настройка с помощью скрипта

    Вводить каждое правило firewall с консоли руками очень быстро может надоесть, к тому же готовый скрипт легко сохранить "на память". В открытом WinBox выбираем System -> Scripts. В текстовом редакторе готовим скрипт правил, копируем его и жмем Run Script. Потом можно что-то добавить по мелочи, что-то подправить, а может и опять скриптом все.

    Приведу пример скрипта настройки firewall:

    Читайте также:  Как узнать что жена курит

    Обратите внимание: этот скрипт не привязан к внешнему IP или MAC или чему-то уникальному. Его можно брать и использовать. Если вы ничего не меняли в своем роутере и обновили до версии 6.* после покупки, вам на всякий случай следует проверить название внешнего интерфейса и убедиться, что внутренняя сеть 192.168.88.0/24. И все.

    ether1-gateway — внешний интерфейс, первый по счету. Это его имя по-умолчанию. Остальные порты — внутренние.

    В секции ext input ничего нет — мне не нужно, чтобы кто-то подключался к роутеру. Если вам необходим удаленный доступ к роутеру, скажем, по ssh, то впишите команду:

    add chain=input protocol=tcp dst-port=22 action=accept in-interface=ether1-gateway comment="allow remote ssh"

    В секции OUTPUT хватило бы и последней команды (add chain=output action=accept comment="accept everything"), но для интереса я немного разделил по исходящим интерфейсам. Теперь при беглом просмотре будет видно, есть ли вообще трафик от роутера, и если есть, куда он идет — наружу или в локалку. Скажем, увидим, что был трафик наружу, уточним правила по протоколам (tcp, udp, icmp). Если будет еще интереснее, можно будет поставить правило для логирования определенного вида трафика. Особо не увлекайтесь, все-таки роутер не имеет кучи места под логи. Да и лишний раз напрягать слабенький процессор тоже не очень.

    Последнее правило (5) никогда не будет выполняться, я его добавил сюда специально, чтобы продемонстрировать работу jump. Последнее правило для цепочки forward будет (4) drop.

    Т.е. предположим, мы запросили исходящее соединение с удаленным ssh-сервером (т.е. из локальной сети через через цепочку forward, протокол tcp, dst-port 22). Дойдя до блока (1) jumping, выполнится переход в (2) deny для tcp. Т.к. в цепочке tcp нет решения по поводу tcp/22, то выполнение вернется к (3), которое выполнит forward нашего пакета. Если наш пакет не удовлетворит требованиям (3), следующее за ним правило (4) блокирует его.

    Наглядно это очень интересно смотреть, когда в окне Firewall видишь счетчик пакетов по правилам.

    Если вы начали подозревать, что 100500 правок выполняют уже невесть что, просто выделяете все правила брандмауэра и нажимаете delete. Затем снова Run Script 😉

    Чтобы не листать всю простыню, можно отфильтровать листинг правил по цепочкам (фильтр вверху справа):

    Запаситесь терпением, не экспериментируйте в состоянии ночного анабиоза и второпях. В принципе, это все.

    В этой статье мы рассмотрим как пробросить порт на маршрутизаторах Mikrotik для RDP. Инструкция актуальна для всех устройств Mikrotik Router OS.

    Любую схему можно представить в таком виде:

    Если вы ищете понятный и удобный источник информации по микротикам, то вот он: курс «Настройка оборудования MikroTik». Это видеоучебник, где «без воды» собрана вся базовая информация по работе с MikroTik и RouterOS. Для новичков станет прямым руководствам, опытные инженеры смогут освежить и упорядочить знания. 162 видеоурока и 45 лабораторных работ, основанные на программе вендора MTCNA. Первые 25 уроков можно заказать бесплатно на странице курса.

    Клиент отправляет запрос на внешний ip адрес клиента, роутер обрабатывает его и если создано правило отправляет его уже дальше к компьютеру в локальной сети.

    Рассмотрим подробнее, как создать это правило в Mikrotik Router OS.

    Все операции будем выполнять через WinBox.

    Подключаемся к роутеру, заходим в IP->Firewall->NAT и нажимаем + что бы создать новое правило.

    Тут нужно заполнить всего несколько опций.

    Первое поле — это Chain (Цепочка). Тут может быть всего два варианта — srcnat и dstnat. Цепочка — это направление потока данных. Srcnat — из внутренней сети во внешнюю, dstnat — из внешней во внутреннюю. В нашем случие нам нужен dstnat.
    Далее идут Src. Address (исходный адрес) и Dst. Address (адрес назначения). Если вы планируете подключаться с определенного IP адреса, тогда вносим его в Src. Address, если хотите подключаться с любого ip адреса тогда оставляем поле пустым. В адрес назначения — всегда внешний адрес роутера, так что это поле можно не заполнять.
    Далее следует пункт Protocol (протокол). Здесь значение надо выбрать обязательно, иначе мы не сможем указать номер порта. Для rdp выбираем tcp.
    Src. Port (исходящий порт) — это тот порт, из которого удалённая машина инициирует соединение с нашим роутером. Нам это не нужно, оставляем поле пустым.
    Dst. Port (порт назначения) — а это как раз тот порт, на который мы хотим принимать соединение. Для RDP это 3389.
    Затем идёт пункт Any Port (любой порт) — так и есть, это объединение двух предыдущих пунктов, тут можно указать значение, которое будет работать и как исходный порт, так и как порт назначения. В целом, нам это не требуется.
    Теперь очень важный момент:
    In. interface (входящий интерфейс) — это тот интерфейс который смотрит наружу.
    Out. interface (исходящий интерфейс) — интерфейс, к которому подключен компьютер, на который мы делаем переадресацию, заполнять это поле нет необходимости.
    Далее идут узкоспециализированные параметры, я сейчас не буду на них останавливаться.
    В итоге у насполучается такая картина:

    Читайте также:  Как узнать сколько систем установлено на компьютере

    В целях безопасности мы рекомендуем вам изменить стандартный порт rdp 3389 на любой другой. В этом случаи для подключения к удаленному компьютеру после ip адреса нужно поставить : и ввести адрес порта, например 192.168.0.100:5971

    Вкладки Advanced (Продвинутый) и Extra (Дополнительный) содержат различные параметры расширенной настройки, нам они не нужны, идём сразу в Action (Действие)

    В поле Action нужно выбрать конкретное действие, которое будет выполняться с подключением на указанный ранее порт:
    accept — Просто принимает пакет;
    add-dst-to-address-list — Добавляет адрес назначения в указанный список адресов;
    add-src-to-address-list — Аналогично предыдущему, но для исходного адреса;
    dst-nat — Переадресовывает данные, пришедшие из внешней сети, во внутреннюю;
    jump — Позволяет применить для данных правила из другой цепочки.
    log — Добавляет информацию о пакете в лог роутера;
    masquerade — Подмена внутреннего адреса компьютера из локальной сети на адрес роутера;
    netmap — Отображение одного адреса на другой. Фактически, развитие dst-nat;
    passthrough — Пропуск текущего пункта правил и переход к следующему. Используется в основном для статистики;
    redirect — Перенаправляет данные на другой порт в пределах роутера;
    return — Возвращает управление обратно, если в эту цепочку выполнялся прыжок правилом jump;
    same — применяется в очень редких случаях, когда нужно применять одни и те-же правила для группы адресов;
    src-nat — Обратная dst-nat операция: перенаправление данных из внутренней сети во внешнюю.
    Для наших целей подходит dst-nat и netmap, остановимся на пером варианте.

    Далее нажимаем Apply что бы сохранить правило.

    Так же имеет смысл указать коментарий для этого правила, что бы в будующем не вспомнитать что это.

    Нажимаем кнопку Comment, назовем это правило rdp и нажимаем ОК.

    Все, на этом правило создано.

    Если вы ищете понятный и удобный источник информации по микротикам, то вот он: курс «Настройка оборудования MikroTik». Это видеоучебник, где «без воды» собрана вся базовая информация по работе с MikroTik и RouterOS. Для новичков станет прямым руководствам, опытные инженеры смогут освежить и упорядочить знания. 162 видеоурока и 45 лабораторных работ, основанные на программе вендора MTCNA. Первые 25 уроков можно заказать бесплатно на странице курса.

    Нередко у нас возникает необходимость дать доступ снаружи к компьютерам, которые находятся за NAT-ом в нашей локальной сети. Будь то веб-сервер или персоналка, к которой надо дать доступ снаружи по протоколу RDP, чтобы сотрудник мог работать из дома используя «Удаленный рабочий стол». Сегодня расскажу, как пробросить порты на роутере MikroTik используя dst-nat.

    В статье, посвященной настройке DHCP-сервера, я раздал IP-адреса двум компьютерам: 192.168.33.2 и 192.168.33.129. Пусть первый будет веб-сервером, а второй будет персоналкой. Соответственно, для веб-сервера нам нужно пробросить, как минимум 80-ый порт, а для персоналки — порты для удовлетворения хотелок пользователя. А пользователь хочет удаленный рабочий стол. Пусть нашим внешним ip будет 1.1.1.1 на интерфейсе inetTest.

    Проброс портов в winbox

    Открываем IP — Firewall — NAT, жмем «+»

    Добавление правила NAT

    Chain — цепочка, в которой будет обрабатываться правило. Выбираем dstnat.
    Src. Address — адрес источника. Если мы хотим указать конкретный адрес, то забиваем сюда. Но т.к. веб-сервер должен быть доступен всем, то я это поле не заполняю.
    Dst. Address — адрес, к которому будут обращаться клиенты извне. В данном примере это адрес 1.1.1.1. Можно этот адрес не указывать, но в этом случае нужно будет обязательно указать In. Interface
    Protocol — выбираем TCP.
    Dst. port — порт, к которому будут обращаться клиенты извне. Для веб-сервера по-умолчанию это порт 80.
    In. Interface — интерфейс, который смотрит наружу. В нашем случае это интерфейс inetTest.

    Остальные параметры нам в этой статье неинтересны, поэтому переходим на вкладку Action.

    Добавление правила вкладка Action

    Action — выбираем dst-nat.
    To Addresses — пишем IP-адрес нашего веб-сервера в локальной сети.
    To Ports — порт 80.

    Этого, собственно, достаточно. Но есть один очень важный момент. У роутера MikroTik есть встроенный веб-сервер, который висит на том же дефолтном порту 80. Надо его оттуда убрать. Заходим в IP — Services и меняем там порт службы www с 80-го, на произвольный.

    Процесс создания правила проброса порта RDP для персоналки аналогичен вышеописанному.

    Проброс портов — скрипты

    В скриптах я добавил еще одно правило для протокола HTTPS на веб-сервер, а для проброса RDP использовал нестандартный порт.

    Ссылка на основную публикацию
    Hp com go techcenter pcdiags что делать
    You may not be able to visit this page because of: an out-of-date bookmark/favourite a search engine that has an...
    Bright starts хохотунчики как поменять батарейку
    Данный товар недоступен для доставки в Ваш регион Мы всегда стремимся к лучшему, чтобы радовать своих покупателей самыми выгодными ценами....
    Cdfs как открыть на windows 7
    0 расширения(ы) и 1 псевдоним(ы) в нашей базе данных Ниже вы можете найти ответы на следующие вопросы: Что такое .cdfs...
    Ibridge 3 не видит компьютер
    Leef iBridge 32GB (LIB000KK032R6) При подключении Leef iBRIDGE iPAD не видит это устройство. ЧТО ДЕЛАТЬ? Ответы 1 Пробуйте разные компьютеры,...
    Adblock detector