- Записки IT специалиста
- Настраиваем проброс портов в Windows при помощи командной строки и Portproxy
- Дополнительные материалы
- 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-адресацией
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Настраиваем проброс портов в Windows при помощи командной строки и Portproxy
Настраиваем проброс портов в Windows при помощи командной строки и Portproxy
Необходимость проброса портов весьма часто встающая перед системным администратором задача. Обычно для этой цели используют службы маршрутизации и удаленного доступа (RRAS), но в ряде случаев использование данного инструмента избыточно. В тоже время немногие знают о такой службе как Portproxy, которая управляется из командной строки при помощи команд Netsh. Тем не менее данная служба позволяет справиться с поставленной задачей проще, быстрее и удобнее, чем инструменты графического интерфейса.
Часто можно услышать совершенно неверное утверждение, что в части сетевых настроек операционные системы Windows значительно уступают своим конкурентам (Linux и BSD). Отчасти такие суждения опираются на опыт администрирования стандартных ролей полностью игнорируя возможности командной строки.
Начиная с Windows Server 2003 в состав системы был в введена команда Netsh, которая позволяет гибко управлять сетевыми настройками компьютера. Обзор всех возможностей этой утилиты займет не одну статью, поэтому мы остановимся на командах Netsh для интерфейса Portproxy, позволяющих непосредственно решить нашу задачу.
Данный набор команд позволяет перенаправлять приходящие пакеты с IPv4 и IPv6 портов на любые IPv4 и IPv6 порты компьютера назначения в любых комбинациях. Единственное ограничение — portproxy может работать только с протоколом TCP, но в большинстве случаев этого достаточно.
Для добавления перенаправления используется команда add v4tov4 (если требуется перенаправление с IPv4 в IPv6 используйте v4tov6 и т.д.), полный синтаксис будет такой:
- listenaddress — локальный адрес на котором принимаются соединения
- listenport — локальный порт на котором принимаются соединения
- connectaddress — удаленный или локальный адрес на который перенаправляются соединения
- connectport — удаленный или локальный порт на который перенаправляются соединения
Для изменения уже существующего правила используется команда set v4tov4, которая имеет идентичный синтаксис, listenaddress и listenport — являются обязательными параметрами. Из необязательных параметров можно указывать только тот, который нужно изменить.
Для удаления правил используйте delete v4tov6 с указанием входящих адреса и порта:
Для просмотра существующих правил введите:
Вместо all допустимо указывать v4tov4 или v6tov4 и т.п. для просмотра только соответствующих правил.
Для сброса всех существующих правил используйте:
Чтобы не быть голословными рассмотрим практический случай использования portproxy в одной довольно непростой ситуации.
У одного нашего клиента имеется две аффилированных (т.е. принадлежащих одному владельцу) организации, имеющие разный вид деятельности и между собой не взаимодействующие. Одна из них находится в городе и не испытывает проблем с внешними коммуникациями. Вторая в сельской местности где доступен только среднего качества интернет, а о выделенном IP-адресе не может быть и речи.
Поэтому, когда встал вопрос организации удаленного доступа к сети второй организации с административными и контрольными целями, то было принято решение использовать для этого ресурсы первой организации, при этом внутренние сети обоих компаний не должны видеть друг друга и вообще иметь какой-либо доступ к ресурсам другой организации.
Кроме того, выяснилось, что обе сети имеют одинаковый диапазон IP-адресов, что делало маршрутизацию между ними в принципе крайне затруднительной. По условиям задачи требовалось обеспечить доступ к RDP (порт 3389) сервера SRV-2-1 и SSH (порт 22) сервера SRV-2-2 второй организации, для этого выделялся сервер SRV-1-1 первой компании, при этом, как можно увидеть из схемы ниже, сервера обоих компаний также имеют одинаковые внутренние адреса.
Между серверами был поднят VPN-туннель, и они видят друг друга по адресам VPN-сети (10.8.0.0), а дальше на выручку приходит portproxy. Так как порты 3389 и 22 соответствующие нужным службам уже использовались для целей администрирования первой компании, то мы выбрали для служб второй компании внешние порты 3390 и 22222, которые были проброшены с внешнего интерфейса роутера первой компании на сервер SRV-1-1 штатным образом.
Теперь нам надо перенаправить все соединения на эти порты в сеть второй компании, но там нам доступен только SRV-2-1 по VPN-адресу, поэтому направим пакеты туда, для чего создадим два правила:
Первое правило отправит все пакеты пришедшие на порт 3390 с адресом 192.168.0.200 (внутренний адрес SRV-1-1) в VPN-туннель серверу SRV-2-1, а так как он уже является целевым для службы RDP, то сразу меняем порт назначения на 3389. Первая часть задачи выполнена.
Второе правило отправит к SRV-2-1 все пакеты с порта 22222 (SSH), теперь нам надо научить этот сервер как правильно доставить их адресату. Для этого добавим уже этому серверу следующее правило:
Согласно которому сервер SRV-2-1 в сети второй компании будет слушать порт 22222 на интерфейсе VPN-сети и передавать все полученные пакеты на порт 22 (SSH) сервера SRV-2-2.
Как видим мы весьма просто реализовали довольно сложную схему, так пакет к серверу SRV-2-2 проходит три промежуточных узла, но при этом мы не настраивали никакой маршрутизации и не устанавливали никакого дополнительного ПО и вообще обошлись минимальным вмешательством в инфраструктуру.
Дополнительные материалы
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
MikroTik проброс портов и настройка NAT для доступа в интернет
Из этой статьи мы узнаем, как настроить на MikroTik проброс портов и NAT (трансляция сетевых адресов) для доступа хостов локальной сети в интернет. Для примера выполним проброс портов через туннель между двумя MikroTik. А также продемонстрируем реализацию перенаправление трафика на маршрутизатор.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Поговорим о настройке 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». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.