Sobes.tech
Junior

Какво е пренасочване на портове?

sobes.tech AI

Отговор от AI

Портфоруърдинг (port forwarding) е мрежова техника, която пренасочва мрежови пакети, идващи към определен порт и IP адрес, към друг IP адрес и порт в локалната мрежа.

Това позволява на външни устройства да имат достъп до услуги, работещи на вътрешни устройства, които обикновено са скрити зад NAT (Network Address Translation).

Основните типове портфоруърдинг:

  • Статичен (Static NAT): Постоянно правило за пренасочване, което свързва постоянно външния порт с вътрешен порт на конкретен вътрешен IP адрес.
  • Динамичен (Dynamic NAT): По-често се използва за изходящ трафик, където група вътрешни IP адреси се мапват динамично към един или повече външни IP адреси и портове. В контекста на "портфоруърдинг" обикновено се отнася за статично пренасочване за входящ трафик.
  • SSH портфоруърдинг (SSH Port Forwarding): Използване на SSH тунели за сигурно пренасочване на трафика. Може да бъде:
    • Локално: Пренасочва порт от локалната машина към отдалечена услуга чрез SSH.
    • Отдалечено: Пренасочва порт от отдалечена машина към локална услуга чрез SSH.
    • Динамично (SOCKS прокси): Създава 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