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

  • Автор:

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

В частности 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, что соответствует настройкам торрент-клиента.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments