Введение
В компьютерных сетях переадресация портов, или сопоставление портов, — это применение технологии трансляции сетевых адресов (NAT), которое перенаправляет запрос на связь с одной комбинации адреса и номера порта на другую при прохождении пакетов через сетевой шлюз, такой как маршрутизатор или брандмауэр. Эта техника чаще всего используется для обеспечения доступа к службам, работающим на хосте, расположенном в защищенной или скрытой (внутренней) сети, для хостов с противоположной стороны шлюза (внешней сети), путем изменения IP-адреса назначения и номера порта связи на адрес внутреннего хоста.
In computer networking, port forwarding or port mapping is an application of network address translation (NAT) that redirects a communication request from one address and port number combination to another while the packets are traversing a network gateway, such as a router or firewall. This technique is most commonly used to make services on a host residing on a protected or masqueraded (internal) network available to hosts on the opposite side of the gateway (external network), by remapping the destination IP address and port number of the communication to an internal host.
Типы
Портфорвардинг может быть классифицирован на следующие типы: локальный, удаленный и динамический.
Удаленная пересылка портов
Эта форма пересылки портов позволяет приложениям на серверной стороне соединения Secure Shell (SSH) получать доступ к службам, находящимся на клиентской стороне SSH. Помимо SSH, существуют проприетарные схемы туннелирования, использующие удаленную пересылку портов для той же цели. Иными словами, удаленная пересылка портов позволяет пользователям подключаться с серверной стороны туннеля – SSH или другого – к удаленной сетевой службе, расположенной на клиентской стороне туннеля. Для использования удаленной пересылки портов необходимо знать адрес сервера назначения (на клиентской стороне туннеля) и два номера портов. Выбор номеров портов зависит от используемого приложения. Удаленная пересылка портов позволяет другим компьютерам получать доступ к приложениям, размещенным на удаленных серверах. Вот два примера: сотрудник компании размещает FTP-сервер у себя дома и хочет предоставить доступ к FTP-сервису коллегам, использующим компьютеры на рабочем месте. Для этого сотрудник может настроить удаленную переадресацию портов через SSH на внутренних компьютерах компании, указав адрес своего FTP-сервера и используя правильные порты для FTP (стандартный порт FTP – TCP/21). Открытие сеансов удаленного рабочего стола – распространенное применение удаленной переадресации портов. Это можно реализовать через SSH, открыв порт виртуальной сети вычислений (5900) и указав адрес целевого компьютера. Удаленная пересылка портов может быть реализована путем настройки локального приложения, например SSH, в качестве SOCKS-прокси-сервера, который можно использовать для обработки передачи данных по сети или через Интернет. Программы, такие как веб-браузеры, необходимо настраивать индивидуально для перенаправления трафика через прокси-сервер, который действует как защищенный туннель к другому серверу. После того, как прокси-сервер больше не нужен, программы необходимо вернуть к исходным настройкам. Из-за необходимости ручной настройки удаленная пересылка портов используется нечасто. Это мощный инструмент с широким спектром применения; например, пользователь, подключенный к Интернету через кафе, отель или другую небезопасную сеть, может использовать удаленную пересылку портов для защиты данных. Ее также можно использовать для обхода брандмауэров, ограничивающих доступ к внешним веб-сайтам, например, в корпоративных сетях.
An employee of a company hosts an FTP server at their own home and wants to give access to the FTP service to employees using computers in the workplace. In order to do this, an employee can set up remote port forwarding through SSH on the company's internal computers by including their FTP server’s address and using the correct port numbers for FTP (standard FTP port is TCP/21)
Opening remote desktop sessions is a common use of remote port forwarding. Through SSH, this can be accomplished by opening the virtual network computing port (5900) and including the destination computer’s address. DPF can be implemented by setting up a local application, such as SSH, as a SOCKS proxy server, which can be used to process data transmissions through the network or over the Internet. Programs, such as web browsers, must be configured individually to direct traffic through the proxy, which acts as a secure tunnel to another server. Once the proxy is no longer needed, the programs must be reconfigured to their original settings. Because of the manual requirements of DPF, it is not often used. DPF is a powerful tool with many uses; for example, a user connected to the Internet through a coffee shop, hotel, or otherwise minimally secure network may wish to use DPF as a way of protecting data. DPF can also be used to bypass firewalls that restrict access to outside websites, such as in corporate networks.