Всем привет! Сегодня поговорим про проброс портов на роутере Mikrotik. Аппарат достаточно сложный в настройках, именно поэтому я буду писать максимально понятно и подробно, чтобы даже начинающий пользователь не смог столкнуться хоть с какими-то трудностями. Буду приводить на примере обычного аппарата, хотя логика настройки у них в целом похожая.
Сразу оговорюсь о важном моменте. На старых скриншотах и старых конфигурациях MikroTik названия интерфейсов и некоторых пунктов меню могут немного отличаться от того, что вы видите у себя. Это нормально. На текущий день принцип проброса портов не поменялся: нам все так же нужно создать правило dstnat, указать входящий порт со стороны интернета и перенаправить его на конкретное устройство внутри локальной сети.
Подключение
Сначала нам нужно зайти в настройки маршрутизатора. Можно это сделать с помощью Web-интерфейса, но лучше использовать программу WinBox, которую свободно можно скачать с официального сайта.
После запуска WinBox можно подключиться как по IP, так и по MAC-адресу устройства. Для новичка второй вариант иногда даже удобнее, потому что роутер может еще не иметь нормального IP-адреса после сброса или в списке отображаться как «0.0.0.0». В таком случае просто открываем список соседей, обновляем его и выбираем найденный MikroTik. Если хотите подробнее почитать именно про логин и пароль, вот отдельный материал: пароль по умолчанию MikroTik.
После установки и запуска заходим во вкладку «Neighbors» и нажимаем по кнопке «Refresh» чуть ниже. Далее в списке вы увидите свой аппарат – выбираем его, вводим в качестве логина «admin» и нажимаем «Connect».
Тут тоже есть важное уточнение. На старых устройствах и после некоторых видов сброса у пользователя «admin» пароля может не быть, но на новых моделях заводской пароль нередко уже задан и указан на наклейке или в комплекте. Поэтому если пустой пароль не подходит, не нужно сразу думать, что роутер «мертвый» или кто-то его уже сломал. Сначала смотрим наклейку, коробку или бумажную инструкцию от устройства.
Знакомство с интерфейсами
Прежде чем я расскажу про то, как открыть порт на Микротике, небольшой экскурс для новичков. Для начала нам нужно посмотреть, какие интерфейсы у нас есть. Для этого переходим в «Interfaces».
Что такое интерфейсы в Микротике? По сути это некие каналы связи самого аппарата с другими устройствами локальной сети, а также с интернетом. Ведь роутер в нашем случае – это еще и шлюз. Сейчас рассмотрим более подробно каждое из подключений, и вы все поймете.
Здесь как раз чаще всего и начинается путаница у новичков. На старых конфигурациях можно увидеть названия вроде «ether1-gateway», «ether2-master-local» и «bridge-local». На более новых конфигурациях вы чаще увидите просто «ether1», «bridge», а еще списки интерфейсов «WAN» и «LAN». Не пугайтесь – смысл тот же самый: один интерфейс смотрит в сторону провайдера, а остальные обычно объединены в локальную сеть.
- «ether1-gateway» или просто «ether1» – чаще всего это WAN-порт, то есть подключение в сторону провайдера. Но при желании в MikroTik можно переназначить роль портов по-своему.
- «bridge-local» или просто «bridge» – это общий мост локальной сети. Обычно в него входят LAN-порты и Wi-Fi, чтобы все внутренние устройства были в одной подсети.
- «ether2-master-local» и «ether(3-4)-slave-local» – старые названия локальных портов. На новых конфигурациях они могут называться проще, а сами порты часто просто добавлены в bridge.
- «wlan1», «wifi1» или похожий беспроводной интерфейс – это Wi-Fi сеть, которая тоже обычно относится к локальной стороне.
Если у вас роутер уже настроен по умолчанию, то в правилах брандмауэра и NAT нередко используются не конкретные порты, а именно списки интерфейсов «WAN» и «LAN». Это даже удобнее, потому что потом проще менять конфигурацию и не переписывать правила вручную. Проще говоря, если вы видите в статье старый вариант с ether1, а у вас в настройках есть «WAN» – используйте «WAN».
С интерфейсами мы разобрались. Так как любой роутер является шлюзом и общается как с внешней глобальной сетью, так и с внутренней локальной, для этого существует NAT (Network Address Translation) технология. Как она работает? По сути она позволяет обмениваться данными между глобальной и локальной сетью. Например, один из компьютеров дает запрос в интернет к серверу. Но тут встает проблема – комп находится в локальной сети и имеет локальный адрес.
Роутер принимает этот запрос и, отправляя запрос серверу, подменяет локальный IP-адрес на свой внешний. Когда ответ приходит, роутер уже отправляет ответ именно тому компьютеру, который его отправлял. Именно NAT и отвечает за переадресацию портов.
На практике это выглядит так: снаружи интернет видит только внешний адрес вашего роутера, а все локальные устройства спрятаны за ним. Поэтому если вы хотите открыть доступ к камере, игровому серверу, торрент-клиенту, NAS или удаленному рабочему столу, роутеру нужно явно сказать – «все запросы на такой-то внешний порт отправляй вот на этот локальный IP». Это и есть проброс портов.
NAT и настройка
Найдите основной раздел «IP», потом перейдите в «Firewall».
Переходим на нужную нам вкладку NAT и видим, что одно из правил уже есть. Называется это правило «masquerade», что в переводе означает «маскарад» – это как раз то самое правило, о котором я только что рассказывал. Оно необходимо для общения всех локальных устройств с интернетом. «Маскарад» – будто бы маршрутизатор надевает маску в виде внешнего IP-адреса для внешних серверов, чтобы получить ответ по запросу от локального устройства.
И вот тут очень важный момент. Правило «masquerade» не открывает порт само по себе. Оно нужно для обычного выхода ваших домашних устройств в интернет. Для проброса порта нам требуется уже отдельное правило в цепочке «dstnat». Поэтому не путайте эти две вещи: одно правило отвечает за исходящий доступ в интернет, а второе – за входящий доступ извне к вашему локальному устройству.
Нам же нужно создать другое правило, где мы будем при запросе на порт получать доступ к локальной машине. Теперь по тем параметрам, которые нам необходимы:
- Chain – ставим «dstnat», потому что нам нужен доступ из внешней сети к внутреннему устройству.
- Protocol – указываем нужный протокол. Чаще всего это TCP, иногда UDP, а в некоторых играх и сервисах нужны оба варианта.
- In. Interface или In. Interface List – здесь лучше указывать интерфейс со стороны провайдера. Если у вас есть список WAN, то удобнее выбрать именно его.
- Dst. Port – внешний порт, на который придет запрос из интернета.
- Src. Port – обычно трогать не нужно. Для стандартного проброса новичку это поле почти никогда не требуется.
Отдельно скажу про поле Out. Interface. В обычном домашнем пробросе его чаще всего можно вообще не заполнять. Главное – правильно указать, откуда трафик приходит, то есть WAN, и куда его надо отправить, то есть локальный IP целевого устройства. Из-за лишних необязательных полей новички очень часто сами себе усложняют настройку.
На первой вкладке мы закончили. Теперь переходим на вкладку «Action», где нужно установить конкретное правило переадресации.
- dst-nat – это основной и правильный вариант для обычного проброса порта на локальное устройство.
- To Addresses – локальный IP-адрес конечного устройства, например компьютера, камеры, регистратора или сервера.
- To Ports – порт на самом локальном устройстве. Если внутри и снаружи вы используете один и тот же номер, то просто указываете его же.
- Comment – очень советую сразу написать понятный комментарий, чтобы через месяц не вспоминать, зачем вы вообще создавали это правило.
Чтобы не путаться в длинном списке действий, запомните простую вещь. Для обычного проброса нужен именно dst-nat. Действие redirect обычно используется, когда трафик надо завернуть на сам роутер. netmap – это уже более специальная история, чаще для 1:1 преобразования адресов или диапазонов, а не для типового домашнего проброса одного порта. Поэтому новичку лучше не экспериментировать и выбирать именно dst-nat.
Некоторые параметры очень схожи по работе. Для наглядности я приведу конкретный пример. У нас есть машина, на которой есть Torrent. Вот мы и будем пробрасывать конкретный порт для данной программы. Именно поэтому на вкладке «General» в строке «Dst Port» я указал 51413 порт. На вкладке «Action» в таком случае правильнее использовать «dst-nat», а в To Addresses вписать локальный IP-адрес компьютера, а в To Ports – тот же самый порт 51413.
У вас могут быть совершенно другие порты (80, 443, 8080, 3389, 51413 и т.д.). Очень часто нужно открыть порт наружу для видеонаблюдения, удаленного рабочего стола, домашнего сервера, веб-панели NAS или конкретной сетевой программы.
Внизу нужно будет указать IP-адрес аппарата и порт, с которого будет идти переадресация. Я настоятельно рекомендую написать также комментарий, чтобы потом не забыть. Теперь два раза жмем «OK» и радуемся – правило создано!
Но на этом месте многие делают главную ошибку – забывают, что у конечного устройства должен быть постоянный локальный IP-адрес. Если сегодня ваш ПК получил по DHCP один адрес, а завтра другой, правило проброса начнет указывать не туда. Поэтому для компьютера, камеры, регистратора или NAS лучше либо задать статический адрес на самом устройстве, либо сделать привязку по DHCP Lease на MikroTik. Если у вас с этим пока каша в голове, можно почитать базовую статью про адресацию и подключение: настройка MikroTik: интернет, Wi-Fi, локальная сеть.
Пример через терминал:
/ip firewall nat add chain=dstnat action=dst-nat in-interface-list=WAN protocol=tcp dst-port=51413 to-addresses=192.168.88.100 to-ports=51413 comment="Torrent"Если у вас нет списка интерфейсов WAN, можно вместо
in-interface-list=WANиспользовать конкретный WAN-порт, напримерin-interface=ether1. Это удобно, когда вы хотите быстро проверить, что правило создается правильно, без лишних кликов мышкой.
ПРИМЕЧАНИЕ! Если у вас не работает проброс портов, то проверьте также настройку Firewall на конечном ПК, если он есть. Также убедитесь, что вы указали нужный WAN-интерфейс в MikroTik, а не локальный bridge или LAN-порт.
Что еще нужно проверить, если порт не открывается
Теперь самая важная практическая часть. Само правило NAT еще не гарантирует, что доступ заработает с первого раза. Проброс порта – это цепочка из нескольких условий. Должен быть публичный внешний IP-адрес, нужный сервис должен реально слушать порт на локальном устройстве, а локальный брандмауэр не должен блокировать входящее соединение. Если хотя бы одно звено ломается, снаружи вы увидите просто «порт закрыт».
Первое, что я советую проверить – есть ли у вас вообще белый внешний IP-адрес. Если провайдер посадил вас за серый IP или CGNAT, то проброс на домашнем роутере сам по себе не даст доступа из интернета. Проще всего сравнить адрес на WAN-интерфейсе MikroTik с тем адресом, который показывают внешние сервисы проверки IP. Если они не совпадают, сначала почитайте про белый и серый IP-адрес – у многих проблема именно в этом.
Второй момент – на целевом компьютере или сервере должна быть реально запущена программа, которая слушает нужный порт. Если вы пробросили порт 3389, а служба удаленного рабочего стола выключена, роутеру просто некуда отправлять трафик. На Windows это можно быстро проверить командой netstat -ano | findstr ":3389". На Linux похожая проверка делается так: ss -lntup | grep 3389. Если в ответ пусто, значит на этом порту пока никто не слушает.
Третий момент – локальный брандмауэр. Особенно часто это всплывает на Windows, когда на роутере все уже настроено правильно, а входящее соединение режет сам компьютер. Если у вас сервис работает, порт на него проброшен, но доступа все равно нет, тогда отдельно проверьте правила Защитника Windows. Для этого у нас есть подробная инструкция: как открыть порты в брандмауэре Windows.
Четвертый момент – не тестируйте внешний проброс из той же самой Wi-Fi сети как единственный способ проверки. На некоторых конфигурациях доступ к своему же внешнему адресу изнутри локальной сети работает не сразу или требует отдельной настройки hairpin NAT. Поэтому самый честный тест – выключить Wi-Fi на телефоне и попробовать зайти через мобильный интернет. Если с мобильной сети доступ есть, а из дома по внешнему адресу нет, значит проблема уже не в самом пробросе, а именно в локальном сценарии проверки.
Пятый момент – активные соединения. Если вы меняли NAT-правило «на лету», а потом сразу проверяете тот же сервис, старая сессия может еще висеть в таблице соединений. В редких случаях из-за этого кажется, что правило не работает или применяется «через раз». Тогда можно временно остановить программу на конечном устройстве, включить ее заново и повторить тест. При желании в MikroTik можно открыть «IP» – «Firewall» – «Connections» и удалить старую активную запись вручную.
Я не советую без необходимости открывать в интернет админку самого MikroTik, WinBox, WebFig, SSH или RDP на обычный домашний компьютер «для всех подряд». Проброс порта наружу – это уже публикация сервиса в интернет, а значит по нему очень быстро полетят попытки перебора и сканирования. Если вам нужен именно удаленный доступ к роутеру, лучше делать это аккуратно и с ограничениями. Для начала можете почитать: доступ к MikroTik из интернета.
FAQ
Нужно ли создавать отдельное правило для TCP и UDP?
Да, если вашей программе нужны оба протокола. Одним правилом «TCP» вы не откроете «UDP», и наоборот. Если в документации сервиса написано сразу два протокола, значит создаем два отдельных NAT-правила или одно правило на нужный протокол, а затем второе по аналогии.
Можно ли пробросить внешний порт на другой внутренний порт?
Да, конечно. Например, снаружи вы обращаетесь на 50000, а внутри запрос улетает на 3389 или 80. Для этого в «Dst. Port» указываете внешний порт, а в «To Ports» – внутренний. Такой прием иногда используют, чтобы не светить стандартный номер наружу, хотя с точки зрения безопасности это не панацея.
Если у меня динамический внешний IP, проброс работать будет?
Да, сам проброс работать может. Проблема будет только в том, что внешний адрес у вас может меняться, и тогда подключаться по старому IP уже не получится. В таком случае обычно используют DDNS. На MikroTik для этого есть удобные инструменты, но сначала я советую убедиться, что сам порт вообще открывается по текущему адресу.
Почему правило есть, а счетчики у него не растут?
Чаще всего это значит одно из трех: запрос вообще не доходит до роутера, выбран не тот WAN-интерфейс, или у вас серый IP от провайдера. Реже причина в том, что трафик режется выше по цепочке – другим роутером, модемом провайдера или фильтрами Firewall. То есть если счетчик NAT-правила стоит на нуле, искать проблему надо не на конечном ПК, а раньше.
Что делать, если я совсем запутался и уже не понимаю, что менял?
В таком случае иногда быстрее сохранить то, что нужно, и начать с чистой конфигурации, чем часами ловить одну ошибку в десятке правил. Но делать это стоит только если вы понимаете последствия и у вас есть доступ к роутеру после сброса. Если понадобится, вот инструкция: сброс MikroTik к заводским настройкам.










