Как включить функцию upnp без браузера. Включение функции UPNP на маршрутизаторе

04.02.2019

Ранее я много раз слышал, что UPnP каким-то образом умеет самостоятельно открывать порты (производить Port Forwarding на роутере) по запросу от хоста из локальной сети. Однако, то, каким именно образом это происходит, и какие протоколы для этого используются, доселе было покрыто для меня пеленой тумана.

В данной статье я хочу кратко рассказать, как работают два механизма для проброса портов, а именно NAT Port Mapping Protocol и Internet Gateway Device (IGD) Protocol , входящий в набор протоколов UPnP. К своему удивлению я обнаружил, что в рунете информация по данному вопросу более чем скудна, что и сподвигло меня на написание данной заметки.

Для начала приведу краткий FAQ:

Q: Для чего нужны данные протоколы?
A: Для формирования на маршрутизаторе правила проброса определенного TCP/UDP порта (Port Forwarding) не вручную, а «автоматически», т.е. по запросу от хоста во внутренней сети.

Q: Как это реализуется?
A: Устройство за NAT отправляет маршрутизатору запрос с указанием внутреннего и внешнего номеров портов и типа протокола (TCP/UDP). Если указанный внешний порт свободен, маршрутизатор формирует у себя правило трансляции и рапортует запросившему компьютеру об успешном выполнении запроса.

Q: Проводится ли на маршрутизаторе аутентификация/авторизация запросов на открытие порта?
A: Нет, не проводится.

Теперь же рассмотрим работу данных протоколов более подробно (под катом).

Port Mapping Protocol

NAT-PMP описан в RFC 6886. Для своей работы он использует UDP-порт сервера 5351.

Рассмотрим работу протокола на конкретном примере - торрент-клиенте Vuze 5.7 для Windows 7.

Примечание: NAT-PMP во Vuze по умолчанию выключен. Его необходимо активировать в настройках плагинов.

1. Запускаем Wireshark. В строке фильтра вводим nat-pmp
2. Запускам Vuze.
3. Останавливаем перехват пакетов, смотрим результаты.

У меня получилось следующее:

Первые 2 это запрос внешнего адреса маршрутизатора и ответ с указанием этого самого адреса. Не будем на них подробно останавливаться и лучше рассмотрим, как происходит маппинг портов на примере пакетов 3-4.

Здесь мы видим, что запрашивается проброс внешнего UDP порта 48166 на такой же внутренний порт. Интересно, что внутри протокола не указывается адрес хоста, на который должна происходить трансляция (Inside Local в терминологии Cisco). Это означает, что маршрутизатор должен взять адрес источника пакета из IP-заголовка и использовать его в качестве Inside Local.

Параметр Requested Port Mapping Lifetime ожидаемо означает время жизни записи в таблице трансляций.

Как мы видим, маршрутизатор предполагаемо создал запрашиваемую трансляцию и ответил кодом Success . Параметр Seconds Since Start of Epoch означает время с момента инициализации таблицы трансляций (т.е. с момента последней перезагрузки роутера).

Маппинг TCP-портов происходит точно также и отличается только значением поля Opcode .

После того, как приложение прекратило использовать данные порты, оно может послать маршрутизатору запрос на удаление трансляции.
Главное отличие запроса на удаление от запроса на создание заключается в том, что параметр Lifetime устанавливается в ноль.

Вот что произойдет, если мы закроем Vuze.

На этом рассмотрение NAT-PMP закончено, предлагаю перейти к несколько более «мудреному» UPnP IGD.

Internet Group Device Protocol

Для обмена своими сообщениями данный протокол использует SOAP.

Однако, в отличие от NAT-PMP, IGD не использует фиксированный номер порта сервера, поэтому перед тем, как обмениваться сообщениями, нужно сперва этот порт узнать. Делается это при помощи протокола SSDP (данный протокол является частью UPnP и используется для обнаружения сервисов).

Запускаем торрент-клиент. Он формирует SSDP-запрос и отсылает его на мультикастовый адрес 239.255.255.250.

Маршрутизатор формирует ответ и отправляет его уже юникастом:

