Доступ в интернет через роутер из другой сети

Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.

Зачем открывать доступ извне?

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

Цвета и формы IP-адресов

Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.

Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.

Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.

Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.

Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.

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

Кто я, где я, какого я цвета?

С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.

В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.

Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.

Если же адрес выглядит по-другому, надо посмотреть на него «снаружи» с помощью одного из сервисов, показывающих ваш IP-адрес, например, http://myip.ru/.

Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.

Что такое порты и зачем их бросать?

Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).

Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.

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

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

Игровые порты: что, куда бросаем?

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

У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.

Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.

В следующей таблице приведены некоторые игры и используемые ими порты на ПК:

Fortnite

Overwatch

PUBG

Tekken 7

WoT

TCP: 5222, 5795:5847

TCP: 80, 1119, 3724, 6113

TCP: 27015:27030, 27036:27037

TCP: 27015:27030, 27036:27037

TCP: 80, 443, 5222, 5223, 6881, 6900:6905, 50010:50014

UDP: 5222, 5795:5847

UDP: 5060, 5062, 6250, 3478:3479, 12000:64000

UDP: 4380, 27000:27031, 27036

UDP: 4380, 27000:27031, 27036

UDP: 53, 1900, 3432, 3478, 3479, 5060, 5062, 6881, 12000:29999, 30443, 32800:32900

Настраиваем проброс портов

Пробросы настраиваются в админ-панели роутера на вкладке «Виртуальные серверы», «NAT», «Переадресация портов», «Трансляция сетевых адресов» и т. п. Они могут быть вложенными во вкладки «Интернет», «Переадресация», «Брандмауэр» или «Безопасность». Все зависит от марки и модели роутера.

Вам нужно определить, какие порты и какой протокол (UDP или TCP) использует программа, для которой вы настраиваете правило. Также следует задать статический IP-адрес для устройства, на которое пробрасывается порт — это делается в настройках DHCP и подробно разбиралось в статье про родительский контроль. Все эти данные следует ввести в соответствующие поля.

Некоторые роутеры позволяют задать также и внешний IP-адрес (или диапазон адресов). Так что если вы знаете IP-адрес, с которого будет идти обращение к вашему устройству (например, адрес игрового сервера), то его следует также ввести на странице — это повысит безопасность соединения.

Теперь все обращения с адреса 132.12.23.122 к порту 3074 вашего роутера он автоматически «перебросит» к вашей приставке PlayStation.

Больше пробросов для разных задач!

Аналогично производится настройка для других программ — и это могут быть не только игры:

  • задав порт и настроив удаленное управление для uTorrent, можно управлять его загрузками из любой точки мира с помощью браузера;

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

  • для запуска на домашнем компьютере ftp-сервера потребуется открыть и пробросить управляющий порт 21 и отдельный диапазон портов для передачи данных;

  • пробросив порт 554 на домашнюю IP-камеру, которая умеет передавать видео по протоколу RTSP, можно будет подключиться к ней любым видеоплеером с поддержкой RTSP, вроде VLC;

  • проброс порта 3389 позволит задействовать службу RDP (Remote Desktop Protocol) в Windows для получения удаленного доступа к рабочему столу компьютера.

DDNS — зачем нужен и как настроить

Если IP-адрес постоянный, то его можно запомнить. Но если он меняется, запоминать его тяжело. Для решения этой проблемы предназначены службы динамического DNS. Вам будет достаточно запомнить определенное доменное имя.

Сервисы DDNS бывают платные и бесплатные, с разным набором возможностей и характеристик. Но пользоваться лучше теми, которые предусмотрел производитель роутера — когда внешний IP-адрес роутера поменяется, они с DDNS сами договорятся, без вашей помощи. Найдите вкладку «DDNS» или «Динамический DNS» в веб-интерфейсе вашего роутера. В пункте «сервис-провайдер» или «DDNS-сервис» вам будет предложен список из нескольких сервисов, можете выбрать любой. Многие производители роутеров имеют собственные DDNS-сервисы — довольно ограниченные в настройках, зато бесплатные. Это DLinkDDNS.com для роутеров D-Link, KeenDNS для роутеров Zyxel, «Облако ТР-Link» для роутеров TP-Link и т. п.

Определившись с будущим сервисом DDNS, нужно зайти на его сайт и создать аккаунт. Бесплатные DDNS-сервисы производителей роутеров могут потребовать ввести серийный номер устройства или как-то иначе подтвердить, что вы работаете с роутером их производства — у каждого производителя по-разному.

Далее вам предложат задать доменное имя для своего домашнего сервера — обычно это домен третьего уровня (то есть vash_vybor.DDNS-service.com). После этого уже можно вернуться в веб-интерфейс и настроить привязку созданного аккаунта к своему роутеру.

Удаленное управление роутером

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

Разрешите «Удаленный доступ» в веб-интерфейсе и задайте правила удаленного доступа. Так, если вам известен постоянный IP-адрес компьютера, с которого вы будете производить настройку, его следует задать — это увеличит безопасность вашей сети.

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

VPN как крайний выход

Если провайдер выдает «серый» адрес и никак не желает давать «белый», даже за деньги, придется использовать VPN.

Обычно VPN-сервисы предоставляют выход в сеть через сервер в любой точке мира — Private Internet Access, TorGuard, CyberGhost VPN, Game Freedom и т. п. Бесплатных среди них нет, но для удаленного доступа к своему компьютеру или командных игр вам «внешний» сервер и не нужен. Достаточно создать «виртуальную сеть» из своего домашнего компьютера и, например, рабочего. Или ноутбука для поездок, с которого вы ходите получать доступ к домашней сети. Или всех компьютеров ваших игровых друзей. Достаточно выбрать какую-нибудь из бесплатных VPN-утилит, например, Hamachi, Remobo, NeoRouter и т. д. И запустить ее на всех компьютерах, которые нужно объединить.

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

Кроме того, в Интернете существует множество открытых (без пароля) VPN, созданных специально для игр — вам остается только найти VPN вашей любимой игры, подключиться к ней с помощью одной из вышеупомянутых утилит — и играть. Чуть сложнее дело обстоит с играми, в которых требуется подключение к игровому серверу.

Существуют VPN-сети с запущенными серверами популярных игр, но пользователей на них в разы меньше, чем на открытых серверах. Кроме того, такие сервера есть не для всех игр. Сыграть в World of Tanks или World of Warcraft с помощью таких утилит не получится, придется раскошеливаться на полноценный VPN-сервис. Но об этом — в следующий раз.

На чтение 13 мин Просмотров 204к. Опубликовано
Обновлено

Продолжение предыдущих статей по организации единой локальной сети.
Содержание:
Создание домашней сети на базе устройств MikroTik: Часть 1
Создание домашней сети на базе устройств MikroTik: Часть 2 — Настройка hAP ac
Создание домашней сети на базе устройств MikroTik: Часть 3 — Настройка RB750gr3 hEX
Создание домашней сети на базе устройств MikroTik: Часть 4 — Создание OpenVPN туннеля
Создание домашней сети на базе устройств MikroTik: Часть 5 — Создание EoIP туннеля
Создание домашней сети на базе устройств MikroTik: Часть 6 — Firewall защита доступа
Создание домашней сети на базе устройств MikroTik: Часть 7 — Firewall правильное перенаправление портов в сети с двумя шлюзами (Вы тут)
Создание домашней сети на базе устройств MikroTik: Часть 8 — Установка и настройка MikroTik DUDE Network Monitor

