Настраиваем UPnP на Linux роутере ZENTYAL

Linux > Настраиваем UPnP на Linux роутере ZENTYAL
08.11.2014 17:59:17



Статья:

Настраиваем UPnP на Linux роутере

Технология UPnP представляет собой набор протоколов для автоматической настройки сетевых устройств, прежде всего бытового назначения. Действительно, вашим домашним совсем не обязательно становиться администраторами, чтобы подключить к сети очередной гаджет или настроить сетевую программу. Поэтому важно обеспечить поддержку UPnP на ключевых узлах сети, в первую очередь на роутере.

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

В данной статье мы добавим поддержку UPnP для домашнего медиа-сервера, настроку которого мы рассматривали здесь.

Для чего это нужно? Простой пример: запустим Помощник настройки популярного торрент-клиентаuTorrent и выполним тест сети:

upnp-ubuntu-linux-001.jpgРезультаты теста сообщают нам, что порт для внешних подключений не открыт, а следовательно вы не сможете раздавать уже загруженные торренты. Конечно можно открыть нужный порт вручную, но зачем, если можно настроить поддержку UPnP.

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

Но не стоит расстраиваться, все гораздо проще, чем кажется. Для поддержки UPnP в Linux, в нашем случае это Ubuntu Server 12.04 LTS, предназнечен пакет linux-igd который мы и установим:

sudo apt-get install linux-igd

После установки откроем конфигурационный файл /etc/default/linux-igd и укажем внешний и внутренний интерфейсы, в нашем случае:

EXTIFACE=eth0
INTIFACE=eth1

Теперь запустим службу:

sudo service linux-igd start

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

Собственно на этом настройка UPnP закончена. Чтобы убедиться, что все работает как надо, запустим тест сети в торрент-клиенте повторно:

upnp-ubuntu-linux-002.jpgОтлично, теперь пользователи могут как качать, так и раздавать торренты, причем настройка необходимых правил на роутере произошла без всякого вмешательства со стороны администратора. 

Можем проверить таблицу iptables, чтобы посмотреть какие правила были добавлены:

iptables -L

upnp-ubuntu-linux-003.jpgКак видим добавились две цепочки разрешающие транзитные пакеты для нашего домашнего ПК (192.168.30.192) от любого источника по протоколам tcp и udp приходящие на порт 32575, что соответствует настройкам торрент-клиента.

Create the UPnP service in Zentyal. See attached screenshot. You don’t need to include 49152 and 49513. I used them to test the linux-igd daemon before settling on miniupnpd.
Zentyal Settings

Add the service to the firewall to allow internal networks to contact the UPnP daemon on the Zentyal box
FirewallRuleUPnP

Finally when the firewall restarts the UPnP filter will be erased.