UPnP для браузера и его серверных претензий
Thursday, April 26, 2012 5:56:59 PM
Во-первых что такое 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 позволял).








Joggerr # Saturday, April 28, 2012 6:20:11 AM
Это не забавно, это логично и ожидаемо)
Xobrtdoclinux # Saturday, April 28, 2012 2:02:18 PM
Originally posted by Joggerr:
Не работало.Originally posted by Joggerr:
Интересная мысль! Но о том, что виноват iptables я узнал уже после установки linux-igd, а о в необходимости UPnP не сомневался.Будет повод попробовать в ближайшие дни на другой машине, потом напишу здесь дополнение - как прошло.
Joggerr # Saturday, April 28, 2012 2:07:47 PM
Originally posted by doclinux:
Да, попробуйте, будьте добры. Просто linux-igd - это как бы серверная часть UPnP, насколько я понимаю... Этот пакет нужен если вы собираетесь сделать свой компьютер маршрутизатором например. Мне очень кажется, что для ваших целей он не нужен.
Xobrtdoclinux # Monday, October 15, 2012 8:29:07 AM
Originally posted by Joggerr:
Вы правы, Opera.Unite работает в Linux Fedora без установки дополнительных пакетов, достаточно открыть в iptables нужный порт.