Mikrotik проброс портов и настройка nat для доступа в интернет

Содержание

Как открыть порты на windows 7

Для корректной работы программ в среде windows 7 и прочих операционных систем от Microsoft, требующих наличие доступа к сети интернет и не только, предусмотрены так называемые порты. Благодаря им, пользователь может сам решать какой программе давать доступ к локальной сети или сети интернет, открывая или блокируя используемые программой порты. К примеру, чтобы не быть голословным, на официальном сайте мессенджера Skype говорится, что для корректной работы программы в брандмауэре необходимо открыть порты «443/TCP», «3478-3481/UDP» и «49152-65535/UDP+TCP», в противном случае он их заблокирует с вытекающими последствиями. То же самое касается и браузеров, активно использующих порт 80. Исходя из этого, в данной теме рассмотрим, как открыть порты на windows 7 для тех или иных задач и стоит ли это делать.

Открытие портов в панели управления

  1. Открываем Панель Управления, ставим просмотр «Категория» и открываем пункт «Система и безопасность».
  1. Теперь выбираем «Брандмауэр windows».
  1. Слева кликаем «Дополнительные параметры». Должен появиться запрос «Открыть от имени администратора».
  1. Откроется окно «Брандмауэр windows в режиме повышенной безопасности», где слева нужно выбрать «Правила для входящих подключений», а вверху с права нажать на «Создать правило».
  1. Выбираем пункт «Для порта».
  1. Вводим номер порта, например, 443 и нажимаем «Далее».
  1. Нажимаем «Разрешить подключение» и снова выбираем «Далее».
  1. В окне «Профиль» можно оставить все галочки. Жмём «Далее».
  1. Вводим произвольное имя для правила. Нажимаем «Готово».

Теперь на компьютере в списке правил появится то, которое мы только что создали.

Если желаете его удалить, нажмите клавишу «Delete» и подтвердите свой выбор.

Обратите внимание: часто порты могут быть закрыты вашим провайдером, поэтому никакие манипуляции без его участия не дадут результата. Проверить, открыт ли определённый порт, можно на сайте Speed-tester.info.

Как открывать порты через командную строку

У любой системной задачи есть вариант её включения и настройки через командную строку. Разница в том, что этот способ подходит больше для опытных пользователей. Для этого открываем командную строку с правами администратора и вводим команду «netsh advfirewall firewall add rule name=L2TP_TCP protocol=TCP localport=хххх action=allow dir=IN», где вместо значения «xxxx» вписываем номер необходимого порта.

Как проверить открытые порты?

Посмотреть открытые порты можно все в той же командной строке. Снова запускаем ее от имени администратора и вводим команду «netstat –a». Нажав на «Enter» программа отобразит список всех открытых портов «TCP» и «UPD».

Где:

  • Established – порт открыт и используется. Как правило, в поле внешний адрес есть какое-то значение;
  • Time_wait – порт в режиме ожидания;
  • Listening – порт прослушивается.

Специальная программа для открытия портов не требуется. Однако, если вы заинтересовались сторонними утилитами, то установите «Simple Port Forwarding». Единственный её недостаток – она условно-бесплатная.

Как закрыть порты с 135 по 139 и 445 в Windows?

Есть множество вариантов закрытия портов Виндовс, но в статье мы рассмотрим самые простые способы это сделать.

Способ 1 – использование командной строки

Командная строка Windows используется для задания значений тем настройкам системы, у которых нет графического интерфейса. К таковым функциям и относятся рассматриваемые открытые порты подключений.

Командная строка запускается в несколько этапов:

Нажмите сочетание клавиш Win+R В появившемся окне выполнения команд наберите CMD Нажмите «ОК»

Перед вами появится окно с черным фоном. По очереди скопируйте в него представленные ниже строчки и нажмите клавишу ввода:

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=135 name=“Block1_TCP-135”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=137 name=“Block1_TCP-137”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=138 name=“Block1_TCP-138”

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=139 name=“Block_TCP-139” (команда помогает закрыть порт 139)

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=445 name=“Block_TCP-445” (команда помогает закрыть порт 445)

netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=5000 name=“Block_TCP-5000”

Эти шесть команд закрывают 4 перечисленных выше самых опасных открытых порта Windows, а также порт 5000, отвечающий за обнаружение открытых сервисов, и UDP порт 138 разрешения имен NetBIOS.

Как проверить и определить, какое приложение открывает порты 80 и 443 в ос windows.

