UPnP для браузера и его серверных претензий

Включаем в Linux Fedora доступ на компьютер через произвольные пользовательские порты. …

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

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

На данный момент, вследствие того, что Опера решила отбросить свою "устаревшую" разработку Opera Unite, мне пришлось поискать как продолжать пользоваться этой технологией без поддержки её авторов-создателей.

Получиться должно вот что: после некоторых манипуляций с браузером и интернет-службами, мы получаем браузер Opera (версий от 10.10 до 11.62), в котором Unite работает самостоятельно – без аккаунта Оперы и без её DNS-серверов, и к которому доступ имеем либо путём указания IP и порта, либо путём указания некоторого заданного домена (напишу об этом в другой раз).

Здесь рассматриваю что нужно доустановить в Linux Fedora 16 и как донастроить. К счастью нашлись ссылки по настройке Дебиана (1, 2, 3) и они помогли сориентироваться.

Ставим пакет:

yum install -y linux-igd

он притянет по зависимости пакет libupnp.

В файл /etc/rc.d/rc.local прописываем старт демона:

service upnpd start

Вбиваем от рута строки:

iptables -N UPNP
iptables -A FORWARD -j UPNP

На просторах Интернета говорится о различных дополнительных настройках, но как показала практика, если на этот момент не будет работать – думайте на iptables.

Чтобы проверить, что Unite доступен извне, запускаем Оперу от другого пользователя и включаем "Турбо". Если удаётся зайти на адрес http://ваш.IP.ад.рес:8840/ – значит всё настроено верно.

Я думал, что могут быть ограничения провайдера или как всегда помешает SELinux, но большинство обсуждений в Сети (а порыскать пришлось немало) кивали на iptables.

Мне долгое время показывалось сообщение "Connection refused". Причём если поставить порт 53 – то сообщение о недостижимости страницы, а если неправильный IP, то просто устраивало бесконечную затяжную попытку подключиться. Кратковременное отключение файрвола командой

iptables -F

показало, что проблема именно в нём – сервер сразу открылся в другой Опере через указание внешнего IP и порта. Дальше нужно было лишь найти в таблице что мешало.

Далее можно, добившись, чтобы система сразу запускалась с нужными сервисами и настройками (и запущенный браузер Opera с Unite был достижим извне по IP:порт), зарегистрировать себе домен службы динамических DNS, сообщить там свои параметры (IP, порт), и запустить у себя OU-приложение DNS Updater, которое будет периодически обращаться к серверу DDNS и сообщать текущий внешний IP браузера. При успешных настройках на ваш браузер можно будет входить по не-оперному адресу. (см. мою предыдущую статью с переводами нужных инструкций: Как отвязать свой узел на Opera Unite от сервера Оперы)

Дополняю: выяснилось, что "DNS Updater" тоже не хочет работать, а сервис NO-IP хотя и предоставляет нужные функции, приходится выставлять порт вместе с доменом: некий.домен:8840 – это не удобно. И забавно, что если не указать порт, то отзывается мой Apache. (что не планировалось)

Дополняю: Я считаю, что отказ от DNS Оперы (те самые адресочки вида компьютер.учётнаязапись.operaunite.com) вызывает массу такого рода хлопот, которыми не станет себя обременять ни один "простой пользователь" (на которых и была рассчитана технология Unite), даже если вдруг захочет запустить Unite альтернативным путём. Так что выключив Unite Опера фактически убивает хорошую идею на корню. Вывод один: требуется альтернативная программа в виде "Расширения" (аддона) к браузеру, которая, будучи установленной, будет обеспечивать привычный функционал. Если такого API (программного интерфейса) не найдётся в новых версиях Оперы – придётся писать альтернативу под Firefox (вроде как были успешные попытки, значит API позволял).

4 Replies to “UPnP для браузера и его серверных претензий”

  1. Что-то мне сильно кажется, что вы много лишнего сделали. Похоже, что вам надо было проверить доступность http://ваш.IP,ад.рес:8840/ из вне, если нет доступа – отредактировать iptables. Установка linux-igd в вашем случае не нужна (ну, либо я не понимаю ваших целей).И забавно, что если не указать порт, то отзывается мой Apache. (что не планировалось)Это не забавно, это логично и ожидаемо)

  2. Originally posted by Joggerr:доступность http://ваш.IP.ад.рес:8840/ из внеНе работало.Originally posted by Joggerr:если нет доступа – отредактировать iptablesИнтересная мысль! Но о том, что виноват iptables я узнал уже после установки linux-igd, а о в необходимости UPnP не сомневался.Будет повод попробовать в ближайшие дни на другой машине, потом напишу здесь дополнение – как прошло.

  3. Originally posted by doclinux:Будет повод попробовать в ближайшие дни на другой машине, потом напишу здесь дополнение – как прошло.Да, попробуйте, будьте добры. Просто linux-igd – это как бы серверная часть UPnP, насколько я понимаю… Этот пакет нужен если вы собираетесь сделать свой компьютер маршрутизатором например. Мне очень кажется, что для ваших целей он не нужен.

  4. Originally posted by Joggerr:Да, попробуйте, будьте добры.Вы правы, Opera.Unite работает в Linux Fedora без установки дополнительных пакетов, достаточно открыть в iptables нужный порт.

Leave a Reply

Your email address will not be published. Required fields are marked *