Sobes.tech
Junior
102
questionbank

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

Ответ от нейросети

sobes.tech AI

Проброс портов (port forwarding) — сетевая техника, которая перенаправляет сетевые пакеты, прибывающие на определенный порт и IP-адрес, на другой IP-адрес и порт в локальной сети.

Это позволяет внешним устройствам получать доступ к сервисам, запущенным на внутренних устройствах, которые обычно скрыты за NAT (Network Address Translation).

Основные типы проброса портов:

  • Статический (Static NAT): Определенное правило проброса, которое постоянно связывает внешний порт с внутренним портом на конкретном внутреннем IP-адресе.
  • Динамический (Dynamic NAT): Используется чаще для исходящего трафика, где группа внутренних IP-адресов отображается на один или несколько внешних IP-адресов и портов динамически. В контексте "проброса" обычно подразумевается статический проброс для входящего трафика.
  • Проброс портов на SSH (SSH Port Forwarding): Использование SSH-туннелей для безопасного перенаправления трафика. Может быть:
    • Локальным: Перенаправляет порт с локальной машины на удаленный сервис через SSH-сервер.
    • Удаленным: Перенаправляет порт с удаленной машины на локальный сервис через SSH-сервер.
    • Динамическим (SOCKS proxy): Создает SOCKS-прокси, позволяя туннелировать трафик к нескольким адресам и портам.

Применяется для:

  • Доступа к веб-серверам, SSH, FTP, игровым серверам и другим сервисам внутри локальной сети извне.
  • Реализации VPN.
  • Обхода фаерволов и NAT в определенных сценариях (например, с SSH).

Пример правила на маршрутизаторе (концептуально):

Входящий Интерфейс Внешний IP Внешний Порт Протокол Внутренний IP Внутренний Порт
WAN 203.0.113.10 80 TCP 192.168.1.100 80
WAN 203.0.113.10 2222 TCP 192.168.1.101 22

Пример SSH локального проброса:

# Локальный порт 8080 перенаправляется на порт 80 на сервере webserver.example.com
ssh -L 8080:webserver.example.com:80 user@ssh.example.com

Пример SSH удаленного проброса:

# Удаленный порт 8080 на ssh.example.com перенаправляется на порт 80 на локальной машине
ssh -R 8080:localhost:80 user@ssh.example.com