После установки веб-сервера Apache HTTPD или веб-сервера Microsoft IIS Internet Information Services, или любого другого программного приложения или услуги,которые требуют открытия и прослушивания порта 80 (HTTP) или порта 443 (HTTPS SSL), то будет сюрпризом , если какие-то другие приложения или процессы используют и заняли порт 80 и / или 443. Прежде веб-сервер был запущен в системе Windows, так что же за процессы, которые используют порт 80 или 443 в системе?

Например, после установки веб-сервера Apache, используя XAMPP , появляется следующее сообщение об ошибке:(OS 10048) Обычно разрешается только одно использование адреса сокета (протокол / сетевой адрес / порт). : Make_sock: не смог установить привязку к адресу 0.0.0.0:80 не доступны розетки прослушивания, закрытие.Вот несколько встроенных команд и как руководство, которое поможет пользователям узнать и определить, какие приложения или процессы уже используют открытые порты 80 или 443 в  операционной системе Winodws, таких как Windows Vista, Windows XP, Windows 7, Windows Server 2003 и 2008.1.Откройте окно командной строки, наберите  в окне Выполнить команду Cmd или Начать поиск и нажмите клавишу Enter.2. Введите следующую команду NetStat:netstat -o -n -a | findstr 0.0:80илиили простоnetstat –aonПримечание: последняя команда выведет список всех соединений, которые слушают, установлены, запускают, закрывают порты , поэтому список можно продолжать долго, и пользователю придёться  вручную искать строки, которые имеют связи, происходящие или предназначенные для 1270.0.1:80 / 443 или 0.0.0.0.80/443.3.Следующая строка (и)   должны вернуть результаты:TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 8704В последнем столбце каждой строки процесса определены (идентификатор процесса или PID).4.Определите, какой процесс или приложение использует порт путём сопоставления PID — напротив PID номера в диспетчере задач .Другая альтернатива, чтобы определить, какие приложения используют порт 80 или 443 является использование Telnet приложения. Просто введите следующую команду, чтобы подключить Telnet к системе к портам 80 или 443:telnet localhost 80или,telnet localhost 443Если соединение Telnet открывается, как правило в приложении, которое открывает порт,то оно будет показано ниже, и поможет пользователю определить, какой процесс на самом деле прослушывает порт.Совет: команды выше, могут быть использованы для идентификации и проверки, какие процессы используют также любые другие порты, такие как 7 (Echo), 21 (FTP), 23 (Telnet), 25 (SMTP), 53 (DNS), 70 ( Gopher), 79 (Finger), 107 (RTelnet), 110 (POP3), 119 (NNTP), 139 (NetBIOS), 143 (IMAP), 194 (IRC), 3128, 8080, 10000 и т.д.

Как проверить открытые порты в Windows

В Windows есть команда netstat, которая отображает статистику протокола и текущих сетевых подключений TCP/IP.

Использование команды:

NETSTAT           
        

Опции netstat:

  -a            Отображение всех подключений и портов прослушивания.
  -b            Отображение исполняемого файла, участвующего в создании
                каждого подключения или порта прослушивания. Иногда известные
                исполняемые файлы содержат множество независимых
                компонентов. Тогда отображается последовательность компонентов,
                участвующих в создании подключения или порта прослушивания. В
                этом случае имя исполняемого файла находится снизу в скобках
                [], сверху находится вызванный им компонент, и так до тех
                пор, пока не достигнут TCP/IP. Заметьте, что такой подход
                может занять много времени и требует достаточных разрешений.
  -e            Отображение статистики Ethernet. Может применяться вместе
                с параметром -s.
  -f            Отображение полного имени домена (FQDN) для внешних адресов.
  -n            Отображение адресов и номеров портов в числовом формате.
  -o            Отображение ИД процесса каждого подключения.
  -p протокол   Отображение подключений для протокола, задаваемых этим
                параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6.
                Если используется вместе с параметром -s для отображения
                статистики по протоколам, допустимы следующие значения:
                IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP или UDPv6.
  -q            Отображение всех подключений, портов прослушивания и ограниченных
                непрослушивающих TCP-портов. Ограниченные непрослушивающие порты могут быть или не быть
                связанными с активными подключениями
  -r            Отображение содержимого таблицы маршрутов.
  -s            Отображение статистики по протоколам.  По умолчанию статистика
                отображается для протоколов IP, IPv6, ICMP, ICMPv6, TCP, TCPv6,
                UDP и UDPv6. Параметр -p позволяет указать подмножество
                выводимых данных.
  -t            Отображение состояния разгрузки для текущего подключения.
  -x            Отображение подключений, прослушивателей и общих конечных точек
                NetworkDirect.
  -y            Отображение шаблона подключений TCP для всех подключений.
                Не может использоваться вместе с другими параметрами.
  interval      Повторное отображение выбранной статистики с паузой
                между отображениями, заданной интервалом
                в секундах.  Чтобы прекратить повторное отображение
                статистики, нажмите клавиши CTRL+C.
                Если этот параметр опущен, netstat напечатает текущую
                информацию о конфигурации один раз.