Внутри ответа мы можем увидеть URL для взаимодействия с маршрутизатором по протоколу IGD.

Далее Vuze подключается к маршрутизатору по указанному URL и получает XML с информацией о данном устройстве, в том числе содержащую набор URI для управления некоторыми функциями маршрутизатора. После того, как нужный URI найден в rootDesc.xml, Vuze отправляет SOAP-запрос на содание NAT-трансляции по найденному URI.

Примечание: до того, как запросить создание трансляции, Vuze заставил маршрутизатор перечислить все имеющиеся Port Forwarding"и. Для чего это было сделано, я могу лишь догадываться.

SOAP-запрос на создание трансляции UDP-порта:

Как говорилось ранее, нужный URI (идет сразу после POST) Vuze взял из rootDesc.xml. Для добавления трансляции используется функция с названием AddPortMapping .

Также можно отметить, что, в противоположность NAT-PMP, Inside Local-адрес указывается внутри самого протокола.

Аналогично NAT-PMP, при закрытии торрент-клиента маппинги проброшенных портов удаляются. Делается это функцией DeletePortMapping :

Можно заметить, что для удаления правила достаточно указать только тип протокола (UDP) и номер внешнего порта, не указывая остальные параметры.

Заключение

В данной статье мы рассмотрели два достаточно простых способа по созданию на домашнем роутере правил Port Forwarding по команде от хоста из локальной сети. Остается лишь отметить, что если вы считаете работу данных протоколов угрозой безопасности вашей домашней сети, то их можно попытаться выключить (хотя, конечно, гораздо лучше доверить вопросы безопасности утилите, которая для этого предназначена - файрволу). В случае моего Zyxel Giga II, на котором, к слову, и проводились все тесты, это делается CLI-командой no service upnp (примечательно, что в веб-интерфейсе опция включения/отключения UPnP отсутствует).

Начнем с того зачем нужен этот "проброс портов" (port forwarding)? В домашних ЛВС он нужен для нормальной работы P2P клиентов (µTorrent, DC++ и т.п.), для игры по сети (когда сервер игры на вашем ПК), а также для работы WEB-, FTP-, короче для любых серверов

Вобщем "проброс портов" можно осуществить двумя способами:

Этот способ подходит для P2P клиентов (почти все они могут использовать данную технологию). При использовании UPnP проброс портов осуществляется автоматически, но этот способ подходит не для всех приложений. Для этого Вам потребуется:

Проброс портов вручную

Этот сложнее, но более правильный и верный способ. При пробросе портов вручную (фиксированный) IP-адрес

Проброс портов используя UPnP (Universal Plug and Play)

Включить UPnP на роутере Asus RT-N16

Включить UPnP на роутере Asus WL520GU

Включить UPnP на роутере D-Link DIR-330

Включить UPnP на роутере NetGear WNR3500

Включить UPnP на роутере TP-Link TL-WR541G / TL-WR542G

Включить UPnP на роутере TrendNet TEW-652BRP

Включить UPnP на роутере ZyXel KEENETIC

Настройка проброса портов в µTorrent

Настройка проброса портов в DC++

Проброс портов вручную

При пробросе портов вручную необходимо чтобы наш компьютер имел статический (фиксированный) IP-адрес . Сделать это можно либо привязав MAC-адрес сетевой карты к определенному IP-адресу в настройках DHCP-сервера нашего маршрутизатора (роутера), либо самостоятельно задав параметры IP в настройках сетевого подключения. Во втором случае, чтобы роутер не назначил наш IP-адрес другому компьютеру, надо сделать так, чтобы выбранный нами IP-адрес находился за границами пула (диапазона) IP-адресов выдаваемых DHCP-сервером.

Делаем адрес нашего ПК статическим

Узнаем текущую конфигурацию сети

Вызываем окно "Выполнить" сочитанием клавиш Win+R и набираем в строке "cmd", затем жмем открыть (или клавишу Enter)

В открывшемся окне набираем "ipconfig -all" жмем Enter. Комманда выведет текущую конфигурацию сети, в ней нас интересует:

  • Имя компьютера
  • Физический адрес
  • IPv4-адрес (для WinXP - IP-адрес)
  • Маска подсети
  • Основной шлюз
  • DNS-сервер(ы)

Связываем MAC-адрес (Физический адрес) с IP-адресом

Нужно зайти в настройки DHCP-сервера нашего маршрутизатора и присвоить IP-адрес нашему ПК, указав физический адрес сетевой карты (и при необходимости имя компьютера).

Примечание: IP-адрес можно использовать тотже что и в текущей конфигурации. Также он может быть изменем. Пример: Ваш Основной шлюз 192.168.1.1 тогда Ваш адрес может лежать в диапазоне 192.168.1.2 - 192.168.1.254) Физический адрес на роутерах различных производителей (моделей) может иметь разный вид. Пример: 00-25-B3-69-22-7C, 00:25:B3:69:22:7C или 0025B369227C

Задаем параметры IP нашей сетевой карты (скоректировав при этом границы диапазона адресов раздаваемых DHCP-сервером)

Открываем свойства подключения по локальной сети (используемого для выхода в интернет), для этого кликаем по нему правой кнопкой мыши и выбираем пункт "Свойства".

Для WinXP сетевые подключения можно найти зайдя в Панель Управления -> Сетевые подключения Vista/Win7: Панель Управления -> (Сеть и Интернет) -> Центр управления сетями и общим доступом -> Изменить параметры адаптера

Нам нужно настроить протокол TCP/IPv4 (для WinXP - TCP/IP). Находим его в списке, дважды кликаем по нему. В появившемся окне выбираем "Использовать следующий IP-адрес", вбиваем в соответствующие поля IP-адрес, Маску подсети и Основной шлюз (значения берем из текущей кофигурации сети см. выше) . То же делаем и для DNS-сервера: выбираем "Использовать следующие адреса DNS-серверов" и вводим значение в поле "Предпочтительный DNS-сервер" (если ipconfig показал два DNS-сервера, то второй нужно поместить в поле "Альтернативный DNS-адрес"). Далее жмем "ОК" еще раз "ОК".

Примечание: IP-адрес можно использовать тотже что и в текущей конфигурации. Также он может быть изменем. Пример: Ваш Основной шлюз 192.168.1.1 тогда Ваш адрес может лежать в диапазоне 192.168.1.2 - 192.168.1.254)

После настройки TCP/IP переходим к настройки DHCP-сервера нашего маршрутизатора. Нам нужно что бы выбранный нами IP-адрес был за границами пула (диапазона) IP-адресов раздаваемых DHCP-сервером, во избежании казусов. Для этого мы эти границы чуток подвинем. Сдвинуть можно как верхнюю так и нижнюю границы - тут как вам удобно. Пример: наш IP-адрес 192.168.0.4, логично изменить начальный адрес пула (подвинуть нижнюю границу), тогда DHCP-сервер будет раздавать IP-адреса, скажем, начиная с 192.168.0.5 заканчивая 192.168.0.254. При этом наш IP-адрес не будет присвоен другому устройству. Ниже показано где это сделать. Примечание: При изменении начального или конечного IP-адреса , не забывайте что мы меняем только последнее число (после 3-ей точки)

UPnP (аббревиатура Universal Plug and Play) – набор сетевых протоколов, публикуемых одноименным форумом.

Форум UPnP представляет собой открытую ассоциацию представителей отрасли с целью выработки стандартов технологии UPnP , цель которой упрощение объединения интеллектуальных устройств изначально на уровне домашних, а впоследствии – корпоративных сетей.

UPnP строится на основе таких стандартов и технологий как TCP /IP , UDP , HTTP , XML и обеспечивает автоматическое установление подключение между подобными устройствами и их совместную работу в сети .

В таком случае, чтобы дать доступ, например, к ресурсам FTP-сервера , размещенному на ПК, необходимо выполнить операцию проброса портов на роутере и назначить компьютеру статический IP-адрес.

Обратите внимание! С использованием функции UPnP на роутере, все настройки проброса портов осуществляются в автоматическом режиме, поэтому данный способ подойдет людям, только начинающим изучения компьютер. Минусом UpnP является снижение уровня безопасности домашней сети.