В прошлой части, мы с Вами, настроили фильтрацию трафика в (Firewall Filter).

Напомню, что у меня в сети присутствует роутер Asus RT-AC66U, работающий как точка доступа для Wi-Fi клиентов. Он подключен кабелем к роутеру hEX (RB750Gr3)
Конечно, мне необходимо иметь к нему удаленный доступ, также, как и к другим ресурсам локальной сети. Например чтобы перезагрузить, прошить и др. мало ли что.

Если Вы хотите изучить MikroTik, то это можно реализовать с помощью специального онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA, а автором курса является официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто даже не держал его в руках. В состав курса входят 162 видеоурока, 45 лабораторных работ и вопросы для самопроверки с конспектом. Кстати я получал сертификат MTCNA именно тут!

Плюсом у меня к LG 3D Smart TV, подключена маленькая клиентская точка доступа cAP Lite. Т.к. на телеке решили сэкономить брали его без встроенного Wi-Fi модуля.(Серия оснащалась довольно дорогими фирменными USB2.0 Wi-Fi модулями, зачем переплачивать)
Это именно тот телевизор, на котором домашние любят смотреть фильмы с ПК по сети. Благо на него без проблем можно отправить видео из того же Проигрывателя Windows Media. Но все затевалось для использования через медиа сервер Plex. Будет отдельная статья по сборке и настройке этого сервера, а пока вернемся к нашей теме…

Для начала давайте вспомним(или узнаем), как происходит обычное перенаправление портов в MikroTik RouterOS

Пока я писал статьи, обновилась ветка прошивок Bugfix. Теперь у меня на девайсах стоит прошивка 6.40.6

1. Перенаправление портов в hAP ac (RB962UiGS-5HacT2HnT)
Давайте взглянем на простую схему перенаправления порта. Например у меня дома на виртуальной машине крутиться сервер Plex. Все его настройки я произвожу через консоль, подключаясь к нему по протоколу SSH(для тех кто не знает, что это Secure SHell)
Предположим, что данный сервер имеет внутрисетевой IP адрес: 192.168.88.9
Стандартный порт для доступа по SSH это TCP порт под номером 22. Если кто-то не знает что такое TCP или UDP порты, Вы можете погуглить т.к. без этих знаний Вам будет не очень понятно ))
Мне нужно подключиться откуда-нибудь с ноутбука с интернетом. И тут мы вспоминаем про статический IP адрес.

port-forwarding-1

Стандартное подключение в рамках локальной сети
port-forwarding-1-1
Для примера подключаемся через Putty по стандартному 22 порту

А теперь подключимся… например с дачи(сидим через 4G), схема изменится.

port-forwarding-2

В принципе тоже стандартная схема, но теперь наша цель находится за роутером, т.е. целью нам нужно выбирать сам роутер!!!
port-forwarding-2-1
Отлично, тогда выбираем статический IP роутера. Он же доступен из интернета! Только вот, какой выбрать порт и куда попадет наш запрос на подключение?

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

Сделаем маленькое отступление, почему так происходит…

Это происходит потому, что у Вас дома своя маленькая «глобальная» сеть, и соответственно может быть очень много устройств. Только она называется локальная т.к. недоступна всем другим людям или устройствам в Глобальном интернете.
Представьте себе, что для каждого Вашего устройства провайдер бы выдавал Вам статический IP. Было бы здорово, но адреса бы закончились чрезвычайно быстро.
Они в принципе уже и так закончились.
Именно для этого был разработан IPv6. Но это уже совсем другая история.

В общем мы имеем то, что имеем. А именно, один единственный IP адрес доступный и видимый другим в интернете.
Кстати это касается не только статических адресов, но и динамических!!! Провайдеру нужно экономить и удобно управлять сетью.
В итоге нам выдается обычно один единственный сетевой адрес для выхода в интернет.

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

Как же всякие мобильники, нотбуки, планшеты и другие девайсы получают доступ в интернет через один единственный роутер?
Все тоже достаточно просто. Роутер выступает в роли маскировки для всех устройств подключенных к нему. Именно эту функцию выполняет правило в Firewall NAT.
Программисты очень креативные люди )))
К данному правилу применяется действие Masquerade или по другому — маскарадинг )) Т.е. все устройства «надевают маску» роутера и все сайты, которые мы пробуем открыть, видят IP адрес роутера(статический), либо IP адрес провайдера(динамический)

internet-masquerade-1

При открытии сайта, сайт думает, что к нему обращается роутер

Если Вам интересны подробности этого взаимодействия можете почитать в интернете про TCP/IP стеки, IP адресацию, почему закончились IPv4 адреса и многое, многое другое. Мир полон интересной информации и у нас есть к ней доступ =)

Для обучения роутера этому колдовству =) необходимо дунуть, если не дунуть, чуда не произойдет открыть всеми нами любимый WinBox(или консоль), перейти в меню IP -> Firewall вкладка NAT
И добавить новое правило:

add-nat-rule

Добавляем новое правило
nat-rule-1-1
Указываем нужные данные во вкладке General
nat-rule-1-2
Указываем нужные данные во вкладке Action и жмем OK

Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22

А теперь разберем по порядку, что мы сделали:
Вкладка General
1. Chain — dstnat — выбираем цепочку
2. Protocol — TCP — выбираем протокол сетевого уровня
3. Dst. Port — 10022 — задаем TCP порт, к которому будем обращаться снаружи. Этот порт я выбрал сам. Вы же можете выбрать любой другой, по своему желанию.
4. In. Interface — WAN — Выбираем входящий интерфейс через который будут приходить запросы.
Вкладка Action
1. Action — dst-nat — выбираем действие перенаправления
2. To Addresses — 192.168.88.9 — задаем локальный IP адрес на который будут отправляться внешние запросы. Адресов может быть несколько.
3. To Ports — 22 — задаем TCP порт к которому нужно обратиться. Также может быть несколько.

Т.е. внешний TCP или UDP порт, к которому мы обращаемся не обязательно должен быть идентичен локальному, к которому мы хотим достучаться.
Это поможет также и с безопасностью. Боты будут атаковать стандартные порты, а у нас они закрыты и доступ к ним идет совсем не по стандартным портам, назначение которых, известно только нам самим!!!
Не забудьте открыть доступ к внешнему порту в Firewall Filter и поместить правило выше последнего запрещающего, иначе фильтрация соединений заблокирует все ваши попытки подключения.

Для того, чтобы получить удаленный доступ к самому роутеру, нужно просто открыть стандартный TCP порт 8291 для программы WinBox.
Либо также перенаправить любой другой порт на локальный адрес самого роутера 192.168.88.1 на порт 8291

В этой части мы узнали, как перенаправить запрос или соединение снаружи из интернета через роутер со статическим IP адресом, к локальному ресурсу уже в нашей локальной сети.
Будьте аккуратней с портом 80 т.к. это стандартный WEB порт. На нем может работать WEB интерфейс роутера. Также он подвержен атакам ботов.

Вроде бы все хорошо, мы легко получаем доступ к нашему роутеру, нашему серверу для настройки и контроля работы.
Теперь мы хотим получить доступ к устройствам, которые находятся за нашим OpenVPN. В принципе все также должно работать хорошо, ведь у нас единая локальная сеть. Но не тут-то было.
Дело было не в бабине =)
Мне пришлось подумать прежде чем, я понял, почему не работает простое перенаправление… И правильно, что не работало.

2. Перенаправление портов до hEX (RB750Gr3)
А вот тут мы сталкиваемся с подводными камнями, которые по ходу разбора оказываются вполне логичными.
Давайте взглянем на схему:

port-forwarding-4

Вот такая схема у нас на данный момент

Судя по данной схеме, удаленный доступ к роутеру hEX и всем, что находится за ним, мы будем осуществлять через роутер hAP ac, у которого есть статический IP.
Смотрим…

port-forwarding-5

Пока все хорошо
port-forwarding-6
Пробуем достучаться до точки доступа Asus… Опа…

А вот и проблема!
Она кроется в том, что у клиентских устройств, DHCP сервером, назначаются различные шлюзы, а именно:
1. В hAP ac это шлюз 192.168.88.1
2. В hEX это шлюз 192.168.88.2
Все правильно, отсюда устройство получив запрос по локальной сети, с внешнего адреса, стремиться отправить ответ через шлюз.
В части Медиа сервера он отправляет запросы правильно, через роутер с локальным адресом 192.168.88.1, а точка доступа неправильно для удаленного доступа, но правильно для выхода в интернет, через роутер с локальным адресом 192.168.88.2.

Что же делать в этом случае, неужели нужно менять адреса шлюзов на тех устройствах за роутером, к которым мы хотим достучаться?
Нет, нет и еще раз нет.
Это создаст большие проблемы. Во первых нагрузит OpenVPN канал, во вторых если отвалится туннель, то устройства потеряют доступ к интернету.

Выход есть и он изящен =)

Вы ведь помните маскарадинг? Да да, когда наши соединения прикрываются роутером. А почему бы не сделать это в обратную сторону, но не для всего трафика, а только для конкретных запросов?
Сказано сделано.

Если мы работаем в рамках локальной сети т.е. пробуем подключиться с адреса 192.168.88.5 к адресу 192.168.88.30 все работает отлично. Этим и воспользуемся.
А когда мы работаем из интернета, к адресу 192.168.88.30 будет приходить запрос с адреса любого, который мы получили от провайдера в месте, где мы сидим, например 4G сеть.
Нужно заменить этот динамический IP в соединении, на IP роутера 192.168.88.1 и сделать это только для запросов идущих к IP адресу 192.168.88.30

Добавляем правило доступа к WEB интерфейсу точки доступа Asus

port-forwarding-8-1

Выбираем себе TCP порт
port-forwarding-8-2
WEB интерфейс висит на 80 порту

Теперь отловим это перенаправление и поменяем в нем IP.
ВНИМАНИЕ!!! Нам нужно создать правило именно для уже перенаправленного соединения!

port-forwarding-9-1

Нам нужна цепочка Srcnat
port-forwarding-9-2
И действие также src-nat

Консольно:
/ip firewall nat
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80 protocol=tcp to-addresses=192.168.88.1

Что же мы тут видим, посмотрим…
Сначала мы перенаправили порт для удаленного доступа к точке доступа Asus.
Через IP 98.76.54.32 и TCP порт 14080 к IP 192.168.88.30 и TCP порт 80
А потом отловили этот запрос и замаскировали в нем IP адрес источника с которого мы сидим на IP адрес самого роутера 192.168.88.1

Вкладка General
1. Chain — srcnat — цепочка srcnat
2. Dst. Address — 192.168.88.30 — мы же сами задавали перенаправление на этот адрес вот и ловим этот запрос
3. Dst. Port — 80 — ловим запрос на этот порт или порты (например если ловить потом еще и SSH, то пишем так 80,22)
Вкладка Action
1. Action — src-nat — выполняемое действие. Замена данных источника
2. To Addresses — 192.168.88.1 — на этот адрес меняем
3. To Ports — оставляем пустым т.к. порты мы указываем на вкладке General

Попробуем подключиться к роутеру откуда-нибудь из кафе или из гостей.
Для этого в браузере в адресной строке нужно набрать Наш внешний статический IP адрес и через двоеточие указать внешний TCP порт, через который мы делаем перенаправление.
Пример:
http://98.76.54.32:14080

web-access-rt-ac66u

Так выглядит доступ к роутеру из любого места, где есть интернет. Хоть из Америки =)

Вот такая хитрая схема, которая позволяет не городить огород на удаленных узлах.
Все правила перенаправления добавляются и управляются исключительно на роутере со статическим IP.
Вкладка NAT в Firewall это очень мощный инструмент наравне с фильтрацией трафика.
Дополнительная информация: WIKI MikroTik Firewall NAT (Eng)

Такой набор правил в NAT, есть у меня:
Попадаем в меню
/ip firewall nat
1. Маскируем локальные сети для выхода в интернет
add action=masquerade chain=srcnat comment="LAN to WAN" out-interface=WAN src-address=192.168.88.0/24

2. Доступ к Медиа Серверу и открытие порта для Торрента на нем же.
add action=dst-nat chain=dstnat comment="Open ports to Media Server" dst-port=10022 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=22
add action=dst-nat chain=dstnat dst-port=10080 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=80
add action=dst-nat chain=dstnat dst-port=10005 in-interface=WAN protocol=tcp to-addresses=192.168.88.9 to-ports=10005

3. Доступ к WEB интерфейсу Cisco SPA112 (Телефонный шлюз)
add action=dst-nat chain=dstnat comment="Open port to Cisco SPA112" dst-port=11080 in-interface=WAN protocol=tcp to-addresses=192.168.88.10 to-ports=80

Все остальное это сторона роутера hEX, тут нужно применить SRCNAT
4. Доступ к роутеру hEX по WinBox
add action=dst-nat chain=dstnat comment="Open port to hEX" dst-port=12291 in-interface=WAN protocol=tcp to-addresses=192.168.88.2 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.2 dst-port=8291 protocol=tcp to-addresses=192.168.88.1

5. Доступ к сетевому мосту cAP Lite
add action=dst-nat chain=dstnat comment="Open port to cAP Lite" dst-port=13291 in-interface=WAN protocol=tcp to-addresses=192.168.88.39 to-ports=8291
add action=src-nat chain=srcnat dst-address=192.168.88.39 dst-port=8291 protocol=tcp to-addresses=192.168.88.1

6. Доступ к точке доступа Asus RT-AC66U (WEB и SSH)
add action=dst-nat chain=dstnat comment="Open ports to RT-AC66U" dst-port=14080 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=80
add action=dst-nat chain=dstnat dst-port=14022 in-interface=WAN protocol=tcp to-addresses=192.168.88.30 to-ports=22
add action=src-nat chain=srcnat dst-address=192.168.88.30 dst-port=80,22 protocol=tcp to-addresses=192.168.88.1

firewall-nat-all

Вид формирования правил в WinBox

Вы можете поменять внешние порты на свои, попробовать добавить что-то свое.
Надеюсь данная статья была Вам полезна и Вы узнали для себя что-то новое.
Если у Вас есть, что рассказать, по данной тематике, или чем поделиться, милости прошу в комментарии. Буду рад почитать и ответить на Ваши вопросы!

Продолжение:
Создание домашней сети на базе устройств MikroTik: Часть 8 — Установка и настройка MikroTik DUDE Network Monitor

Список всех статей в хронологическом порядке: История статей

Поддержка блога

Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать проще простого =)

Если Вы хотите изучить MikroTik, то это можно реализовать с помощью специального онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA, а автором курса является официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто даже не держал его в руках. В состав курса входят 162 видеоурока, 45 лабораторных работ и вопросы для самопроверки с конспектом. Кстати я получал сертификат MTCNA именно тут!

Для работы интернета в офисах часто используются устройства Микротик. Они славятся своей стоимостью и функциональностью. Однако настройка подключений на роутере Mikrotik может вызывать определенные вопросы даже у опытных администраторов.

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

Что такое проброс

Проброс портов (Port Forwarding) Mikrotik – это одна из наиболее востребованных конфигураций роутера. Она представлена технологией, позволяющей обращаться к узлам, размещенным за маршрутизатором, путем перенаправления трафика. Делается это для определенных портов. «Сигнал» с внешнего адреса маршрутизатора перенаправляется на внутренний адрес узла в заданной локальной сети. Соответствующая операция становится возможной за счет NAT.

NAT (или Network Address Translation) – способ преобразования сетевых адресов. Основное предназначение технологии заключается в экономии белых IP-адресов, а также в повышении уровня безопасности Сети. Результат достигается за счет ограничений, устанавливаемых относительно обращений к внутренним хостам LAN снаружи, а также возможностей скрытия сервисов подменой портов.

Классический тип NAT технологии предполагает, что количество одновременных выходов в интернет из локальной сети за пределами доступа «ната» ограничивается количеством свободных ports TCP/UDP.

По умолчанию для LAN-сетей, расположенных за NAT, доступ к интернету предоставляется. Из глобальной сети в NAT-сеть попасть не получится. Исключение есть, причем всего одно – это проброс портов. Настроить его не всегда легко.

Проброс портов на Mikrotik роутере через NAT подразделяется на несколько видов:

  1. Destination NAT. Это изменение IP-адреса назначение, а также выполнение обратной функции для ответа. Преобразование адреса получателя получило название «dst-nat».
  2. Source NAT. Так называется изменение IP-адреса источника и выполнение обратной функции для ответа. Процедура называется src-nat.

Все остальные манипуляции в роутере при его настройке – это производные от dst-nat и src-nat. NAT будет обрабатывать только первый пакет соединения.

Destination NAT

Пробросить порт через цепочку Dstnat в Микротике можно для изменения IP-адреса, а также port назначения с последующим выполнением обратной функции для ответа. Используется соответствующий вариант для проброса в локальной сети и доступа извне. Допускается реализация такой настройки для перенаправления любого имеющегося DNS-трафика через подключенный маршрутизатор.

К стандартным действиям цепочки dst-nat относят: redirect (преобразование на адрес маршрутизатора) и dst-nat – преобразования порта и адреса получателя. Далее будут рассмотрены примеры реализации соответствующих конфигураций для различных подключений.

Для удаленного рабочего стола

Технология удаленного рабочего стола (RDP) позволяет сделать администрирование намного удобнее и проще. Она открывает «операционную систему» выбранного компьютера, позволяя пользователю работать с ней через интернет.

При использовании RDP не рекомендуется пользоваться стандартным port 3389. Связано это с тем, что он часто подвергается атакам. Поэтому сервис будет скрыт через подмену порта. Для этого потребуется:

  1. Открыть ip firewall – Nat.
  2. Нажать на «+».
  3. Во вкладке General задать цепочку правил, протокол, а также протокол подключения и входящий интерфейс: .
  4. Перейти в раздел Action.
  5. Заполнить данные: .
  6. Сохранить конфигурационные настройки.

Если необходимо пробросить порт в Микротике, обязательно указывается входящий интерфейс. В противном случае не исключены серьезные проблемы подключения.

В разделе General каждая строка отвечает за свои параметры:

  • chain: dstnat – цепочка правил, которые устанавливаются для IP-адреса назначения;
  • protocol: 6 (tcp) – протокол, используемый для конфигурации в роутере;
  • dst. Ports: 47383 – номер port по которому происходит обращение к маршрутизатору;
  • in. Interface – входящий интерфейс WAN (в примере – это ether1).

При заполнении раздела Action:

  • в поле Action указывается значение dst-nat;
  • to addresses – внутренний IP хоста, к которому необходимо получить доступ через RDP;
  • to ports – port, на который перенаправляются запросы.

Это – один из вариантов forward, который встречается при администрировании сетей.

Видеонаблюдение

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

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

Сделать проброс потребуется для порта 9786. Для этого необходимо:

  1. Открыть Winbox.
  2. Добавить правило со следующими параметрами: .
  3. Во вкладке Action указываются такие настройки: .

После сохранения изменений соединение будет настроено. Обязательно при работе с роутером Микротик требуется указывать интерфейсы.

Несколько внешних IP

Сделать проброс для нескольких WAN удастся через создание Interface List. Сюда потребуется добавить все необходимые интерфейсы. Далее созданный list указывается в качестве значения параметра in. interface list.

Настройка forwarding на несколько внешних IP осуществляется так:

  1. Создать новый лист для интерфейсов ISP. Для этого перейти в Interface – Interface List – Lists. Нажать на «+»: .
  2. Добавить WAN интерфейсы: .
  3. Повторить предыдущий шаг для всех WAN.
  4. Forwarding может быть настроен через модернизацию ранее установленного правила проброса RDP. Достаточно добавить ISP в In. Interface List: .

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

Перенаправление на роутер

При помощи действий redirect Микротик поддерживает перенаправление трафика на маршрутизатор. Далее настраиваем NAT путем выполнения переадресации DNS-запросов.

Перенаправление будет выполняться для всего DNS-трафика. Пользователи в LAN, независимо от настроек DNS, будут считать, что им отвечает DNS-сервер, которому делается запрос. На самом деле ответ фактически придет от подключенного маршрутизатора.

Для этого предстоит выполнить следующие действия:

  1. Дождаться открытия Winbox.
  2. Открыть IP – Firewall – NAT.
  3. Нажать на «+».
  4. Во вкладке General выставить такие forward настройки NAT: .
  5. В разделе Action указать действие типа redirect: .

Остается сохранить изменения – и настройка проброса портов в Mikrotik будет завершена.

Через L2TP

Несколько устройств Микротика могут настраивать NAT forward друг другу через L2TP. В данной ситуации есть два роутера: один выходит в Сеть по «серому IP-адресу», второй – через выданный провайдером «белый IP».

Выше – пример того, как будет выглядеть схема веб подключения. Port пробрасывается до WS01 через GW1. Чтобы добиться соответствующего результата, потребуется:

Зайти на маршрутизатор GW2.

Открыть IP – Firewall– Mangle – «+».

