Проброс портов и настройка роутера для внешнего доступа

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

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

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

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

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

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

Подготовка к настройке

Обязательно! Подключите услугу “Белый IP-адрес” у провайдера. Получить ее у некоторых провайдеров можно бесплатно, но большая часть предоставляет такую услугу только за отдельную и регулярную плату.

Настройка

Для настройки проброса портов прежде всего нужно знать клиента локальной сети и адреса, и порты в глобальной сети, с каких мы хотим попасть в локальную сеть из внешнего мира.Мы рассмотрим пример проброса портов на веб-сервер, который хостится в локальной сети с адресом 192.168.0.100, работающего на 80 порту.

Зная, что обращение будет осуществляться с белого адреса 132.12.23.100 и порта 555 и, что перенаправить запрос нужно на локального клиента с адресом 192.168.0.100, работающего на 80 порту.

  • Заходим на роутер, в раздел Дополнительно — Проброс портов
  • Перейдя в раздел “Проброс портов”, нажмите кнопку “Включить правило”. Введите в поле “Имя” текст с наименованием “test”, это поле можно будет изменить. Далее в выпадающем меню “Протокол” выберите TCP/UPD.

В поле “Внутренний IP-адрес” прописываем адрес, на который будет осуществляться перенаправление запросов из внешней сети, в нашем случае это “192.168.0.100”. Также необходимо прописать порт, по которому будет предоставлен доступ пользователю, в нашем случае это “80”. Тип поля выбираем “Одиночный порт”.

В поле “Удаленный IP-адрес” прописываем белый адрес, закрепленный за нами от провайдера. На этот адрес будет осуществляться перенаправление запросов из внешней сети, в нашем случае это “132.12.23.100”, не забываем прописать порт, по которому будет доступ, в нашем примере мы установили “555”.

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

Источник:

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

О пробросе портов

Локальная сеть (LAN) организована таким образом, что у устройств, находящихся в ней есть доступ во внешнуюю сеть (WAN), в то время как из глобальной сети получить доступ в локальную не получится.

Зачастую требуется открыть доступ к устройствам, находящимся в локальной сети. Например, если у вас есть FTP сервер и нужно, чтобы знакомые могли к нему подключаться, скачивать и обновлять файлы. Для того, чтобы получить доступ к файлам, хранящимся на нем, требуется открыть порты. В этом случае сделать так, чтобы пакеты пришедшие на 21 порт роутера (стандартный порт FTP) перенаправлялись на 21 порт компьютера, находящегося в локальной сети, на котором запущен FTP сервер.

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

После перенаправления портов, TCP и (или) UDP пакеты, пришедшие на заданный порт роутера, будут перенаправлены на нужный порт устройства, находящегося в локальной сети. Для этого нужно, чтобы IP-адрес роутера был белый (статический внешний IP-адрес). О белых и серых IP адресах будет рассказано ниже.

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

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

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

Внешний IP-адрес

IP-адрес может быть:

  • Внешний статический IP-адрес, который закреплен за вашим роутером. Обычно выдается провайдером за дополнительную плату, в некоторых случаях предоставляется за дополнительную абонентскую плату.
  • Внутрисетевой статический. В этом случае к вам подключиться можно только внутри сети провайдера. Извне этот IP-адрес не будет виден.
  • Внешний динамический. Этот вариант часто встречается, если вы выходите в интернет через 3G/4G роутер.  Вам выдается IP адрес из свободных, но через какое-то время он может измениться, например, после перезагрузки роутера.
  • Внутрисетевой динамический. IP-адрес не будет виден из интернета, так же он может измениться со временем.

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

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

Узнать свой IP-адрес можно с помощью разных сервисов, например, 2ip.ru, myip.ru, myip.com.

Безопасность

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

  • Для подключения к устройству должен использоваться надежный пароль;
  • Если передается конфиденциальная информация, то она должна быть в шифрованном виде.

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

В этом случае злоумышленник может:

  • Установить на компьютер свои программы;
  • Перенастроить локальную сеть;
  • Отслеживать и влиять на обмен данными по локальной сети.

Подключение

Перед настройкой проброса портов, следует подключиться к роутеру. У роутера обычно по умолчанию IP-адрес 192.168.0.1 или 192.168.1.1. Логин по умолчанию admin, а пароль может быть тоже admin, иногда 1234. Настройки роутера по умолчанию указываются на наклейке с тыльной стороны.

Вводим адрес роутера в браузере. На рисунке фото выше это 192.168.1.1, на запрос имени пользователя и пароля — заполняем соответствующие поля. После этого попадаем в главное меню роутера.

Установка статических адресов

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

  • Статические, то есть заданные вручную на каждом устройстве;
  • Динамические, раздаваемые DHCP сервером из пулла адресов.

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

Если же IP-адрес получен динамически, то следует его закрепить за устройством по MAC адресу. Это делается в настройках DHCP сервера. На рисунке ниже показан пример резервирования адреса. После резервирования, следует перезагрузить маршрутизатор.

Настройка проброса портов

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

  • Порт роутера;
  • IP устройства;
  • Порт устройства.

Роутер будет проверять все входящие пакеты. IP-пакеты пришедшие на указанный порт роутера будут перенаправлены на выставленный порт устройства.

В настройках переадресации добваляем новый виртуальный сервер.

Запись настраивается следующим образом:

  • Порт сервиса — это как раз тот порт, по которому будут подключаться из интернета;
  • Внутренний порт — это порт устройства, к которому надо открыть доступ;
  • IP-адрес — это адрес устройства в локальной сети
  • Протокол — тут можно выбрать протокол TCP или UDP. Можно выбрать «ВСЕ», тогда будут перенаправляться оба протокола.
  • Состояние — здесь выбираем «включено». При не надобности, можно отключить проброс, не удаляя запись.

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

После того как все настройки выполнены, следует их сохранить.

Номера портов

Следует обратить внимание, что номера портов могут задаваться в диапазоне от 0 до 65536.

На компьютере эти порты делятся на следующие группы :

  • Системные (от 0 до 1023);
  • Пользовательские (от 1024 до 49151);
  • Динамические (от 49152 до 65535).

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

Стандартные сервисы

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

Сервис Порт Пояснение
DNS 53 Преобразование символьного наименования в IP-адрес
FTP 21 Хранение и передача файлов
GOPHTER 70 Хранение и передача документов
HTTP 80 Получение информации с сайтов
NNTP 119 Сервер новостей
POP3 110 Получение почты
PPTP 1723 Защищенное соединение
SMTP 25 Прием и передача почты
SOCK 1080 Передача минуя межсетевой экран
TELNET 23 Управление в текстовом виде

Брандмауэр

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

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

  • Записываем в строке поиска «Брандмауэр Защитника Windows». После ввода первых нескольких букв, находится нужное приложение.
  • Выполнить «firewall.cpl». Для этого надо одновременно нажать комбинации клавиш <Win>+<R>, в поле поле открыть записываем команду и нажимаем «OK».

В дополнительных параметрах выбрать правила для входящих подключений. Там создаем новое правило. Рассмотрим это подробно.

Здесь показано основное окно настроек брандмауэра . Выбираем дополнительные параметры.

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

Выбираем тип правила «Для порта» и жмем далее.

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

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

Выбираем «Разрешить подключение».

Указываем галочками профили.

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

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

Отключение брандмауэра

В основном меню брандмауэра имеется пункт «Включение и отключение брандмауэра Защитника Windows».

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

После проверки не забудьте включить брандмауэр.

Порты позволяют сетевым и подключенным к интернету устройствам взаимодействовать через указанные каналы. Хотя серверы с назначенными 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 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой. Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.

На чтение 10 мин Просмотров 5.1к.

Максим aka WisH

Максим aka WisH

Высшее образование по специальности «Информационные системы». Опыт работы системным администратором — 5 лет.

Задать вопрос

Проброс портов потребуется вам дома, если нужно получить доступ к какому-то домашнему оборудованию из интернета. Маршрутизатор не позволяет делать такие вещи напрямую, это служит дополнительной защитой от атак из глобальной сети. Иногда требуется дать подключение из внешней сети к внутреннему устройству. Тогда и пригодится перенаправление портов.

Содержание

  1. Зачем нужен проброс портов
  2. Что необходимо для выполнения перенаправления
  3. Ручной проброс через кабинет роутера
  4. Как пробросить порты с помощью
  5. Windows
  6. iptables в Линукс
  7. SSH-туннеля
  8. Заключение

Зачем нужен проброс портов

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

схема сетевого подключения

Подключение к сети.

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

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

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

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

напрямую к устройству через переадресацию

Как выглядит переадресация.

Что необходимо для выполнения перенаправления

Для начала вам нужен белый IP-адрес. Белый – это значит статический адрес. Обычно при каждом подключении провайдер выдает вам адрес из своего пула свободных IP. Каждый раз он оказывается разным, а для подключения его нужно знать. Чтобы избежать проблем с подключением, обратитесь к провайдеру и попросите, чтобы он дал вам статический адрес.

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

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

ddns

Как работает динамическое имя.

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

Ручной проброс через кабинет роутера

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

проброс портов на роутере д линк

Через виртуальный сервер на Dlink.

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

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

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

Проброс портов.

Здесь заполните данные для установки соединения. Главное – это поставить значения во внешнем и внутреннем порте, чтобы маршрутизатор понимал, откуда и куда переправлять данные. Тут же можно указать и внешние с внутренними адресами.

веб интерфейс проброса портов на роутере

Настройка экрана.

Как пробросить порты с помощью

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

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

Windows

Откройте меню пуска и наберите там «cmd», по найденной программе щелкните правой кнопкой мыши и выберите в появившемся меню «Запуск от имени администратора». В открытой командной строке введите следующую команду:

netsh interface portproxy add v4tov4 listenaddress=xxx.xxx.xxx.xxx listenport=nnn connectaddress=xxx.xxx.xxx.xxx connectport=nnn

В команде нужно установить эти данные:

  • listenaddress – это тот адрес, с которого будут передавать пакеты.
  • listenport – порт на адресе, принимающем пакеты, который будет прослушиваться для получения информации.
  • connectaddress — удаленный или локальный адрес на который перенаправляются соединения.
  • connectport — удаленный или локальный порт на который перенаправляются соединения.

Чтобы посмотреть все созданные правила введите netsh interface portproxy show all, после этого списком отобразятся все доступные перенаправления. Для удаления используйте netsh interface portproxy delete v4tov4, только впишите тут те адреса, которые были прописаны в начальной команде.

перенаправления в командной строке

Список перенаправлений.

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

iptables в Линукс

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

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

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

Теперь открываем /etc/sysctl.conf и ищем там строку #net.ipv4.ip_forward=1, удаляем с неё значок комментария, чтобы она стала снова активна. Теперь пишем команду:

sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT

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

Теперь пишем сами правила для перенаправления:

  1. sudo iptables -t nat -A PREROUTING -p tcp -d адрес внешнего интерфейса —dport внешний порт -j DNAT —to-destination внутренний адрес:внутренний порт
  2. sudo iptables -t nat -A POSTROUTING -p tcp —sport внутренний порт —dst внутренний адрес -j SNAT —to-source внешний адрес:внешний порт

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

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

  1. sudo nano /etc/nat
    Вписываем в файл наши созданные правила.
  2. sudo iptables -t nat -A PREROUTING -p tcp -d адрес внешнего интерфейса —dport внешний порт -j DNAT —to-destination внутренний адрес:внутренний порт
  3. sudo iptables -t nat -A POSTROUTING -p tcp —sport внутренний порт —dst внутренний адрес -j SNAT —to-source внешний адрес:внешний порт
  4. sudo nano /etc/network/interfaces
    Открываем файл интерфейсов.
  5. Дописываем в конце строчку pre-up /etc/nat. Это позволит подгружать файл с командами после каждой перезагрузки системы.

Если вдруг захотите посмотреть все действующие правила, то введите в консоли sudo iptables -L -t nat. Отобразятся все действующие правила.

SSH-туннеля

SSH-туннели используются для безопасного внешнего доступа и передачи данных из интернета во внутреннюю сеть. Чем-то их действие похоже на организацию VPN-сервера и передачу данных внутри этой приватной сети.

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

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

работа ssh туннеля

Способ работы.

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

Команда для проброски портов выглядит так на большинстве устройств:

$ ssh -f -N -R 2222:10.11.12.13:22 username@99.88.77.66

Теперь доступ к устройству можно получить по адресу http://localhost:2222 или командой $ ssh -p2222 localhost. Все это делается через ваш хост 99.88.77.66 к которому уже построен и настроен туннель, так что само его построение не рассматриваем.

Заключение

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

Проблемы возникнут и при параноидальной настройке фаерволлов и антивирусов на компьютере или маршрутизаторе. Лучше заранее создайте исключения для каждого проброшенного порта и будущего соединения. Если этого не сделать, то в случайный момент времени антивирус может зарезать это соединение. Фаерволл-то его сразу не пропустит, если оно ему не нравится. А вот комплексные решения могут подложить свинью в самый неожиданный момент.

  • Проброс портов для трассир в роутере
  • Проброс портов для роутера мтс
  • Проброс портов для доступа на роутер
  • Проброс портов для видеорегистратора на роутере tp link
  • Проброс портов для видеонаблюдения на tp link роутер