Глиф Учебники

Как пробросить порт на роутере

Справочник · Компьютерные сети · 3 минуты чтения

Проброшенный порт открывает устройство всему интернету. Боты проверяют все адреса подряд и находят открытый порт за часы. Пробрасывайте только нужный порт и только к программе, которая обновляется и защищена паролем или ключом. Не открывайте так удалённый рабочий стол Windows (3389), общие папки (445) и страницу настроек роутера. Удалите правило, когда доступ больше не нужен.

По шагам

  1. Закрепите адрес устройства. В настройках роутера, в разделе DHCP, зарезервируйте адрес за MAC-адресом устройства (пункт «Резервирование адресов», «Привязка IP к MAC», «DHCP Reservation»). Иначе после перезагрузки устройство получит другой адрес, а правило будет указывать на старый.
  2. Проверьте программу. Она должна быть запущена и слушать порт для подключений из сети, а брандмауэр устройства — пропускать их. Проверьте с другого компьютера в своей сети: Test-NetConnection 192.168.1.10 -Port 8080 в PowerShell или nc -zv 192.168.1.10 8080 в Linux (вместо 192.168.1.10 и 8080 — адрес устройства и порт программы). Если изнутри сети не подключается, снаружи не подключится тем более.
  3. Создайте правило на роутере. Раздел называется «Переадресация портов», «Проброс портов», «Виртуальные серверы», «Port Forwarding» и иногда находится внутри «NAT» или «Межсетевой экран». Поля правила:
    • имя — любое понятное, например «Камера»;
    • протокол — TCP, UDP или оба (какой нужен, сказано в инструкции программы);
    • внешний порт — на который будут подключаться снаружи;
    • внутренний адрес — адрес устройства из шага 1;
    • внутренний порт — который слушает программа (часто совпадает с внешним).
  4. Сохраните правило; некоторые роутеры просят перезагрузку.
  5. Проверьте снаружи — с телефона через мобильный интернет, выключив Wi‑Fi: откройте адрес вида http://внешний-адрес:порт/ или подключитесь программой. Внешний адрес — на странице состояния роутера (справка Как узнать свой IP-адрес).

Меню роутеров у производителей разные. Если не находите раздел, поищите в инструкции к модели слова «проброс» или «port forwarding».

Внешний и внутренний порт могут различаться. Например, правило «внешний 2222 → 192.168.1.10, порт 22» оставит SSH на сервере на обычном порту, а снаружи подключаться придётся к 2222.

Не работает

UPnP и DMZ вместо проброса

UPnP позволяет программам самим просить роутер открыть порт — так часто работают игровые приставки. Удобно, но открыть порт может и вредоносная программа; если UPnP не нужен, держите его выключенным.

DMZ отдаёт одному устройству всё входящее и открывает из интернета все его порты. Для домашнего компьютера или камеры это опасно — пробрасывайте отдельные порты.

Если внешний адрес меняется

Белый, но динамический адрес меняется после переподключения. Чтобы подключаться по имени, а не по адресу, включите на роутере DDNS (динамический DNS): роутер сам будет сообщать службе DDNS свой текущий адрес.