В большинстве случаев, пользователь получает роутер с активированным режимом UpnP. Проверим активацию данного режима в настройках нашего роутера.

Для этого в любом доступном браузере следует написать IP-адрес вашего маршрутизатора (как правило, это 192.168.0.1 или 192.168.1.1 ), ввести логин и пароль.

TP-Link

Раздел «Forwarding» (Переадресация), подраздел «UpnP» - «Status - Enabled (Включено)»

D-Link

Раздел «Advanced», подраздел «Advanced Network» установлен флажок в поле «Enable UPnP».

ASUS

Раздел «Интернет», вкладка «Подключение» - «Включить UpnP» флажок установлен в поле «Да».

После того как режим UPnP был включен на роутере, необходимо его также включить и в приложении, которое требует проброс портов.

Например, для включения UpnP в Skype необходимо зайти в раздел «Дополнительно», подраздел «Соединение» и поставить флажок возле «Включить UpnP».

Создаем домашний медиа-сервер DLNA

DLNA - технология, позволяющая объединять в единую цифровую сеть устройства с целью приема/передачи и просмотра в режиме on-line различного медиа-контента.

На практике это выглядит следующим образом, есть компьютер с жестким диском большей емкости, на котором хранятся фотографии, фильмы, аудиозаписи и другой медиаконтент.

Что если вы хотите просмотреть один из фильмов не на экране ПК, а на телевизоре с большой диагональю?

Или к вам пришли друзья и вы хотите показать фотографии из отпуска либо на большом экране телевизора, либо на телефоне, т. к. не хотите заходить в дом.

А что если каждый член семьи хочет смотреть свои медиафайлы на своем персональном девайсе (телефоне, планшете)?

Проблема решается созданием на базе ПК медиасервера и объединением всех устройств в единую сеть с помощью роутера.

Обращаем ваше внимание, что роутеры, поддерживающие стандарт 802.11N (скорость передачи данных до 300 Мб/с) не всегда справляются с передачей больших потоковых объемов видео высокого качества по Wi-Fi и на экране телевизора происходят замирания.

В качестве программного обеспечения, с помощью которого будет создан медиа-сервер будет использована бесплатная программа «Домашний медиа-сервер UpnP, DLNA, HTTP» .

Скачиваем и устанавливаем программу.

После завершения установки следует указать, с какого каталога и какой тип контента будет транслироваться в сеть (кнопка «Добавить» на правой панели программы).

Выбор осуществляется путем установки зеленых точек напротив соответствующих каталогов и типа контента.

Для добавления ресурсов, размещенных на сетевых или съемных дисках необходимо поставить флажки в соответствующих графах в нижней части окна.

Эта служба позволяет в автоматическом режиме вести поиск периферийных устройств работающих с локальной сетью, а так же обеспечивает их подключение и настройку. Еще обеспечивает беспроводную настройку сети.

Немного теории

Подключая один или несколько ПК к сети Интернет через DSL, преимущественно используют технологию NAT (преобразование сетевого адреса). NAT позволяет нескольким ПК частной сети пользоваться общим IP-адресом, который обеспечивает выход в сеть. NAT дополнительно защищает частную сеть, хотя это не сетевой экран (firewall).

Пользователь доступа DSL должен понимать, что NAT присутствует только в модеме с возможностью роутера, то есть к модему одновременно можно подключить два и более ПК. В подобном случае все настройки для соединения с интернетом (пароль, логин) прописываются в самом модеме. В случае использования модема без функции роутера функция NAT отсутствует.

Для того чтобы входящее соединение могло беспрепятственно проходить к внутрисетевым службам нужно соответствующее сопоставление портов. Если сопоставление не соответствует или не выполнено, то связь с программой (службой) из сети Интернет станет недоступна. Зачастую в подобном случае прибегают к ручной настройке по сопоставлению портов.

Сопоставлять порты вручную довольно трудоемкое занятие. Это достаточно сложно, требуется определенный опыт и знания. Большинство пользователей не в состоянии справиться с подобной задачей без посторонней помощи специалиста. Они и не предполагают, что становятся «жертвами» NAT. При любой попытке воспользоваться приложением, которое принимает внешний вызов, пользователю не удается осуществить поставленную задачу.

Для решения подобной проблемы был разработан технологический процесс NAT Traversal. Он позволяет сетевому приложению определять, что оно находиться за устройством NAT, идентифицирует внешний адрес IP, настраивает сопоставление портов. Все это выполняется в автоматическом режиме. Функциональный процесс NAT Traversal опирается на протоколы управления и обнаружения, которые являются неотъемлемой частью Universal Plug and Play. Upnp избавляет пользователя от ручной настройки таблиц сопоставления NAT, не нужно дополнительно устанавливать настройки в роутере. Нужно только активировать возможности UPnP.

Большое количество роутеров и кабельных модемов, которые выпускаются на сегодняшний день, обладают встроенной поддержкой UPnP. Выбирая подобное устройство нужно обращать внимание на наличие функции UPnP. Эта поддержка может в дальнейшем сильно уменьшить вашу головную боль при возникновении проблемы связанной с ручной настройкой роутера.

Правильная работа UPnP приложения должна осуществляться как приложением, так и модемом или роутером. Не все приложения имеют поддержку этого технологического процесса. В некоторых модемах UPnP отключен, его нужно включать вручную.

Если у вас есть такие приложения, то вам обязательно нужно активировать поддержку, как в самой системе, так и в модеме.

Включить поддержку UPnP в Windows, можно выполнив такие действия:

  1. Нажать меню Пуск, выбрать панель Управления.
  2. В панели управления нажать на ярлык Установка удаление программ и Установка компонентов Windows.
  3. В пункте Компоненты выбрать Сетевые службы. Поставить галочку напротив и нажать Состав.
  4. В диалоговом окне сетевых служб следует поставить галочку напротив Клиент обнаружения и управления устройствами шлюза Интернет. Так же нужно отметить и Пользовательский интерфейс UPnP.
  5. Нажимаем Ок и Далее.

Возможно, потребуется установочный диск Windows. Подобный процесс установки пригоден для большинства систем Windows XP. Настойки в роутере выполняются согласно его технической документации.

В конце 90-х годов прошлого века, произошло стремительное развитие компьютерных технологий. Производственную эру сменил новый век - информационный. Ассоциация представителей представляющих техническую отрасль, сосредоточилась на разработке протокола, который помог бы упростить соединение между IT-устройствами. На информационный рынок выходит новая служба - UPnP. Что такое расширение дает простому пользователю, можно прочитать в этой статье.

Как включить UPnP?

Сетевые протоколы, собранные в одно целое, а именно так можно охарактеризовать UPnP, помогает компьютерной периферии «видеть» друг друга. Подробнее рассмотрим, как включить Universal Plug and Play (UPnP) на персональном компьютере или ноутбуке:

  • Windows XP . Многие пользователи считают эту операционную систему самой удачной разработкой Microsoft. «Возраст» XP давно перешагнул первую десятку лет, но процент его использования остается на высоком уровне:
    1. Нажимаем кнопку «Пуск» à «Выполнить». В открытом окне пишем команду "cpl" и нажимает клавишу «Enter».
    2. В открытом окне «Установка и удаление программ» находим опцию Установка компонентов
    3. В новом открытом окне выбираем опцию «Сетевые службы » и смотрим «Состав». Отмечаем все сетевые службы установленные частично. В их числе будет присутствовать и UPnP. Переставляем компоненты и перегружаем компьютер.
  • Windows 7, 8 и 10. В последующих версиях Windows, подключение UPnP становится еще проще:
  1. «Пуск» à «Панель управления».
  2. В списке ищем опцию «Сеть и Интернет », и идем далее в «Центр управления сетями ».
  3. Меняем дополнительные параметры доступа и включаем «Сетевое обнаружение» . Подтверждаем. UPnP включен.

Как включить UPnP на роутере?

Девиз UPnP был вложен создателями в название технологии - «включай и пользуйся». Например, при помощи Universal Plug and Play компьютер передает принтеру данные для вывода на печать, а посредством ЖК-панели можно просматривать фотографии находящиеся на смартфоне.

