Перенаправление или открытие портов с помощью UPnP. Что такое UPnP? Создаем домашний медиа сервер (DLNA) — инструкция по установке

Включение UPnP для работы с сервисами Torrent и DС++

Внимание! Данная статья относится к следующим категорям клиентов:
+ Физические лица г.Минска, adsl-доступ, настроенные по маршрутизируемой схеме подключения нескольких компьютеров через сервер: модем в режиме ENET_ENCAP, и VPN-соединение на компьютере-сервере;
+ Пользователи домашней сети, ethernet-доступ, которые используют маршрутизатор для выхода в Интернет.

Для справки : Служба UPnP (The Universal Plug and Play) позволяет компьютеру автоматически находить, подключать и настраивать устройства для работы с локальными сетями. Использование UPnP является более удобным, чем проброс портов на маршрутизаторе (или модеме, который выполняет роль маршрутизатора).

Настройку будем выполнят в два этапа.
I. На роутере (маршрутизаторе) или модеме;
II. На ПК.

Этап I. Включаем поддержку UPnP на роутере (модеме)

Для модемов и маршрутизаторов марки ZyXel

1. ZyXel 660 v.1 (TR EE, RU EE, HTW EE)
Advanced Setup –> UPnP . На открывшейся странице ставим галочку Enable the Universal Plug and Play (UPnP) Service и нажимаем кнопку Apply для сохранения.

2. ZyXel 660 v.2 (RT2 EE, RU2 EE, HTW2 EE)
Заходим на модем через веб-интерфейс в раздел Advanced –> UPnP . Ставим все маркеты как на скриншоте и нажимаем кнопку Apply для сохранения.

3. ZyXel p334W EE
Advanced –> UPnP Apply для сохранения.

4. ZyXel 330W EE
Заходим на маршрутизатор в раздел WAN , ставим галочку Enable UPnP и нажимаем кнопку Save для сохранения.

Для модемов и маршрутизаторов марки D-Link

1. D-link 500T
Заходим на модем, закладка Advanced - >UPnP , ставим галочку Enable UPnP и включаем DHCP_1_34, после чего нажимаем Apply для сохранения.

2. D-link 2500U/2540U/2600U/2640U
Заходим на модем, раздел Advanced Setup - >LAN , ставим галочку Enable UPnP. Нажимаем Save для сохранения и Save/Reboot для перегрузки модема.

3. D-link 2740U
Заходим на модем, раздел Setup - >LAN , ставим галочку Enable UPnP. Нажимаем Save Settings для сохранения. Далее переходим в подраздел Save/Reboot и нажимаем кнопку Save/Reboot для перегрузки модема.

4. Маршрутизатор D-link DIR 300
Заходим в настройки маршрутизатора, раздел Advanced –> Advanced Network . Ставим галочку Enable UPnP и нажимаем Save Sett ings для сохранения.

Для модема Billion 5210S


Access Management –> UPnP , и ставим переключатели UPnP и Auto-configured в положение Activated . Для сохранения нажимаем кнопку Save .

Для модемов Acorp

1. Acorp lan 120/420
Заходим в настройки модема, раздел Advanced –> UPnP и отмечаем маркер Enable UPnP . Нажимаем Apply для сохранения.

2. Acorp lan 410
Заходим в настройки модема, раздел Services –> UPnP и отмечаем маркер Enable напротив UPnP . Нажимаем Apply Changes для сохранения.


Для модема Linksys AG241V2

Заходим в настройки модема, раздел Administration –> Management –> UPnP , отмечаем маркеры как на скриншоте и нажимаем кнопку Save Settings для сохранения.

Для модема Huawei

Заходим в настройки модема, раздел Advanced –> UPnP и отмечаем маркер Enable . Нажимаем Submit для сохранения.

Этап II. Включение UPnP на ПК

Windows 7

1 . Заходим в Пуск –> Панель управления –> Сеть и Интернет –> Центр управления сетями и общим доступом .
Далее выбираем меню слева Изменить дополнительные параметры общего доступа.

2. В появившемся окне для редактирования нажимаем на стрелку напротив Общий (текущий профиль).

3. Ставим точку в пункте Включить сетевое обнаружение и нажимаем Сохранить изменения .

Windows XP
1. Заходим в Пуск –> Настройки –> Панель управления –> Сетевые подключения .
Далее в меню Дополнительно выберите Дополнительные сетевые компоненты .

2. В появившемся окне выделяем Сетевые службы и нажимаем кнопку Состав

3. В списке состава Сетевых служб отмечаем галочкой службу Пользовательский интерфейс UPnP и нажимаем кнопку Ok .

5. И ждем окончания установки.

6. В результате в Сетевых подключениях у Вас должен появиться Шлюз Интернета , в свойствах которого автоматически будут появляться правила для файлообменных клиентов.

Начнем с того зачем нужен этот "проброс портов" (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 на своих компьютерах, телефонах и других гаджетах. Служба виртуального медиа-сервера позволяет пользователям синхронизировать телевизор с другими устройствами для просмотра видео или фото на большом экране.

Что такое UPNP и зачем он нужен на роутере Ростелекома

UPNP - это аббревиатура от словосочетания Universal Plug and Play. Эта функция представляет собой службу, которая позволяет автоматически распознавать и устанавливать устройства, находящиеся в локальной сети.

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

Настройка системы

Прежде чем произвести подключение UPNP, нужно пройти процедуру настройки параметров в операционной системе вашего ПК. Инструкция имеет следующий вид:

  • нажимаем на ярлык «Мой компьютер» правой клавишей мыши и переходим на вкладку «Панель управления – домашняя страница», расположенную в левой колонке (также можно найти панель управления при помощи поиска Windows или любым удобным для вас способом);
  • переходим в раздел «Программы» и выбираем пункт «Удаление программ»;
  • нажимаем на «Включение или отключение компонентов Windows»;
  • ставим галочку напротив строки с надписью – «Сетевые службы», находящеюся в подразделе «Компоненты» и нажимаем на пункт меню под названием «Состав»;
  • проставляем галочки напротив пунктов, отвечающих за управление устройствами, шлюзами сети, интернет-подключениями и за пользовательские настройки UPNP;
  • нажимаем «ОК» и подтверждаем изменение параметров при помощи кнопки «Далее».

Внимание! Для включения дополнительных компонентов системы нужен установочный диск с соответствующей версией ОС Windows.

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

Активация на роутере

Если планируется настроить подключение к интернет-сети от Ростелекома с помощью беспроводного соединения, используя роутер, будет нужно узнать, как включить на нем поддержку технологии UPNP. Инструкция по активации выглядит следующим образом:

  • входим в веб-браузер;
  • вписываем IP-адрес (обычно это 192.168.0.1, 192.168.1.1, 192.168.10.1);
  • вводим значения логина и пароля;
  • находим пункт под наименованием «Включить UPNP» и выбираем режим работы.

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

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

Целью UPNP является упрощение процесса объединения устройств в локальной сети. Также эта служба помогает корректно работать большинству современных программ. Примером таких приложений являются ICQ, Skype и uTorrent. Технология позволяет пользователям самостоятельно производить настройку домашнего медиа-сервера.

В этой статье вы познакомитесь с важным и полезным функционалом UPNP и научитесь включать его на роутере на примере устройства компании Mikrotik. Маршрутизаторы Mikrotik завоевали множество положительных отзывов от пользователей, причём он приобрёл популярность как среди администраторов, так и среди обычных пользователей домашних сетей.

Роутеры производства Mikrotik поддерживают универсальную технологию PlugandPlay для упрощения прямого сетевого подключения персональных компьютеров и различных сетевых устройств. Архитектура UPNP расшифровывается как UniversalPlugandPlay (универсальная технология прямого подключения устройств) и обеспечивает обмен данными между любыми двумя устройствами под управлением контролирующей аппаратуры сети.

Функция UPNP полностью независима от физических носителей. Она поддерживает работу в сети путём автоматического обнаружения аппаратуры без использования какой-либо начальной настройки. Благодаря этому, устройство способно динамически присоединяться к сети. Наличие DHCP и DNS серверов не является обязательным, но они могут использоваться, если присутствуют в сети. UPNP реализует простое, но мощное решение, позволяющее пользователю получить полноценную двухстороннюю поддержку одноранговой сети.

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

Аппаратное подключение выполняется следующим образом. Подключите кабель Ethernet к порту ether1, а остальные порты на роутере - к локальной сети (LAN). По умолчанию маршрутизатор Mikrotik защищён конфигурацией брандмауэра, поэтому о вопросах дополнительной защиты данных на начальных этапах можно не беспокоиться.

В начальной системе настройки клиент DHCP находится в интерфейсе WAN (ether1), остальные порты считаются вашей локальной сетью с DHCP-сервером, который настроен для автоматической конфигурации адресов на клиентских устройствах. Чтобы подключиться к маршрутизатору, необходимо настроить ваш компьютер на приём настроек DHCP и подключить Ethernet-кабель к одному из LAN-портов (проверьте нумерацию портов вашего устройства и переднюю панель маршрутизатора).

Интерфейс UPNP

Существует два типа интерфейса для UPNP: внутренний (к которому подключен один локальный клиент) и внешний (к которому подключен интернет). Маршрутизатор Mikrotik может иметь только один внешний интерфейс с «общедоступным» IP-адресом , и такое количество внутренних интерфейсов, сколько потребуется. Все они имеют «внутренние» IP-адреса.

Протокол UPNP применяется для многих современных приложений, например, для большинства игр, использующих DirectX, а также для различных функций Windows Messenger (удалённое подключение, совместное использование приложений, пересылка файлов, передача голоса, видео) при работе через межсетевой экран.

Настройка UPNP

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

  • allow-disable-external-interface. Эту опцию можно включить или выключить, по умолчанию включена.

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

ВАЖНО. Если эта опция будет отключена, любой пользователь в вашей локальной сети сможет выполнить такое действие и отключить внешний интерфейс маршрутизатора Mikrotik без прохождения процедуры аутентификации. Включить опцию вы можете по своему желанию в любой момент.

  • show-dummy-rule. Эту опцию можно включить или выключить, по умолчанию включена.

Она обеспечивает обходной путь для некоторых функций, которые неправильно обрабатывают UPNP (при этом, например, появляются сообщения об ошибках). Эта опция даёт серверу инструкцию отправлять необходимый сигнал программным клиентам, которые выдают ошибку при работе с UPNP.

  • interface. Отображает название интерфейса, в котором работает процесс сейчас.
  • type. Указывает тип интерфейса. Внешний (external) - интерфейс, которому назначен глобальный IP-адрес. Внутренний (internal) - локальный интерфейс маршрутизатора, к которому подключаются клиенты.
  • forced-external-ip. Позволяет указать, какой именно публичный IP-адрес следует включить, если на внешнем интерфейсе доступно несколько IP-адресов.
23 марта 2016 в 11:13

Открываем порты за NAT при помощи NAT-PMP и UPnP IGD

  • Сетевые технологии

Ранее я много раз слышал, что 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 отсутствует).