В разделе Action написать: .

Промаркировать соединения цепочки forward аналогичным образом: .

В Action написать: .

Сделать маркировку маршрутов для веб подключения:

.

Для prerouting установить настройки: .

Теперь необходимо для L2TP добавить маршрут по умолчанию для макетов, которые получили маркировку в качестве пришедших из туннеля. Для этого необходимо:

Перейти в IP – Routers – «+».

Установить значения: .

Перейти к конфигурациям GW1 путем проброса порта до хоста 192.168.13.48:


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

Source NAT

Source NAT используется для того чтобы изменить IP-адрес и порт источника. Далее – для выполнения обратной функции ответа. Наиболее распространенное применение – это выход из множества компьютеров в интернет (web) при помощи одного «белого» IP.

Для Sources forwarded актуальные действия:

  • src-nat – преобразование адреса/порта отправителя;
  • masquerade – отвечает за преобразование адреса отправителя на адрес исходящего интерфейса, а порта – на случайный.

Далее будут рассмотрены примеры соответствующей технологии.

Статический WAN

При получении статического IP-адреса от провайдера, рекомендуется настройки NAT осуществлять через правило src-nat. Связано это с тем, что устройства, которые подключены к LAN, смогут подключаться к глобальной Сети.

Для этого нужно:

  1. Зайти в WinBox в настройки NAT.
  2. Указать там следующие параметры: .
  3. Переключиться в Action и задать характеристики: .

Теперь остается сохранить изменения. Если все сделано верно, при выходе в интернет из LAN-сети результат будет access.

Динамический WAN

Динамический IP – это ситуация, при которой у Mikrotik проброс портов сводится не к VPN или src, а к Masquerade. Он представлен частным случаем src-nat для ситуаций, при которых внешний IP может меняться динамически.


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

.

Если использовать masquerade вместо src-nat, не исключены проблемы с телефонией, а также с установкой подключения при 2-х и более WAN-каналах. Также на центральный процессор оказывается повышенная нагрузка, если создается большое количество PPPoE-соединений.

Секреты быстрого изучения

Микротик – оборудование, которое требует определенных знаний и умений при конфигурировании, будь то VPN или другие соединения. Самостоятельно изучить настройки не всегда легко, поэтому на помощь приходят разнообразные компьютерные курсы. Они дистанционно, в режиме «онлайн», смогут научить пользователя с нуля не только настраивать оборудование, но и писать программы на различных языках.

Во время занятий автор курса и тренер будет курировать учеников, а также давать им интересные лабораторные работы (практику) и домашние задания. Пользователи всегда смогут посмотреть пропущенные вебинары в записи, сформировав собственные схемы обучения работе с NAT и портами, Микротиком и другим оборудованием. В конце обучения выдается электронный сертификат для подтверждения приобретенных знаний.

P. S. Интересуют компьютерные сети, сетевые технологии, протоколы передачи данных? Обратите внимание на следующие курсы в Otus:

  • «Network engineer«;
  • «Network engineer. Basic«.

Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными IP адресами могут подключаться к интернету напрямую и делать порты публично доступными, система, находящаяся за роутером в локальной сети, может оказаться недоступной из интернета. Технология проброса портов (port forwarding) позволяет преодолеть это ограничение и сделать устройства доступными публично.

Сетевые сервисы и приложения, запущенные на различных устройствах, используют порты с определенными номерами с целью инициации соединений и организации коммуникаций. Разные порты могут использоваться одновременно для разделения типов трафика и запросов. Обычно порты ассоциируются с определенными службами, чтобы клиент мог подключиться к серверу по определенному порту, а сервер принять соединение и ответить соответствующим образом.

Ниже представлены наиболее распространенные порты:

  • 21: FTP (File Transfer Protocol; Протокол передачи файлов)
  • 22: SSH (Secure Shell; Безопасный шелл)
  • 23: Telnet (Teletype Network; Телетайпная сеть)
  • 25: SMTP (Simple Mail Transfer Protocol; Простой протокол передачи электронной почты)
  • 80 : HTTP (Hypertext Transfer Protocol; Протокол передачи гипертекста)
  • 194: IRC (Internet Relay Chat; Ретранслируемый интернет-чат)
  • 443: HTTPS (HTTP с поддержкой шифрования)

Если вы читаете это руководство в интернете при помощи веб-браузера, то вероятно используете протокол HTTPS, работающий на порту 443.

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

В веб-браузерах нестандартные HTTP порты могут быть указаны после двоеточия в конце IP адреса или URL с целью загрузки содержимого через этот порт. Если веб-сервер запущен на локальной машине на порту 8080, а не более общепринятом 80 порту, возможно получить доступ к этому серверу, если ввести в браузере адрес localhost:8080 или 127.0.0.1:8080. Если же ввести один из вышеуказанных адресов без суффикса «:8080» та же самая страница загружена не будет.

localhost:8080

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

Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном IP адресе. Все запросы и пакеты отсылаются через роутер перед обратным возвращением ответов на соответствующие устройства, сделавшие изначальные запросы. По умолчанию роутеры не обрабатывают входящие запросы на определенных портах. Если кто-то пытается подключиться к роутеру через SSH, роутер не сможет ни обработать этот запрос, ни отправить этот запрос дальше по цепочке, поскольку не знает целевого адресата. Эту проблему как раз и решает настройка проброса портов внутри роутера.

Шаг 1. Выяснение IP адреса роутера

C:\> ipconfig/all
 
Windows IP Configuration
 
   Host Name . . . . . . . . . . . . :  █████████
   Primary Dns Suffix  . . . . . . . :  █████████
   Node Type . . . . . . . . . . . . :  █████████
   IP Routing Enabled  . . . . . . . :  █████████
   WINS Proxy Enabled  . . . . . . . :  █████████
 
Ethernet adapter Ethernet:
 
   Connection-specific DNS Suffix  . :  █████████
   Description . . . . . . . . . . . :  Intel(R) PRO/1000 MT Desktop Adapter
   Physical Address  . . . . . . . . :  █████████
   DHCP Enabled  . . . . . . . . . . :  Yes
   Autoconfiguration Enabled . . . . :  Yes
   Link-local IPv6 Address . . . . . :  █████████
   IPv4 Address  . . . . . . . . . . :  █████████
   Subnet Mask . . . . . . . . . . . :  255.255.255.0
   Lease Obtained  . . . . . . . . . :  █████████
   Lease Expires . . . . . . . . . . :  █████████
   Default Gateway . . . . . . . . . :  192.168.0.1
   DHCP Server . . . . . . . . . . . :  192.168.0.1
   DHCPv6 IAID . . . . . . . . . . . :  █████████

Обычно у роутеров доступна административная панель по протоколу HTTP (порт 80). В большинстве случаев для доступа используется локальный IP адрес роутера (192.168.0.1 или 192.168.1.1). В Microsoft Windows подключенный роутер (или шлюз, используемый по умолчанию) легко обнаружить при помощи команды ipconfig/all.

В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.

~$ netstat -rn
 
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 enp0s25
█████████       ████████████    █████████       ███      ██████        ████████████
█████████       ████████████    █████████       ███      ██████        ████████████

В macOS используется та же самая команда:

~% netstat -rn
 
Routing tables
 
Internet:
Destination        Gateway            Flags        Netif Expire
default            192.168.0.1        UGSc           en0
█████████          █████████          █████████      ███   ████
█████████          █████████          █████████      ███   ████
█████████          █████████          █████████      ███   ████
█████████          █████████          █████████      ███   ████
█████████          █████████          █████████      ███   ████
█████████          █████████          █████████      ███   ████

Шаг 2. Доступ к конфигурационной панели роутера

После выяснения локального IP адреса роутера вы можете получить доступ к конфигурационной панели, если введете адрес в браузере, как и в случае с обычным URL (у некоторых роутеров, например, предусмотрено мобильное приложение, и задача упрощается).

Рисунок 2: Форма авторизации конфигурационной панели роутера

После загрузки панели управления необходимо выполнить авторизацию. Имя пользователя и пароль могут быть установлены производителем или интернет-провайдером или вами. Эту информацию можно найти в документации на роутер или на корпусе.

Хотя у разных роутеров панель управления может отличаться, в целом процедура настройки примерно одинаковая. После авторизации зайдите в раздел «Advanced» или найдите, где находится раздел «Port Forwarding». В нашем случае соответствующий раздел называется «Advanced Port Forwarding Rules».

Рисунок 3: Раздел с настройкой проброса портов

Шаг 3. Настройка правил проброса портов

Для демонстрации правил проброса портов рассмотрим простейший случай, когда у пользователя есть устройство Raspberry Pi, подключенное домашнему сетевому роутеру. На Pi запущена служба SSH, позволяющая залогиниться на устройстве при наличии корректного имени пользователя и пароля. Текущий IP адрес устройства Raspberry Pi — 192.168.0.105.

  • Правило было названо как «RBPi SSH» с целью упрощения идентификации в будущем. В целом имя правила полностью зависит от ваших личных предпочтений и не влияет на используемые порты.

  • Диапазон параметра Public Port (иногда именуемого как Source Port) установлен от 22 до 22 (стандартный порт протокола SSH). Этот порт роутер сделает доступным через интернет. Через этот же порт пользователь будет подключаться к Raspberry Pi.

  • Параметр Private Port (иногда именуемый как Destination Port) установлен как 22, поскольку демон SSH на устройстве Pi работает на 22 порту.

  • Параметр Traffic Type установлен как TCP, поскольку по протоколу SSH передается TCP трафик.

  • Параметр IP Address соответствует IP адресу устройства Pi в локальной сети (192.168.0.105).

  • Наконец, слева от правила отмечен флажок, чтобы правило стало активным.

У вашего роутера интерфейс может отличаться, но в целом суть настроек остается неизменной.

Рисунок 4: Настройки правила проброса портов для авторизации через протокол SSH

Вышеуказанное правило означает, что пользователь может подключаться по IP адресу роутера по протоколу SSH через интернет и впоследствии будет перенаправлен на сервер устройства Raspberry Pi. Эту схему можно использовать для создания веб-сервера, работающего на 80 порту, или, например, для прикрепления сервера видеоигр к указанному порту. Учитывайте, что у некоторых провайдеров есть правила, касательно хостинга и другого контента, которые нужно учитывать перед тем, как сделать доступным сервер из локальной сети.

Шаг 4. Защита от сканирования портов и атак

Одна из проблем, возникающая во время открытия портов в интернете при помощи проброса – порты становятся доступными для сканирования. Злоумышленники в интернете могут использовать автоматизированные средства для сканирования диапазонов IP адресов или утилиты навроде Shodan для поиска потенциально уязвимых устройств с определенными активными портами. Порты протокола SSH являются основной целью, поскольку дают доступ к шеллу, при помощи которого можно украсть данные или установить вредоносное приложение.

В случае проброса портов для защиты от сканирования может оказаться полезным поменять публичный или исходный порт в настройках роутера. Вместо распространенного порта 22, на который настроены все сканеры, можно указать нестандартный порт (например, 9022).

Рисунок 5: Настройка SSH на нестандартный порт

После смены порта клиент при подключении к устройствам через SSH из интернета должен будет указать порт 9022. Попытка подключиться к порту 22 извне окажется неудачной, поскольку проброс будет идти от порта 9022, а не от порта 22.

Вы также можете использовать сервис типа Fail2ban (фреймворк для защиты от внешний вторжений), предназначенного для защиты сети от атак с использованием брутфорса, после того как злоумышленник найдет активный порт. Утилиты навроде Fail2ban ограничивают количество попыток авторизации, выполняемых из внешней сети.

Проброс портов в Линуксе на системном уровне

Проброс портов на уровне роутера может быть полезным для настройки сетей, доступных через интернет. В Линуксе ту же самую задачу можно решить на системном уровне.

Схожим образом, что и порт роутера связывается с указанным портом устройства внутри локальной сети, один порт можно связать с другим для упрощения использования. Например, при установке ханипота Cowrie демон SSH перемещается от порта 22 на порт 9022. Затем порт 2222, где работает ханипот, перенаправляется на порт 22, который будет доступен в интернете и, как следствие, с высокой степенью вероятности просканирован и атакован.

Для конфигурирования локального проброса портов в Линуксе вначале нужно выполнить следующую команду с целью установки в параметр ip_forward значения 1 (в этом случае проброс портов активируется на уровне операционной системы):

~$ echo "1" > /proc/sys/net/ipv4/ip__forward

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

GNU nano 2.7.4        File: /etc/ssh/sshd_config           Modified
 
#       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $
 
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
 
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
 
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.
 
Port 9022
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.

~$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

Другие сферы, где используется проброс портов

Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.

Как выполнить проброс портов на маршрутизаторе

Необходимость проброса портов на маршрутизаторе (роутере) возникает, когда вы хотите организовать доступ из интернета к какому-то ресурсу домашней сети. Это может быть как игровой сервер, так и сервер RDP, FTP или установить дома камеру охранного наблюдения, чтобы постоянно видеть, что творится у вас дома (например, если вы оставили дома своего ребёнка с наёмной няней).

Иногда безусловного проброса портов требуют IP-телефонии. Это уже зависит от того, по какому принципу осуществляет работу ваша коммуникационная компания.

Практически любой маршрутизатор корректно поддерживает весь этот функционал. Единственное, на что хотелось бы обратить пристальное внимание – это необходимость получения от провайдера внешнего IP.  Статического или динамического, в данном случае не имеет большого значения. Он просто по факту у вас должен быть.

  1. Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?
  2. Контрольный список необходимых операций
  3. Заходим в админку маршрутизатора
  4. Проверяем и корректируем настройки DHCP
  5. Подготавливаем компьютер через прописывание фиксированного (статического) IP-адреса (Способ 1)
  6. Подготавливаем компьютер через фиксирование его адреса на маршрутизаторе (Способ 2)
  7. Настраиваем проброс портов на маршрутизаторе
  8. Что делать, если вдруг ничего не заработало?

Почему необходимо пробрасывать порты для доступа к внутренним ресурсам из интернета?

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