Мгновенное соединение всех устройств в одну сеть обеспечивает маршрутизатор. Рассмотрим, как включить UPnP на роутере:

  • Проверка . Зачастую на всех современных роутерах Universal Plug and Play включен по умолчанию. Проверить это можно зайдя в настройки маршрутизатора. Посредством браузера (адрес http://192.168.1.1) заходим в опции и проверяем статус «Использовать UPnP ».
  • Включение . Если в статусе стоит Disable , что означает « запрещать», то пользователю следует поменять этот пункт на Enable - «использовать». Вот и все. Сохраняемся (некоторые модели требуют перезагрузки), и пользуемся службой.

Использование в Torrent и DLNA

В конце 2004 года шведский программист Людвиг Стригеус, начал заниматься созданием нового BitTorrent-клиента. Цель - приложение должно было быть эффективным, но в тоже время использовать минимум ресурсов ПК. В 2005 году мир увидел первую версию μTorrent.

При помощи BitTorrent-клиента, десятки миллионов пользователей могут обмениваться информацией между собой: фильмы, документальные передачи, игры и т.п. Но как сделать так, что бы на компьютер не «влез» злоумышленник? Для этого существует тандем, состоящий их роутера и клиентской части μTorrent, а за состоянием портов следит UPnP.

Для небольшой локальной сети Torrent уступает место технологии DLNA - домашний сервер, который с целью доступа к различным файлам, соединят между собой все цифровые устройства. В качестве сервера выступает компьютер, на жестком диске которого размещены домашние видеозаписи или фотографии.

Теперь все члены семьи могут просматривать одни и те же файлы с разных устройств: ноутбук, планшет, смартфон. В основе DLNA лежит технология Universal Plug and Play, которая в течение нескольких секунд предоставит нужную информацию конкретному адресату.

Использование UPnP: плюсы и минусы

Любая технология имеет как плюсы и минусы. Не исключением стала и служба UPnP. В чем хранится главная опасность в использовании Universal Plug and Play:

  • Ошибки программирования . Технологии не один год, и с каждым днем служба протоколов усовершенствуется. Все уязвимости были устранены в течение нескольких лет после первого выпуска UPnP на рынок. Но тем не менее опасность остается, и заключается она в ошибках программирования того или иного устройства. Злоумышленники, посредством инъекций вредоносного кода, обходят защиту, и становятся обладателями конфиденциальной информации.
  • Общественные сети . В этом случае, виновником становится опрометчивый владелец устройства. Подключайся к общественным сетям (незащищенный интернет), информация становятся легкой добычей для хакера.

Впрочем, плюсов у UPnP значительно больше. Вот некоторые их них:

  1. Простота настройки . У пользователя нет необходимости в ручной настройке портов. Запуская новую сетевую игру или подключая принтер к компьютеру, всю черновую работу сделает UPnP.
  2. Скорость . Темп обмена информацией между P2P клиентами давно перешагнул отметку в 100 мегабит в секунду.

3 интересных факта связанные с технологией

  1. Технология Universal Plug and Play была разработана в конце 1999 года. На следующий год новую службу в свою продукцию начали внедрять более 120 производителей IT-устройств.
  2. В основу UPnP входят три стандарта: XML, TCP-IT и HTTP. Это позволяет соединять между собой совершенно разные по своему функционалу устройства.
  3. В 2015 году, такие крупные корпорации как AEG и Siemens, начали задумываться о внедрения UPnP в бытовую технику. Пока исследования не форсируются, но это не означает, что в самое ближайшее время мы не увидим холодильник с внедренным в него протоколом UPnP.

Теперь вы знаете, что для автоматического соединения интеллектуальных приборов, существует набор сетевых протоколов UPnP. Что такое ноу-хау дает? Это быстрое объединение всех технических устройств в одну локальную сеть. При этом пользователю не обязательно быть компьютерным гуру - всю черновую работу на себя берет

Видео: как настроить DLNA на роутере

В этом видео Алексей расскажет про настройку домашнего медиа-сервера UPNP, как правильно это сделать: