Port-forwarding

проброс портов через NAT

Что это

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

Зачем нужен

По умолчанию из-за NAT устройства в домашней сети недоступны из интернета — они «за» роутером. Port-forwarding «пробивает дырку»:

Как работает

Интернет → [публичный IP:8080] → Роутер (NAT)
             ↓ правило: 8080 → 192.168.1.100:80
           [192.168.1.100:80] ← локальный веб-сервер

Где настраивается

UPnP и NAT-PMP

Приложения могут сами открыть порт через UPnP или NAT-PMP (у Apple), если роутер это поддерживает. Удобно, но небезопасно: любое приложение может выставить твой комп в интернет. Часто отключают.

Проблема CGNAT

Многие провайдеры (особенно мобильные и часть проводных) применяют CGNAT (Carrier-Grade NAT) — у тебя нет своего белого IP, ты сидишь за огромным NAT провайдера. В этом случае port-forwarding не работает — прокидывать некуда. Решения:

iptables (Linux) вручную

iptables -t nat -A PREROUTING -p tcp --dport 8080 \
  -j DNAT --to-destination 192.168.1.100:80
iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT

См. также

← на главную
← на главную