Проблема, которую решает UPnP
Роутер по умолчанию не пропускает в домашнюю сеть незапрошенные подключения из интернета: он замечает, какие соединения начали сами устройства, и разрешает только ответы на них. Это удобно и безопасно, но есть обратная сторона. Если приложению нужно принимать входящие подключения (например, игре, которая ищет партнёров напрямую, или программе для видеосвязи), роутер их просто отбросит.
Раньше выход был один — вручную настроить проброс порта. Для этого пользователь должен был знать номера портов, протокол и внутренний адрес устройства. UPnP (Universal Plug and Play) автоматизирует эту процедуру: программа сама обращается к роутеру по локальной сети и просит «открыть порт такой-то и направлять его на меня». Общие принципы описаны в статье о ручном пробросе портов и в словаре: UPnP.
Как происходит обмен между приложением и роутером
Последовательность выглядит примерно так, и её полезно представлять, чтобы понимать возможные проблемы.
- Приложение рассылает в локальной сети запрос: есть ли здесь устройство, поддерживающее UPnP.
- Роутер отвечает и сообщает свой адрес и возможности.
- Приложение просит создать правило: внешний порт такой-то направить на внутренний адрес и порт такой-то.
- Роутер добавляет правило в таблицу и подтверждает его.
- Когда приложение закрывается или срок правила истекает, оно должно попросить удалить запись.
Обратите внимание: авторизации на этом пути нет. Роутер доверяет любому устройству внутри сети, то есть запросить открытие порта может не только игра, но и вредоносная программа, попавшая на компьютер, телефон или «умный» гаджет. В этом и состоит главная претензия к технологии.
Когда UPnP полезен, а когда лучше выключить
Решение зависит от того, что подключено к сети и как вы её используете.
| Ситуация | Что разумнее |
|---|---|
| Домашняя сеть с играми и приставкой, не требуется удалённый доступ | Оставить включённым или использовать ручное правило для нужной игры |
| В сети есть камеры, самодельные серверы, устройства «для гостей» | Выключить и настроить нужные порты вручную |
| Роутер не самый новый, прошивка давно не обновлялась | Выключить и обновить прошивку |
| Провайдер выдаёт «серый» адрес без выхода снаружи | UPnP бесполезен, порты всё равно недоступны |
Последняя строка часто удивляет: если у роутера нет собственного публичного адреса, откуда-то из интернета к нему подключиться в принципе нельзя, и автоматическое открытие порта ничего не даст. Проверить адрес на порту WAN и понять, публичный ли он, помогает материал о двойном NAT.
Как посмотреть, что уже открыл UPnP
В большинстве роутеров есть раздел, где отображается таблица активных UPnP-правил. Он может называться «UPnP», «Список сопоставлений портов» или быть частью раздела о NAT и переадресации. В таблице видно внутренний адрес устройства, порты и протокол.
Если вы видите записи, которых не создавали, это повод разобраться. Часть из них может оставаться от давно закрытых игр и приложений. Другие принадлежат телевизору, приставке или программе для обмена файлами, которой вы уже не пользуетесь. Неожиданная запись от устройства, которое вы не узнаёте, — сигнал проверить, что это за устройство в списке клиентов.
Общий порядок действий такой: отметьте, какие адреса фигурируют в таблице, сопоставьте их с устройствами в разделе клиентов роутера, при необходимости удалите записи вручную и отключите UPnP, если он не нужен. Если после отключения игра или приложение перестало работать, порт можно открыть вручную только для нужного устройства.
Безопасная схема работы с портами
Ни одна настройка не убирает риск целиком, но комбинация нескольких мер значительно его снижает.
- Обновляйте прошивку роутера: в старых версиях UPnP находили уязвимости, которые позволяли создавать правила снаружи.
- Отключите UPnP, если не можете назвать приложение, для которого он нужен.
- Используйте ручное правило только для нужного порта и нужного устройства, а не режим DMZ.
- Закрепляйте адрес устройства, на которое направлен порт, чтобы правило не «уехало» на другое устройство после смены адреса.
- Периодически просматривайте таблицу правил и удаляйте лишнее.
Особенно осторожными надо быть с видеокамерами и сетевыми накопителями: их порты не стоит открывать автоматически. Для таких устройств подойдёт ручное правило и стойкий пароль, а сам порт по возможности стоит ограничить.
Типичные ситуации из практики
Несколько сценариев показывают, как решается вопрос на деле.
Семья играет на приставке, а роутер стоит с заводскими настройками. Приставка показывает строгий тип NAT. Включение UPnP обычно улучшает его без дополнительных действий, и для такой сети это разумный компромисс при условии, что прошивка свежая.
В доме установлены камеры и накопитель с общим доступом. Здесь автоматическое открытие портов нежелательно: лучше отключить UPnP и вручную открыть только то, что требуется. Если ничего из этого не нужно снаружи, не открывайте вообще.
Пользователь включил UPnP давно и забыл. В таблице оказались десятки записей от разных программ. Стоит очистить список, выключить функцию и включить её снова только при необходимости.
Провайдер выдаёт общий адрес. Ни UPnP, ни ручной проброс не заработают снаружи. Чтобы не тратить время, сначала проверьте адрес на порту WAN.
Общее правило одно: включать автоматику нужно, зная, зачем она нужна, и хотя бы раз в несколько месяцев смотреть, что накопилось в таблице.
Отдельно скажем о телевизорах, приставках и «умных» колонках. Они тоже умеют просить открытие портов и делают это без вашего ведома. Если после включения UPnP в таблице появились записи от таких устройств, это обычно нормально: они нужны для трансляции контента и связи с приложениями. Тревогу должны вызывать записи от устройств, которые вы не узнаёте, либо правила на подозрительно большие диапазоны портов. В такой ситуации отключите UPnP, удалите записи, обновите прошивку и проверьте список клиентов роутера на незнакомые адреса.