Используя команду со следующими ключами, можно посмотреть информацию о всех подключениях и прослушиваемых портах в Windows:

netstat -an

Как открыть порт Windows.

Как открыть порты на Windows 7, 8, 8.1, знают далеко не все, зато слышали о них, наверное, многие пользователи ПК . Однако для некоторых онлайн-игр или программ, требующих доступа к интернету, открытие дополнительных подключений становится необходимым. Иногда требуется открыть или проверить уже открытые порты.

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

Какие-то приложения не требуют открытия дополнительного подключения, так как оно заранее открыто. Но для некоторых закрытых ресурсов, игр (например, Minecraft), делать это приходится вручную.

Способы открытия

Самый простой общий способ

Самый доступный метод довольно прост. Ниже изложен алгоритм действий, которые требуется выполнить:

В «Панели управления» находим пункт «Система и безопасность», затем открываем «Брандмауэр Windows».

Открываем Брандмауэр Windows

Выбираем «Правила для входящих подключений»

  • Далее необходимо создать правило, нажимаем на соответствующий значок.
  • Тип правила «Для порта», жмём кнопку «Далее», ставим маркер на «Протокол TCP» и вводим номер (необходимо его точно проверить). Снова жмём «Далее».

Ставим маркер на «Протокол TCP»

Оставляем все галочки — они определяют, к каким профилям будет относиться правило.

Оставляем все галочки

После нужно будет придумать имя и, если вам это требуется, описание. Нажимаем «Готово».

Указание имени

Всё — у вас появилось новое правило, теперь компьютер сможет подключиться к нужному серверу.

Подключение для программы

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

  1. По предыдущему алгоритму доходим до того места, где нужно выбрать тип правила, выбираем тип правила «Для программы»
  2. Ставим маркер на «Путь программы», выбираем при помощи кнопки «Обзор» либо вбиваем вручную адрес программы.
  3. Нажимаем «Далее», ставим «Разрешить подключение».
  4. Затем повторяем всё то же самое, что делали при предыдущем способе.

В итоге для этой программы будет разрешено соединение с сетью.

Сам по себе может часто блокировать многие соединения, поэтому в каких-то случаях можно просто попробовать отключить его. Однако если на вашем компьютере не установлено никаких антивирусов, то пользование интернетом с отключенным брандмауэром может быть опасно для компьютера.

Чтобы отключить брандмауэр, нужно просто зайти в него, выбрать пункт «Включение и отключение брандмауэра Windows», в настройках параметров поставить маркеры на «Отключить брандмауэр Windows» и нажать «ОК».

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

На какие открытые порты нужно обращать внимание

Я упоминал, что если на компьютер попала вредоносная программа, которая открыла соединение для связи со злоумышленником, то она будет прослушивать один из портов. В этом случае для TCP состояние подключения будет LISTENING. Протокол UDP является «безстатусным», поэтому для него ничего не пишется, но нужно знать, что через UDP точно также может происходить обмен информацией.

Нужно проверить, какие именно файлы и службы открыли соединение

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

Трояны и бэкдоры могут действовать двумя методами:

  • открывать порт и ждать подключения злоумышленника;
  • самостоятельно подключаться к удалённой системе злоумышленника.

При втором варианте состояние подключения НЕ будет LISTENING — вредоносную программу можно найти только путём полного анализа всех соединений.

Как правило, службы, которые прослушивают только IP адрес 127.0.0.1, то есть слушающие на петлевых интерфейсах, предназначены для обслуживания каких-либо легитимных программ, запущенных на вашей системе.

Что означает «открытый» порт?

Связь на уровне транспортного уровня, использующая в основном протоколы TCP и UDP, использует так называемый «Интернет-сокет». Этот сокет представляет собой механизм, с помощью которого два процесса (например, приложения) могут обмениваться данными через локальную сеть или через Интернет. Любой поток данных, использующий TCP или UDP, требует как минимум следующей информации:

  • Источник IP
  • Порт отправления
  • Целевой IP-адрес
  • порт назначения

В локальной сети полностью автоматическим и прозрачным способом порты постоянно открываются и закрываются различными процессами, чтобы иметь возможность связываться с другими компьютерами. Для взаимодействия двух процессов необходимо, чтобы один из них мог «определять местонахождение» другого, чтобы получать услуги или предоставлять вам услуги.

Когда мы определяем, что «порт открыт», это может быть в двух очень разных сценариях:

  • Открытый порт на локальном компьютере , например, на нашем компьютере или на локальном сервере. В принципе, все порты должны быть закрыты, потому что брандмауэр обычно настроен ограничительно (все блокируется, кроме того, что специально разрешено).
  • Открытый порт в NAT роутера . Обычно в маршрутизаторе нет «открытого» порта, а точнее, в разделе «Виртуальный сервер» или «Переадресация портов» нет порта на какой-либо компьютер. По умолчанию в любом маршрутизаторе эта таблица пуста, однако мы можем зарегистрировать разные правила для открытия портов на разных компьютерах.

Когда нам нужно открывать порты локально?

Если наш локальный компьютер действует как «что-то», например, FTP-сервер, веб-сервер, SSH-сервер, VPN сервер, сервер базы данных и многое другое, нам нужно будет открыть порт или несколько портов на нем. брандмауэр чтобы разные компьютеры в локальной сети или в Интернете могли получить доступ к нашим службам, в противном случае они не смогут получить доступ, потому что брандмауэр заблокирует эту связь, и соединения не будут установлены.

Обычно в домашних условиях, если мы устанавливаем Windows 10 или Linux-основная операционная система как «Частная сеть» или «Домашняя сеть», брандмауэр отключен, и все входящие соединения будут разрешены. Однако, если у нас есть «общедоступная сеть», брандмауэр будет активирован и заблокирует все входящие соединения, которые мы ранее не делали исходящими, поэтому мы сталкиваемся с «ограничивающим» брандмауэром.

Когда нужно открывать порты в NAT роутера?

Если у нас есть компьютер в локальной сети, который действует как сервер «для чего-то», как в предыдущем случае, и мы хотим, чтобы эти службы были доступны из Интернета, необходимо будет выполнить «переадресацию портов» или также известные как «открытые порты». Таким образом, если кто-то открывает сокет с общедоступным IP-адресом и соответствующим внешним портом, этот поток данных будет автоматически перенаправлен на компьютер, для которого мы «открыли порты».

Любой роутер по умолчанию не имеет правил для перенаправления портов, нам придется делать это специально

Кроме того, очень важной деталью является то, что если у вашего оператора есть CG-NAT, даже если вы откроете порт на маршрутизаторе извне, вы не сможете ничего сделать для доступа к внутренним ресурсам локальной сети

Определение компонента, использующего порт 80, с помощью /proc/$pid/exec file

Сначала необходимо найти PID процесса, открывшего TCP-порт 90. Введите:

Пример вывода данных:

80/tcp:              12161 21776 25250 25393

И, наконец, следует выяснить имя процесса, связанного с PID#3813. Введите:

Пример вывода данных:

lrwxrwxrwx. 1 root root 0 Aug  9 13:28 /proc/12161/exe -> /usr/sbin/lighttpd

Дополнительные сведения о lighttpd:

Пример вывода данных:

lighttpd             (8)  - a fast, secure and flexible web server

lighttpd: /usr/sbin/lighttpd /usr/lib64/lighttpd /usr/share/man/man8/lighttpd.8.gz

Получить намного более подробные сведения о lighttpd можно с помощью менеджера пакетов:

Пример вывода данных:

lighttpd-1.4.32-1.el6.x86_64

Чтобы получить подробные сведения о пакете lighttpd-1.4.32-1.el6.x86_64, введите:

Пример вывода данных:

Loaded plugins: auto-update-debuginfo, protectbase, rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
0 packages excluded due to repository protections
Installed Packages
Name        : lighttpd
Arch        : x86_64
Version     : 1.4.32
Release     : 1.el6
Size        : 664 k
Repo        : installed
Summary     : A web server more optimized for speed-critical environments.
URL         : http://lighttpd.net/
License     : Revised BSD
Description : It is a secure and fast web server a very low memory footprint compared
		: to other webservers and takes care of cpu-load.

