- Пробрасываем порт на MikroTik RouterOS
- Зачем пробрасывать порты?
- Настройка Port Forwarding в MikroTik
- Настройка вкладки General
- Настройка вкладки Action
- MikroTik проброс портов и настройка NAT для доступа в интернет
- MikroTik NAT. Общая информация
- Destination NAT
- Проброс портов на MikroTik
- Пример проброса порта для RDP
- Проброс порта на MikroTik для видеонаблюдения
- Проброс портов для нескольких внешних IP
- Перенаправление трафика на маршрутизатор
- MikroTik проброс портов по туннелю L2TP
- Source NAT
- Настройка MikroTik NAT для доступа в интернет
- Настройка NAT для статического WAN
- Настройка NAT для динамического WAN
- NAT loopback (Hairpin NAT)
- Правило Hairpin NAT MikroTik для статического WAN
- NAT Loopback при динамическом WAN
- Netmap
- Проброс всех портов и протоколов на локальный IP
- Как объединить разные сети с одинаковой IP-адресацией
Пробрасываем порт на MikroTik RouterOS
Сегодня мы займемся пробросом портов на RouterOS v6.43.4 stable Oct/17/2018 06:37:48 на железке RB952Ui-5ac2nD
Зачем пробрасывать порты?
Обычно порты
пробрасывают для доступа к внутренним ресурсам локальной сети из интернета, например:
- организации пиринговых (одноранговых) сетей
- доступа к IP-камере из интернета
- корректной работы торрента
- работы WEB и FTP-серверов
- доступ из любой точки мира к серверу умного дома
По умолчанию в роутерах работает правило так называемого маскарадинга. IP-адреса компьютеров и других устройств из локальной сети не видны ЗА роутером, во внешней сети. При поступлении пакетов данных из внутренней сети для отправки во внешний мир роутер открывает определенный порт и подменяет внутренний IP устройства на свой внешний адрес — надевает «маску», а при получении ответных данных на этот порт — отправляет их на тот компьютер внутри сети, для которого они предназначаются
Таким образом, все получатели данных из внешней сети видят в сети только роутер и обращаются к его IP-адресу. Компьютеры, планшеты и другие устройства в локальной сети остаются невидимыми.
На этой схеме есть одно отличие: роутер принимает только те пакеты данных, которые приходят по соединению, инициированному компьютером из внутренней сети. Если компьютер или сервер из внешней сети пытается установить соединение первым, роутер его сбрасывает. А для указанных выше пунктов (игровой сервер, пиринговые сети и т. п.) такое соединение должно быть разрешено. Вот для этого и применяется проброс портов. Фактически, это команда роутеру зарезервировать один порт и все данные извне, которые на него поступают, передавать на определенный компьютер. Т. е. сделать исключение из маскарадинга, прописав новое правило.
Настройка Port Forwarding в MikroTik
В MikroTik управление настройкой проброса портов находится в меню IP =>Firewall =>NAT.
По умолчанию здесь прописан тот самый маскарадинг — подмена внутренних локальных адресов внешним адресом сервера. Мы же здесь создадим дополнительное правило проброса портов.
Настройка вкладки General
Нажимаем плюс и в появившемся окне заполняем несколько полей:
- Chain — направление потока данных. В списке выбора — srcnat, что означает «изнутри наружу», т. е. из локальной сети во внешний мир, и dstnat — из внешней сети во внутреннюю. Мы выбираем второе, так как будем принимать входящие подключения.
- Src. Address Dst.Address — внешний адрес, с которого будет инициироваться подключение, и адрес назначения (всегда адрес роутера). Оставляем незаполненным.
- Protocol — здесь указываем вид протокола для нашего соединения, tcp или udp, заполняем обязательно.
- Src. Port (исходящий порт) — порт удаленного компьютера, с которого будут отправляться данные, оставляем пустым, если для нас это неважно.
- Dst. Port (порт назначения) — проставляем номер внешнего порта роутера, на который будут приходить данные от удаленной машины и переадресовываться на наш компьютер во внутренней сети. (В моем случае это 30000 т.к. я подменяю стандартный порт 3389 из мира.)
- Any. Port (любой порт) — если мы проставим здесь номер порта, то укажем роутеру, что этот порт будет использоваться и как исходящий, и как входящий (объединяя два предыдущие поля в одном).
- In. interface (входящий интерфейс) — здесь указываем интерфейс роутера MikroTik, на котором используется, «слушается» этот порт. В нашем случае, так как мы делаем проброс для поступления данных извне, это интерфейс, через который роутер подключен к Интернет, в моем случае это WAN. Параметр нужно указать обязательно, иначе порт не будет доступным из локальной сети. Если мы подключены к провайдеру через pppoe, то возможно, потребуется указать его, а не WAN-интерфейс.
- Out. interface (исходящий интерфейс) — интерфейс подключения компьютера, для которого мы делаем проброс портов.
Настройка вкладки Action
В поле Action прописываем действие, которое должен будет выполнять роутер. Предлагаются варианты:
- accept — просто принимает данные;
- add-dst-to-address-list — адрес назначения добавляется в список адресов;
- add-src-to-address-list — исходящий адрес добавляется в соответствующий список адресов;
- dst-nat — перенаправляет данные из внешней сети в локальную, внутреннюю;
- jump — разрешает применение правила из другого канала, например при установленном в поле Chain значения srcnat — применить правило для dstnat;
- log — просто записывает информацию о данных в лог;
- masquerade — маскарадинг: подмена внутреннего адреса компьютера или другого устройства из локальной сети на адрес маршрутизатора;
- netmap — создает переадресацию одного набора адресов на другой, действует более расширенно, чем dst-nat;
- passthrough — этот пункт настройки правил пропускается и происходит переход сразу к следующему. Используется для статистики;
- redirect — данные перенаправляются на другой порт этого же роутера;
- return — если в этот канал мы попали по правилу jump, то это правило возвращает нас обратно;
- same — редко используемая настройка один и тех же правил для группы адресов;
- src-nat — переадресация пакетов из внутренней сети во внешнюю (обратное dst-nat перенаправление).
Для наших настроек подойдут вариантыdst-natиnetmap. Выбираем последний, как более новый и улучшенный.
В поле To Adresses прописываем внутренний IP-адрес компьютера или устройства, на который роутер должен будет перенаправлять данные по правилу проброса портов. В поле To Ports, соответственно, номер порта, к примеру:
- 80/tcp — WEB сервер,
- 22/tcp — SSH,
- 1433/tcp — MS SQL Server,
- 161/udp — snmp,
- 23/tcp — telnet
Если значения в поле Dst. Port предыдущей вкладки и в поле To Ports совпадают, то здесь его можно не указывать.
Далее добавляем комментарий к правилу, чтобы помнить, для чего мы его создавали.
MikroTik проброс портов и настройка NAT для доступа в интернет
Из этой статьи мы узнаем, как настроить на MikroTik проброс портов и NAT (трансляция сетевых адресов) для доступа хостов локальной сети в интернет. Для примера выполним проброс портов через туннель между двумя MikroTik. А также продемонстрируем реализацию перенаправление трафика на маршрутизатор.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Поговорим о настройке Masquerade, выясним, когда рекомендуется использовать Srcnat вместо Masquerade. Рассмотрим пример, где объединим две разные сети, IP-адреса которых совпадают, с помощью Netmap.
MikroTik NAT. Общая информация
NAT (Network Address Translation) – преобразование сетевых адресов. Главное назначение NAT – это экономия белых IP-адресов и повышение безопасности сети за счет ограничения обращений к внутренним хостам LAN снаружи и возможности скрыть сервисы с помощью подмены портов.
«Классический» NAT предполагает, что количество одновременных выходов в интернет из локальной сети за “натом” ограничено количеством свободных портов TCP/UDP. Благодаря этому множество устройств может одновременно выйти в интернет через один белый IP.
По умолчанию для LAN сети, находящейся за “натом”, доступ в интернет есть, а из глобальной сети в NAT-сеть попасть нельзя. За исключением случаев проброса портов.
Настройка NAT на MikroTik подразделяется на два типа:
- Destination NAT – изменение IP-адреса назначения и выполнение обратной функции для ответа. Преобразование адреса получателя называется dst-nat;
- Source NAT – изменение IP-адреса источника и выполнение обратной функции для ответа. Преобразование адреса источника называется src-nat.
Все остальные действия – производные от dst-nat и src-nat.
NAT обрабатывает только первый пакет соединения (connection-state=new).
Схематично принцип работы NAT можно изобразить так:
Принцип работы MikroTik NAT
Destination NAT
Цепочка Dstnat при настройке NAT на MikroTik служит для изменения IP-адреса и/или порта назначения и выполнения обратной функции для ответа.
Практически применяется в следующих случаях:
- Чтобы выполнить на MikroTik проброс портов в локальную сеть, для доступа извне.
- Перенаправление любого DNS-трафика через маршрутизатор.
Стандартные действия возможные для цепочки dst-nat:
- dst-nat – преобразование адреса и/или порта получателя;
- redirect – преобразование адреса и/или порта получателя на адрес маршрутизатора.
Давайте практически разберем, как выполняется настройка NAT на MikroTik для цепочки dstnat.
Проброс портов на MikroTik
Пример проброса порта для RDP
Как говорилось ранее, в MikroTik проброс портов делается при помощи создания правил для цепочки dstnat. В качестве примера выполним проброс порта RDP соединения для доступа к внутреннему компьютеру локальной сети.
Так как стандартный порт 3389 для RDP подключения является известным и часто подвергается атакам, то пробросить его напрямую будет не очень хорошей идеей. Поэтому скроем данный сервис с помощью подмены порта.
Для этого откроем:
- IP=>Firewall=>NAT=> “+”.
На вкладке “General” укажем цепочку правил, протокол, протокол подключения и входящий интерфейс:
- Chain: dstnat – цепочка правил для IP-адреса назначения;
- Protocol: 6 (tcp) – протокол;
- Dst. Port: 47383 – номер порта по которому будем обращаться к роутеру;
- In. Interface – входящий WAN-интерфейс (у меня это ether1, у вас может быть другой).
При пробросе портов на MIkroTik надо обязательно указать входящий интерфейс. Иначе возможны проблемы.
Следующим шагом откроем вкладку “Action”:
- Для поля “Action” указываем значение dst-nat;
- To Addresses – указываем внутренний IP хоста, к которому хотим получить доступ по RDP;
- To Ports – порт на который будут перенаправляться запросы.
Как итог все запросы, приходящие на внешний IP роутера по порту 47383, будут пересылаться на внутренний адрес локальной сети 192.168.12.100 порт 3389 (RDP).
Проброс порта на MikroTik для видеонаблюдения
Следующим примером мы постараемся показать, как настроить на MikroTik проброс портов для видеосервера с установленным ПО “Линия”.
Проброс порта на MikroTik для видеорегистратора напрямую, настраивается аналогичным образом.
Предположим, что есть Видеосервер с ПО “Линия” к которому необходимо получить доступ извне. Для начала откроем настройки программного обеспечения “Линия”, чтобы узнать порт Веб-сервера:
Чтобы получить доступ к видеосерверу, необходимо пробросить порт 9786. Откроем Winbox и добавим правило:
Распространенной ошибкой при пробросе портов на MikroTik является то, что не указывают входящий интерфейс.
Откроем пункт меню “Action”:
- Указываем действие dst-nat;
- To Addresses – внутренний IP видеосервера или видеорегистратора.
Проброс портов для нескольких внешних IP
Чтобы сделать проброс портов для нескольких WAN, то необходимо создать Interface List и добавить в него нужные интерфейсы. Далее укажем созданный лист в параметре In. Interface List. Покажем это на примере:
Создадим новый лист для интерфейсов “ISP”:
- Interfaces;
- Interface List => Lists => “+”.
- Name: ISP – произвольное имя для Interface List.
Следующим шагом добавим нужные WAN интерфейсы:
Повторить данный шаг для всех WAN-интерфейсов.
Модернизируем ранее созданное правило проброса порта для RDP соединения, указав лист “ISP” для настройки In. Interface List:
Так можно настроить проброс портов на MikroTik для нескольких WAN.
Как защитить проброшенные порты вы можете узнать изучив статью MikroTik настройка Firewall.
Перенаправление трафика на маршрутизатор
С помощью действия redirect возможно перенаправление трафика на Микротик. Практическое применение данного действия мы рассмотрим, выполнив переадресацию запросов DNS.
Перенаправим весь DNS-трафик на маршрутизатор. Следовательно, пользователи компьютеров в LAN, какие бы настройки DNS ни указывали локально, будут считать, что им отвечает DNS-сервер, которому сделан запрос, но фактически ответ будет приходить от маршрутизатора.
Для этого выполним настройку NAT на MikroTik следующим образом.
- Откроем: IP=>Firewall=>NAT=> “+”.
Перейдем в пункт меню “Action” и укажем действие redirect:
MikroTik проброс портов по туннелю L2TP
Рассмотрим пример проброса портов между двумя устройствами Mikrotik, которые объединены туннелем L2TP. Есть два роутера, один из них выходит в интернет по «серому IP», а второму провайдер выдает «белый IP». Попробуем пробросить порт до компьютера, который находится за роутером с приватным адресом, через Микротик с публичным IP-адресом. Чтобы лучше понять задачу, нарисуем схему:
Нам нужно пробросить порт до компьютера (WS01), через GW1.
Для этого зайдем на маршрутизатор GW2 и выполним маркировку соединений для «Input»:
- IP => Firewall => Mangle => «+».
Переходим во вкладку «Action»:
Аналогичным образом промаркируем соединения цепочки «forward»:
Пункт меню «Action»:
Следующим шагом, на основании соединений сделаем маркировку маршрутов:
Маркировка маршрута цепочки «prerouting»:
В итоге правила «Mangle» у нас должны выглядеть так:
Осталось добавить маршрут по умолчанию для пакетов маркированных как пришедшие из туннеля. Для этого открываем:
- IP => Routes => «+».
Настройка GW2 закончена. Переходим к конфигурированию GW1, выполнив проброс порта до хоста 192.168.13.48:
Настройка проброса порта на MikroTik через туннель L2TP закончена.
Source NAT
Основное назначение Source NAT MikroTik – изменение IP-адреса и/или порта источника и выполнение обратной функции для ответа.
Самое распространенное применение – это выход множества ПК в интернет через один белый IP-адрес.
Стандартные действия для цепочки src-nat:
- src-nat – преобразование адреса и/или порта отправителя;
- masquerad – преобразование адреса отправителя на адрес исходящего интерфейса и порта на случайный порт.
Настройка MikroTik NAT для доступа в интернет
Настройка NAT для статического WAN
Если мы получаем статический IP от провайдера, то рекомендуем для настройки NAT на MikroTik использовать правило src-nat. Это позволит устройствам из LAN выходить в глобальную сеть интернет. Откроем:
- IP=>Firewall=>NAT=> “+”.
- Chain: srcnat – указываем цепочку;
- Out. Interface – задаем исходящий WAN-интерфейс.
Откроем вкладку “Action”:
- Action: src-nat;
- To Addresses – Внешний IP WAN интерфейса.
Настройка NAT для динамического WAN
Если мы получаем динамический IP от провайдера, то необходимо использовать правило Masquerade.
Masquerade – это частный случай src-nat для ситуаций, когда внешний IP-адрес может динамически изменяться.
Тогда настройка NAT на MikroTik будет выглядеть следующим образом:
Правило src-nat/masquerade должно стоять первым в списке.
Использование masquerade вместо src-nat может вызвать проблемы:
- С телефонией;
- Большая нагрузка ЦП, если создано много PPPoE соединений.
- Проблемы с установкой соединения при 2 и более WAN-каналов.
Рекомендуем, при получении статического IP от провайдера, использовать правило scr-nat.
Если у вас несколько внешних интерфейсов, то рекомендуется добавлять условие, выделяя трафик по адресу источника:
Где Src. Address – локальная подсеть.
NAT loopback (Hairpin NAT)
Настройка Hairpin NAT MikroTik предназначена, чтобы организовать доступ из LAN к ресурсу в LAN по внешнему IP-адресу WAN. Чтобы подробно описать данную настройку и разобраться в проблеме, рассмотрим пример:
Если хост локальной сети (Ws01) обращается к серверу, находящемуся в этой же сети по внешнему IP, то сервер, получив запрос, зная, что данное устройство находится в одной LAN с IP 192.168.12.10 отвечает ему напрямую. Хост не принимает данный ответ, так как не обращался к серверу по айпи 192.168.12.100.
Правило Hairpin NAT MikroTik для статического WAN
Чтобы избежать проблему, описанную выше, выполним настройку hairpin NAT на MikroTik. При получение статического айпи от поставщика интернет-услуг, советуем использовать правило Src-nat:
Для значений Src. Address и Dst. Address указываем локальную подсеть.
Далее открыв вкладку “Action”:
- Действие: src-nat;
- To Addresses – указываем свой WAN-IP
NAT Loopback при динамическом WAN
При получении динамического IP-адреса от провайдера, для правила NAT loopback нужно использовать masquerade:
- Выбираем цепочку srcnat;
- Для значений Src. Address и Dst. Address указываем локальную подсеть;
- Out. Interface – назначаем bridge;
Затем откроем пункт меню “Action”:
Назначим действие(Action) – маскарад.
Поставим созданное правило вторым:
При этом необходимо учитывать то, что при этом проброс портов должен быть выполнен с параметром dst-address.
Покажем пример такого правила:
На этом настройка Hairpin NAT на MikroTik выполнена. Теперь мы сможем обращаться к внутренним ресурсам сети по внешнему IP.
Netmap
Действие Netmap служит для создания связки из IP-адресов (1:1 NAT). На практике применяется для решения следующих задач:
- сделать IP-адрес или группу адресов доступными из интернета по белому IP. (принцип 1:1);
- объединить разные сети с одинаковыми адресами сетей.
Далее мы покажем примеры конфигурации MikroTik реализующие задачи, описанные выше используя netmap.
Проброс всех портов и протоколов на локальный IP
Для случая, когда нам нужно на MikroTik пробросить все порты и сервисы до компьютера, который находится за “натом”, чтобы обращаться к нему по белому IP, воспользуемся действием Netmap:
На вкладке “Action”, выберем действие netmap и укажем айпи хоста, доступ к которому хотим получить:
Как объединить разные сети с одинаковой IP-адресацией
Предположим, что у нас есть два филиала с одинаковыми адресами подсетей 192.168.12.0/24, которые надо объединить.
Чтобы избежать проблем с маршрутизацией нам необходимо:
- Филиал № 1 подменить сеть 192.168.12.0/24 на 192.168.30.0/24;
- Филиал № 2 подменить сеть 192.168.12.0/24 на 192.168.40.0/24.
Для этого откроем конфигурацию GW1 (Филиал №1) и добавим правила:
- IP=>Firewall=>NAT=> “+”.
- Srcnat – цепочка источника;
- 192.168.12.0/24 – локальная подсеть;
- 192.168.40.0/24 – подсеть удаленного филиала.
Далее открыв пункт меню “Action”, выберем действие netmap:
- Action: netmap – выбираем действие;
- To Addresses: 192.168.30.0/24 – Подсеть на которую подменяем текущую адресацию.
Теперь создадим цепочку dstnat:
Разместим эти правила первыми:
Переходим к конфигурированию GW2 (Филиал №2).
Открыв меню NAT, добавляем цепочку srcnat:
Осталось добавить цепочку dstnat:
И также разместим эти правила первыми:
Также надо учитывать, что на обоих маршрутизаторах должна быть настроена маршрутизация до удаленной сети.
Надеюсь, статья была для вас полезна. Если остались вопросы, то пишите в комментарии, постараемся оперативно ответить.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.