Спасибо вам огромное) Только купил себе его, да уж машина сложная
Ничего сложно, самое главное знать все эти обозначения и сокращения. В общем нужно знакомиться с этим аппаратом поближе
Вот только толку, если у меня серый IP – только щас узнал об этом. Да уж. Надо будет провайдера менять что ли
Позвони провайдеру и попытайся убедить их пробросить конкретные порты (обязательно запиши их, чтобы не забыть)
Но скорее всего они предложат выключить NAT в личном кабинете – и тогда на белом уже можно будет пробросить
Нужно ли прописывать
IP→Firewall→NAT, Chain=srcnat, Dst Address=192/168/88/0/24, Out Interface List=LAN, action=masquerade
?
И еще вопросец если позволите
Каждая сессия программы использует рандомный порт. Могу ли я в to-ports прописать диапазон, чтобы в уже созданном правиле каждый раз в правиле прописывать только dst port:?:
Как есть
IP→Firewall→NAT, Chain=dstnat, protocol=TCP, Dst. Port=51413, In Interface List=WAN, action=netmap, to-addresses=192.168.88.2, to-ports=51413
Как хотелось бы
IP→Firewall→NAT, Chain=dstnat, protocol=TCP, Dst. Port=51413, in interface List=WAN, action=netmap, to-addresses=192.168.88.2, to-ports=𝟰𝟵𝟬𝟬𝟬-𝟱𝟵𝟬𝟬𝟬
Как открыть UDP-порт? Я пробрасываю его по аналогии с TCP-портом, но внешняя проверялка портов показывает что он закрыт. Хотя статистика в правиле по UDP работает