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