Чтобы не допустить всякую нечисть в домашнюю сеть, роутер пропускает только те запросы и только тому компьютеру в сети, которые он запрашивал. Для этого умные инженеры придумали NAT – Network Address Translation (преобразование сетевых адресов). Эта система позволяет скрыть от всего интернета ваш внутренний адрес. Таким образом, все устройства, подключенные к интернету в вашей домашней сети, в интернете видятся под одним единственным IP-адресом – внешним или белым. Причём, это может быть как ваш белый IP, так и просто любой провайдерский, если провайдер раздаёт внутри своей сети серые IP.

Таким образом, если вы хотите, например, подключится удалённо к вашему домашнему компьютеру через RDP – роутер просто не будет понимать, кому именно в домашней сети перенаправить запрос – вы же ему этого не объяснили… Он просто его отфильтрует. Конечно, есть ещё возможность добавить ваш домашний сервис в раздел DMZ (Demilitarized Zone) – демилитаризованную зону. Но в этом случае абсолютно все запросы извне, которые никто не запрашивал, а так же те, для которых не прописано определённое правило для портов – будут перенаправляться к вашему узлу. Таким образом вы сделаете его совершенно беззащитным, так что без острой необходимости лучше не пользоваться этим разделом в целях безопасности.

Делаем проброс портов

Контрольный список необходимых операций

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

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

1.1. Способ 1. Вы можете присвоить статический IP, прописав его в свойствах сетевой карты – это очень надёжный способ, т.к. уже ничего не изменится без вашего вмешательства. Я думаю, что для домашней сети этого вполне будет достаточно. Единственное, что при этом надо учесть – это необходимость скорректировать настройки вашего DHCP-сервера, который находится в роутере. Мы рассмотрим это на примере ниже.

1.2. Способ 2. Этот способ более изящный, т.к. не потребует изменения диапазона выдаваемых DHCP-сервером адресов. В этом случае вы должны закрепить за компьютером адрес средствами того же DHCP-сервера. Этот способ немного менее надёжный, однако тоже имеет право на жизнь. Один раз в жизни я столкнулся с таким, что компьютер, который был «закреплён» роутером на определённый IP вдруг стал получать другой адрес. Естественно, это была проблема глючноватой прошивки роутера. Однако, надо иметь ввиду, что такой исход тоже возможен.

2. Вы должны определить, какие порты и протоколы необходимо будет пробрасывать. В настоящий момент в обиходе используются два транспортных протокола – TCP и UDP. Например, для того, чтобы подключиться по RDP, либо организовать доступ к FTP-серверу, нам необходим TCP. IP-телефония использует UDP для передачи данных. Имейте это ввиду. Если эта информация вам неизвестна – не поленитесь открыть Яндекс или Google и сделать соответствующий запрос. Хотя, в большинстве случаев, в роутерах уже имеются предустановленные пробросы портов для самых часто возникающих нужд. Мы это с вами тоже посмотрим ниже.

3. Необходимо убедиться в том, что у вас есть белый IP. Некоторые провайдеры могут предоставлять его всем абонентам сети по умолчанию (сейчас это встречается всё реже и реже), либо же его придётся подключить (позвонить провайдеру или зайти в личный кабинет). Выяснить можно, зайдя в web-интерфейс админки роутера.

Заходим в админку маршрутизатора

Мы будем отрабатывать проброс портов на роутере марки TP-Link, т.к. роутеры этой марки набирают всё большую популярность из-за их соотношения цены и качества. Сейчас в кризисное время это особенно актуально. Не переживайте, если у вас роутер другой марки – проброс портов в 95% случаев практически ничем не отличается, просто нужно делать всё по аналогии.

Итак, заходим в админку роутера, введя в адресной строке адрес 192.168.0.1 – этот адрес по умолчанию установлен в большинстве роутеров. В более редких случаях это может быть адрес 192.168.1.1 или, в ещё более редких случаях – 192.168.10.1. Если вы пользуетесь интернет-центром Yota – скорей всего вам надо идти по адресу 10.0.0.1. А, чтобы не гадать на кофейной гуще и не перерывать пол интернета в поисках правильного адреса, можно зайти в Пуск>Панель управления>Центр управления сетями и общим доступом>Щёлкнуть по ярлычку активного сетевого подключения и нажать кнопочку Сведения. В пункте Шлюз по умолчанию будет прописан адрес вашего роутера.

После запроса логина и пароля, вводим в поле логин и в поле пароль слово admin (если иное не написано на корпусе роутера или вы сами не меняли).

И сразу в web-интерфейсе мы видим, что IP адрес у нас внутренний провайдерский (серый, иначе говоря). Смотреть надо именно в раздело WAN – это настройки для вашего интернета!

Для того, чтобы было понятно, как отличить белый от серого я написал эту мини-шпаргалку. Дело в том, что ещё вначале далёких 80-х годах, когда была утверждена спецификация TCP/IP умные головы сразу решили зарезервировать различные адресные пространства (подсети) для специальных целей. Даже зарезервировали пару подсетей для того, чтобы можно было упоминать эти адреса в технической документации, а то в суд на родине протокола ходят чаще чем за хлебом… Ну, это уже лирика. Из всего этого зарезервированного великолепия, нас интересуют подсети, выделенные именно под частные сети. Их немного:
10.Х.Х.Х
172.16.Х.Х
192.168.Х.Х
где Х – число от 0 до 255.

В моём примере мы видим, что адрес начинается с десятки – это значит, что адрес у меня внутренний. Ну, я и не в обиде – будет нужен белый, попрошу дядю-провайдера о выделении.

Проверяем и корректируем настройки DHCP

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

Здесь нас интересует три вещи:

— включен или выключен DHCP-сервер (DHCP Server Enabled/Disabled – в скобках буду приводить названия англоязычных пунктов меню, т.к. не все маршрутизаторы оснащены русскоязычным интерфейсом);

Начальный IP-адрес (Start IP Address) – начальное значение диапазона адресного пространства, из которого DHCP-сервер будет раздавать IP-адреса;

Конечный IP-адрес (End IP Address) – конечное значение диапазона адресного пространства, из которого DHCP-сервер будет раздавать IP-адреса.

А ещё посмотрите в заголовок на зелёном фоне и попытайтесь угадать, о чём думал переводчик, когда делал русскую локализацию, программисты были солидарны. Шучу-шучу – думаю, что у людей были очень сжатые сроки, и они не успели выловить все очепятки.

В принципе, если вы являетесь счастливым обладателем маршрутизатора марки TP-Link, то скорей всего у вас такой диапазон будет проставлен по умолчанию. Я не стал менять эту настройку на домашнем маршрутизаторе, т.к. выделение диапазона из 200 адресов мне хватит ещё с десятикратным запасом.  У маршрутизаторов марки Zyxel вообще обычно где-то с 192.168.0.20 по 192.168.0.39 – 20 адресов диапазон по умолчанию стоит.

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

Для пущей надёжности, я бы рекомендовал воспользоваться первым способом. Но рассмотрим мы их оба, т.к. случаи разные бывают.

Подготавливаем компьютер через прописывание фиксированного (статического) IP-адреса

Бывает, что по умолчанию маршрутизатор раздаёт адресное пространство всей подсети (в настройках стоит от 192.168.0.2 (адрес маршрутизатора не должен быть в адресном диапазоне) и по 192.168.0.254). Если вы хотите воспользоваться первым способом, то необходимо этот диапазон подкорректировать, освободив адрес для нашего компьютера. Поменять в поле ОТ, например, на 192.168.0.3 –тогда адрес 192.168.0.2 мы сможем использовать для нашего компьютера, к которому открываем доступ. Хотя, для домашней сети, как правило, такого количества адресов не требуется, поэтому в поле ОТ можно написать, например, 192.168.0.10, или 192.168.0.100 на конце – вдруг ещё что-то придётся открывать – точно с адресом не промахнётесь.

Для того, чтобы присвоить компьютеру статический IP-адрес, идём в Пуск>Панель управления>Центр управления сетями и общим доступом.

Щёлкаем по ссылочке, обозначающей соединение с интернетом (Тип доступа: Интернет) и попадаем вот в такое окошко:

Здесь мы нажимаем Свойства и выбираем Протокол Интернета версии 4

И нажимаем Свойства

Выбираем Использовать следующий IP-адрес: и вбиваем туда статический адрес, который освободили на предыдущем шаге. (IP-адрес, маску подсети, основной шлюз, предпочитаемый DNS-сервер). Нажимаем везде ОК.

Подготавливаем компьютер через фиксирование его адреса на маршрутизаторе

Это второй способ. В нём уже не требуется производить никаких настроек на компьютере, но нужно знать MAC-адрес сетевого адаптера. Впрочем, обо всём по порядку.

Идём по уже знакомому пути: Пуск>Панель управления>Центр управления сетями и общим доступом.

Только теперь в окне

Выбираем раздел Сведения

Здесь нас интересует строчка, обозначающая Физический адрес – это и есть тот самый MAC. Не удивляйтесь, что он у меня такой эксклюзивный, я его слегка подправил в одной известной программе. Иначе мой компьютер будет несложно отследить. Я, конечно, не страдаю паранойей, но и светить лишнюю информацию большим желанием не горю.

Итак, MAC-адрес мы выяснили, теперь переходим в раздел DHCP>Резервирование адресов (Address Reservation)

Здесь у меня уже зарезервирован некий адрес с не менее волшебным MAC-адресом (естественно, его я тоже подкорректировал). Нажимаем Добавить новую… (Add New…) (зато от такого перевода веселее на душе).

Вбиваем туда наш замечательный MAC-адрес и выделенный под это дело любой IP-адрес, причем находящийся в диапазоне, который раздаёт DHCP! Иначе ничего работать не будет. И нажимаем Сохранить.

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

Настраиваем проброс портов на маршрутизаторе

Нас интересует раздел Переадресация (Forwarding), а в этом разделе Виртуальные серверы (Virtual Servers – кто бы мог подумать? – прим. авт.). Этот раздел открывается сразу по щелчку по пункту меню.

По умолчанию здесь у нас должно быть пусто. Дабы исправить эту несправедливость, мы нажимаем Добавить новую… (Add New…)

И попадаем в эту форму. Пройдём по порядку:

Порт сервиса (Service Port) – это порт, либо диапазон портов,  по которому мы будем ломиться снаружи. Увидев обращение по этому порту, роутер поймёт, куда перенаправлять наш пакет, чтобы он достиг цели.

Внутренний порт (Internal Port) – это порт, который слушает наш домашний сетевой сервис. Если мы обратимся к внутреннему сервису по другому порту – ничего работать не будет.

IP-адрес (IP Address) – это адрес нашего компьютера или иного устройства, к которому нам нужно добраться из интернета. Как видите, он тут указывается явно. Поэтому его необходимо зафиксировать.

Протокол (Protocol) – здесь можно выбрать либо TCP, либо UDP, а можно обработку обоих протоколов по одному порту одновременно. Однако, мой добрый совет, — если вы знаете, что требуется именно один транспортный протокол, а так же знаете, какой именно протокол требуется – лучше выбирать строго его. Ибо, как гласит старая админская мудрость, лишний открытый порт – лишняя брешь в безопасности. Имейте это ввиду.

Состояние (Status) – Включено (Enabled) / Выключено (Disabled) – ну, тут, даже, комментировать нечего – правило может быть включено, может быть выключено.

Стандартный порт сервиса (Common Service Port) – наиболее часто используемые сервисы и предустановленные для них порты. Если развернуть этот выпадающий список, то можно увидеть, что предустановленных портов там немало и в большинстве случаев их хватает.

Если выбрать любой из них, то все поля заполнятся автоматически. Давайте выберем протокол HTTP, как будто мы собираемся сделать домашний вебсервер и сделать его доступным из интернета.

Как видите, нам осталось только прописать наш локальный адрес устройства. Если вам нужно, например, пробросить порт RDP – 3389, то вместо 80 в обоих полях нужно прописать 3389.

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

Нажимаем кнопочку Сохранить (Save) и видим наш замечательный сервис в списке.

В поле IP-адрес я ввёл 192.168.0.97. Вы должны ввести тот адрес, который зафиксировали для своего целевого компьютера.

Вот, собственно, и всё. Все правила для виртуальных серверов, как правило, применяются без перезагрузки маршрутизатора. Хотя – всякое бывает. Если не заработало, то перезапустите маршрутизатор и попробуйте перезагрузить компьютер. После этого всё должно заработать.

Что делать, если вдруг ничего не заработало?

Есть ещё один момент, который может препятствовать доступу к сервису, который вы должны видеть из интернета. Это Firewall или Брандмауэр. А так же всякого рода антивирусы, имеющие свой Firewall и, порой параноидально, старающиеся любой ценой защитить компьютер пользователя от внешних угроз.

Попробуйте отключить ваш Firewall и проверить, будет ли доступен сервис после этого. Если всё заработает, значит нужно копать именно там.

Что именно и как копать – рассмотрим в одной из следующих статей.

Теги:
сетевые технологии,
как пробросить порты

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

Другие статьи в разделе:

  • Куда девается скорость интернета?
  • Устанавливаем простенький FTP-сервер в среде Windows Server 2008/2012
  • Как настроить общий доступ к принтеру
  • Как организовать совместный доступ к файлам и папкам (простой способ для домашней сети)
  • Ограничения технологии Powerline
  • Как сделать интернет на даче?
  • Как выполнить проброс портов на маршрутизаторе
  • Как выбрать Powerline-адаптеры
  • Интернет из розетки или знакомимся с технологией Powerline
  • Как узнать пароль на Wi-Fi?
  • Как настроить роутер Apple Airport Extreme
  • Топологии сетей
  • Безопасность домашней сети
  • Что можно сделать с домашней сетью
  • Как определить IP-адрес маршрутизатора. Логины и пароли по умолчанию.
  • Масштабирование сетей через W-iFi
  • Настройка режима WDS на примере маршрутизатора ASUS WL-550gE
    Или как настроить повторитель
  • Настройка беспроводного маршрутизатора
    Или сеть своими руками – это просто
  • Сетевые технологии Или делаем сеть своими руками
  • Дополнительная антенна для роутера мтс
  • Доступ к роутеру из вне openwrt
  • Доступ к роутеру keenetic air
  • Доступ к вай фай роутеру через телефон
  • Доступ к модему подключенному к роутеру