ИЛИ выполните команду rpm:

Пример вывода данных:

Name        : lighttpd                     Relocations: (not relocatable)
Version     : 1.4.32                            Vendor: nixCraft
Release     : 1.el6                         Build Date: Sun 03 Feb 2013 03:22:08 AM CST
Install Date: Mon 04 Feb 2013 04:44:26 AM CST      Build Host: rhel6.nixcraft.net.in
Group       : System Environment/Daemons    Source RPM: lighttpd-1.4.32-1.el6.src.rpm
Size        : 680402                           License: Revised BSD
Signature   : (none)
URL         : http://lighttpd.net/
Summary     : A web server more optimized for speed-critical environments.
Description :
It is a secure and fast web server a very low memory footprint compared
to other webservers and takes care of cpu-load.

Пользователи Debian/Ubuntu Linux могут выполнить следующие команды:

Пример вывода данных для последней команды:

Package: lighttpd
Priority: optional
Section: universe/web
Installed-Size: 841
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian lighttpd maintainers 
Architecture: amd64
Version: 1.4.28-2ubuntu4
Provides: httpd, httpd-cgi
Depends: libattr1 (>= 1:2.4.46-5), libbz2-1.0, libc6 (>= 2.4), libgamin0 | libfam0, libldap-2.4-2 (>= 2.4.7), libpcre3 (>= 8.10), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14), mime-support, libterm-readline-perl-perl
Recommends: spawn-fcgi
Suggests: openssl, rrdtool, apache2-utils, ufw
Conflicts: cherokee (<= 0.6.1-1)
Filename: pool/universe/l/lighttpd/lighttpd_1.4.28-2ubuntu4_amd64.deb
Size: 279838
MD5sum: 65aedfd0e0ab6d3ee28e7b394567ed22
SHA1: 34a9156fa3d23635eb24efb436de585c0594f046
SHA256: 751d6f8309d249740d7aab240a74b6bae713e524cf6815544b6cdbb6107fded2
Description-en: A fast webserver with minimal memory footprint
lighttpd is a small webserver and fast webserver developed with
security in mind and a lot of features.
It has support for
   * CGI, FastCGI and SSI
   * virtual hosts
   * URL rewriting
   * authentication (plain files, htpasswd, ldap)
   * transparent content compression
   * conditional configuration
and configuration is straight-forward and easy.
Homepage: http://www.lighttpd.net
Description-md5: 267ee2989b526d8253e822e7d8244ccd
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

Сокеты

В Linux вместо запуска службы на определённом порту можно настроить сокет для прослушивания порта. Схема работы следующая: сетевая служба (например, это можно настроить для SSH) по умолчанию не запущена и, следовательно, не потребляет системные ресурсы. Тем не менее её порт прослушивается системным процессом, который и без того бы работал. Как только на этот порт (допустим на 22) поступает запрос соединения, системный процесс запускает нужную службу, и она начинает работать как будто бы всегда была включена. После прекращения связи, служба вновь отключается, и порт вновь начинает прослушивать системный процесс.

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

Например, для SSH netstat будет показывать примерно следующие данные (1/init вместо sshd):

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::22                   :::*                    LISTEN      1/init 

А ss будет показывать примерно так:

Netid       State        Recv-Q       Send-Q        Local Address:Port        Peer Address:Port
tcp         LISTEN       0            128           *:22                      *:*                    users:(("systemd",pid=1,fd=44))

LISTENING, ESTABLISHED, CLOSE_WAIT и другие состояния

Как вы можете увидеть в выводе команды netstat для протокола TCP доступны разные варианты состояний.

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

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

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

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 будет выглядеть следующим образом:

Использование masquerade вместо src-nat может вызвать проблемы:

  • С телефонией;
  • Большая нагрузка ЦП, если создано много PPPoE соединений.
  • Проблемы с установкой соединения при 2 и более WAN-каналов.

Если у вас несколько внешних интерфейсов, то рекомендуется добавлять условие, выделяя трафик по адресу источника:

Где 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) – маскарад.

Поставим созданное правило вторым:

Покажем пример такого правила:

На этом настройка Hairpin NAT на MikroTik выполнена. Теперь мы сможем обращаться к внутренним ресурсам сети по внешнему IP.