Настройка проброса портов для создания интернет-сервисов

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

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

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

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

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

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

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

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

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

Зачем открывают порты на роутере

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

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


Простейшая схема сети с трансляцией адресов (NAT)

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

Внешний 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, на запрос имени пользователя и пароля — заполняем соответствующие поля. После этого попадаем в главное меню роутера.

Смена или добавление

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

Любые новые параметры сохраняются и отображаются в настройках маршрутизатора.

Чтобы добавить определенный порт, нужно:

  • Открыть браузер и ввести в его адресной строке IP маршрутизатора.
  • Набрать имя и пароль (admin/ admin).
  • Выбрать в меню «Переадресацию» и открыть в ней «Виртуальные серверы». После этого должно открыться окошко со списком портов, которые активны. На уровне каждого есть кнопки «Удалить» и «Изменить».
  • Кликнуть «Добавить новый», после чего ввести необходимую информацию и подтвердить параметры.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СервисПортПояснение
DNS53Преобразование символьного наименования в IP-адрес
FTP21Хранение и передача файлов
GOPHTER70Хранение и передача документов
HTTP80Получение информации с сайтов
NNTP119Сервер новостей
POP3110Получение почты
PPTP1723Защищенное соединение
SMTP25Прием и передача почты
SOCK1080Передача минуя межсетевой экран
TELNET23Управление в текстовом виде

Другие модели

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

D-Link

Процесс для устройств от D-Link мало чем отличается.

  1. В настройках устройства переходим в «Межсетевой экран» – «Виртуальные серверы».
  2. Шаблон выбираем кастомный.
  3. Вводим его название.
  4. Протокол и интерфейс в большинстве случаев не трогаем.
  5. В качестве значения внутренних и внешних портов везде прописываем номер требуемого.
  6. Внутренний IP – это адрес компьютера, для которого делаем проброс.

Asus

Видео-инструкции доступны здесь:

Расскажу, как сделать настройку портов и для этого производителя:

  1. В разделе «Интернет» переходим в раздел «Переадресация», затем кликаем «Виртуальный сервер».
  2. Вводим название службы.
  3. В поля «Диапазон портов» и «Локальный порт» вводим одинаковое значение.
  4. В «Локальный адрес» указываем IP целевого компьютера.
  5. «Протокол» – выбираем соединения, для которых будет действовать правило.
  6. Сохраняем конфигурацию и перезагружаем девайс.

Zyxel

  1. Для резервирования IP идём в «Домашняя сеть» – «Устройства» и выбираем нужное либо добавляем новое.
  2. Во всплывшем окошке указываем (при добавлении нового):
  • его название;
  • MAC;
  • присваиваемый статичный IP.

Перейдём непосредственно к пробросу.

  1. В разделе «Безопасность» идём во вкладку «Трансляция сетевых адресов».
  2. Кликаем «Добавить правило» и заполняем поля:
  • «Интерфейс» – указываем «Broadband connection» либо Первый применяется, если провайдер не использует авторизацию. Во время проброса его интернета выставляется PPPoE.
  • «Пакеты на адрес» – остаётся неизменным, если не применяется внешний интернет- – указываем используемый.
  • Указываем порт и IP адрес устройства, для которого тот пробрасывается.
  • Сохраняем конфигурацию.

Брандмауэр

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

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

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

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

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

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

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

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

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

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

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

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

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

Что делать, если определенный порт не получается открыть

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

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

Часто блокируются порты торрент-трекеров. Чтобы снять блокировку, бывает нужно настраивать общий маршрутизатор, который устанавливается на подъезд. Сделать это почти невозможно. Лучшее решение – поменять тарифный план на более дорогой. В таком случае ограничений не будет или появится возможность самостоятельно конфигурировать порты.

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

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]