Что такое перенаправление порта?

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

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

Зачем нужно перенаправление портов?

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

В типичной жилой сети узлы получают доступ в Интернет через DSL или кабельный модем , подключенный к маршрутизатору или транслятору сетевых адресов (NAT/NAPT). Хосты в частной сети подключены к коммутатору Ethernet или взаимодействуют через беспроводную локальную сеть . Внешний интерфейс устройства NAT настроен на общедоступный IP-адрес. С другой стороны, компьютеры за маршрутизатором невидимы для хостов в Интернете, поскольку каждый из них взаимодействует только с частным IP-адресом.

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

Типичные приложения включают следующее:

  • Запуск общедоступного HTTP -сервера в частной локальной сети
  • Разрешение доступа Secure Shell к хосту в частной локальной сети из Интернета
  • Разрешение FTP -доступа к хосту в частной локальной сети из Интернета
  • Запуск общедоступного игрового сервера в частной локальной сети

Администраторы настраивают перенаправление портов в операционной системе шлюза. В ядрах Linux это достигается с помощью правил фильтрации пакетов в компонентах ядра iptables или netfilter . Операционные системы BSD и macOS до Yosemite (OS 10.10.X) реализуют его в модуле Ipfirewall (ipfw), а операционные системы macOS , начиная с Yosemite , реализуют его в модуле Packet Filter

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

Когда перенаправление портов реализуется прокси-процессом (например, в брандмауэрах прикладного уровня, брандмауэрах на основе SOCKS или через прокси-каналы TCP), то никакие пакеты фактически не транслируются, а проксируются только данные. Обычно это приводит к изменению исходного адреса (и номера порта) на адрес прокси-машины.

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

Unix-подобные операционные системы иногда используют переадресацию портов, где номера портов меньше 1024 могут быть созданы только программным обеспечением, работающим от имени пользователя root. Запуск с привилегиями суперпользователя (для привязки порта) может быть угрозой безопасности для хоста, поэтому переадресация портов используется для перенаправления порта с низким номером на другой порт с высоким номером, так что прикладное программное обеспечение может выполняться как обычная операционная система. системный пользователь с ограниченными привилегиями.

Универсальный протокол Plug and Play (UPnP) предоставляет возможность автоматической установки экземпляров переадресации портов на домашних интернет-шлюзах. UPnP определяет протокол устройства интернет-шлюза (IGD), который представляет собой сетевую службу, с помощью которой интернет-шлюз объявляет о своем присутствии в частной сети через простой протокол обнаружения служб (SSDP). Приложение, предоставляющее интернет-услуги, может обнаружить такие шлюзы и использовать протокол UPnP IGD для резервирования номера порта на шлюзе и заставить шлюз пересылать пакеты на прослушиваемый сокет .

Виды переадресации портов

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

Переадресация локального порта

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

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

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

Некоторые варианты использования локальной переадресации портов:

  • Использование переадресации локального порта для получения почты
  • Подключитесь с ноутбука к веб-сайту с помощью туннеля SSH.

Переадресация удаленного порта

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

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

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

  • Сотрудник компании размещает FTP-сервер у себя дома и хочет предоставить доступ к FTP-сервису сотрудникам, использующим компьютеры на рабочем месте. Для этого сотрудник может настроить удаленную переадресацию портов через SSH на внутренних компьютерах компании, указав адрес своего FTP-сервера и используя правильные номера портов для FTP (стандартный порт FTP — TCP/21).
  • Открытие сеансов удаленного рабочего стола является распространенным применением переадресации удаленных портов. С помощью SSH это можно сделать, открыв вычислительный порт виртуальной сети (5900) и включив адрес целевого компьютера.

Динамическая переадресация портов

Динамическая переадресация портов (DPF) — это метод обхода брандмауэра или NAT по запросу с использованием отверстий в брандмауэре. Цель состоит в том, чтобы позволить клиентам безопасно подключаться к доверенному серверу, который выступает в качестве посредника для отправки/получения данных на один или несколько целевых серверов.

DPF можно реализовать, настроив локальное приложение, такое как SSH, в качестве прокси-сервера SOCKS, который можно использовать для обработки передачи данных по сети или через Интернет. Программы, такие как веб-браузеры, должны быть настроены индивидуально для направления трафика через прокси-сервер, который действует как безопасный туннель к другому серверу. Как только прокси больше не нужен, программы должны быть перенастроены на их первоначальные настройки. Из-за ручных требований к DPF он используется нечасто.

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

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

Инструкции для настройки перенаправления порта для роутеров


Поделитесь статьёй: