Архивы: по дате | по разделам | по авторам

За стеклом

Архив
автор : Сергей Голубицкий   11.03.2005

Мы остановились на локальном тестировании страницы нашего http-сервера, транслирующего в реальном времени данные с веб-камеры наблюдения.

Мы остановились на локальном тестировании страницы нашего http-сервера, транслирующего в реальном времени данные с веб-камеры наблюдения. С единственной целью — убедиться, что камера подключена, а сервер правильно отконфигурирован с помощью программы Active WebCam. Если кому-то даже фраза «локально протестировали» показалось оскорбительной, поясню: в адресной строке браузера набираем IP внутренней сети компьютера, на котором установлена веб-камера и запущен http-сервер; сразу за IP после двоеточия — номер порта, который мы придумали для вещания в процессе конфигурации Active WebCam. IP-адреса внутренней (локальной) сетки в девяти случаях из десяти выглядят как 192.168.x.x либо 10.0.x.x (x — произвольная цифра от 0 до 255), рис. 1.

Если вы всё проделали правильно, после запроса появится окно авторизации, в котором вы указываете логин и пароль — те, что придумали, конфигурируя http-сервер (в программе Active WebCam).

Всё у нас тип-топ, и теперь начинается самая захватывающая часть проекта. Условно назовем ее «выход в свет», поскольку, как вы понимаете, внутренние IP-адреса нашей домашней сети из Интернета напрочь не видны и по 192.168.0.102 наблюдать за гостиной можно разве что из спальни вашей квартиры, из детской или где там у вас разметались компьютеры?

Как мы скоро убедимся, выход в свет — задача не просто заковыристая, но и амбициозная. Амбициозность эта о двух головах:

  • необходимо заставить маршрутизатор пропускать сквозь заслон брандмауэра внешние запросы прямиком на компьютер с веб-камерой;
  • необходимо решить проблему внешнего динамического IP-адреса, который выделяет провайдер для наших сессий в Интернете.
  • Итак, чинно, не спеша и с достоинством спускаемся с горы, подходим к первой корове и вводим IP нашего маршрутизатора в адресную строку браузера, дабы запустить панель управления. В многочисленных закладках отыскиваем опцию под названием Virtual Server (как правило, в разделе Advanced Features, продвинутых настроек). Интерфейс управления маршрутизатором у каждого производителя оригинален, да и терминология плывет от случая к случаю, однако смысл один и тот же: Virtual Server (виртуальный сервер) используется для предоставления пользователям Интернета (тем, кто обретается снаружи, за пределами локальной сети) доступа к различным услугам ваших домашних компьютеров — http-серверу, ftp-серверу, почтовому серверу, telnet и прочая. Доступ этот заключается в том, что всякий запрос по внешнему IP-адресу, присвоенному нам провайдером (так называемый WAN IP), автоматически переадресовывается маршрутизатором на внутренний IP-адрес компьютера (LAN IP), на котором работает http-сервер с веб-камерой. Страница настроек виртуального сервера выглядит примерно так (рис. 2).

    В строке Name (название создаваемого вами виртуального сервера) указываете всё, что угодно; Private IP — это локальный IP-адрес компьютера, на котором установлена веб-камера и запущен http-сервер; Protocol Type (тип протокола) выбираете как TCP, Private Port и Public Port — выбранный вами номер порта для вещания веб-камеры в Интернете. Укажите один и тот же номер как для внутреннего (private), так и для внешнего (public) порта. Вполне вероятно, что в панели управления маршрутизатора подобной заморочки (с разделением портов на внутренние и внешние) не окажется — дык и флаг ему в руки: главное, понимать смысл и назначение порта. Настройка Schedule (график работы) определяет дни недели и время работы вашего виртуального сервера. Выберите опцию Always (всегда) — не прогадаете.

    Всё! Жмем кнопку Apply, и в нижнем списке виртуальных сервером появляется новая строка с http-сервером для вещания веб-камеры. Теперь можно проверить нашу работу по-взрослому: по «настоящему» (внешнему) IP-адресу. Не выходя из панели управления маршрутизатора, находим закладку Status (состояние работы) и в разделе WAN (Wide Area Network — внешняя сеть) находим IP-адрес, который присвоил вам провайдер для текущей сессии в Интернете (рис. 3).

    На момент написания этой «Голубятни» ласковый и нежный зверь «Стрим» осчастливил меня волшебным набором циферок — 83.237.19.134. Запоминаем их, впечатываем в адресную строку браузера, указываем порт, логин, пароль и voila! — видим грандиозные перемены: осточертевшую картину храпящей на диване леонбергерской свиньи теперь украшает моя замечательная супруга, а также новый обитатель дома — абиссинский котенок Рамзес (сидит на голове жены), рис. 4.

    Глядя, как Светлана обливается слезами вместе с Серджио Кастеллитто и Пенелопой Круз («Не уходи») в наушниках (лишь бы не помешать дорогому мужу морочить голову читателям «Голубятен»!), я тоже прослезился… от непривычной политкорректности. А уж неповторимый по инопланетной внешности Рамзес (как-никак, наследник древнеегипетских кошек!) буквально вынудил меня разбавить его абиссинским портретом мракоту голубятинского компьютеризма (рис. 5).



    Нам осталось последнее — увы, самое мучительное! — телодвижение: преодолеть ограничения динамического IP-адреса. В принципе, если бы этот мой 83.237.19.134 был постоянным, можно было смело ставить точку после запуска виртуального сервера на маршрутизаторе: ведь доступ к веб-камере из Интернета открыт. Однако пройдет пара-тройка часов, мой провайдер «МТУ-Интел» сменит IP, и — кирдык! — все трогательно налаженные цацки канут в небытие. Что делать?

    На помощь приходит замечательная услуга по предоставлению динамических хост-систем (Dynamic Hostnames). Замечательность ее в том, что в плотном поголовно платном пространстве американского Интернета dynamic hostnames предоставляются в большинстве своем… совершенно бесплатно! Более того, компаний, промышляющих этими услугами, даже не десятки, а чуть ли не сотни. Я обратился в первую попавшуюся (по рекомендации Главного Магистра Железяк, Тестеров и Паяльников, какого мне только приходилось встречать в жизни, Сергея Леонова) — DtDNS. И не был разочарован: на всё про всё (включая регистрацию и настройку) ушло от силы десяток минут. И это при том, что поначалу пришлось потыкаться в закрытые двери из-за непривычности терминологии. Экономлю читателю и эти минуты:

  • Из списка услуг DtDNS выбираем Free Dynamic Hostnames, приятно удивляемся бесплатности регистрации даже не одной, а первых пяти динамических хост-систем (остальные — в неограниченном количестве — за единовременный платеж в пять баксов), жмем на линк Sign up now и создаем новый аккаунт, указав реальный e-mail.
  • После успешной регистрации и логина в списке My Services выбираем Hostnames, фантазируем домен третьего уровня, а из выпадающего списка подставляем то, что предлагает на халяву DtDNS: в настоящий момент это семнадцать доменов второго уровня, один дурашливее другого — darktech.org, 3d-game.com, slyip.net и пр. Ну да какая вам разница? Мы же создаем сервер для приватного наблюдения за жилищем, а не брачное агентство. Нажимаем на кнопку Add Hostname и попадаем на страницу конфигурации динамической хост-системы.
  • В строке IP Address указываем наш внешний «айпишник» (WAN IP), считанный в панели управления маршрутизатора. Не беда, что IP-адрес динамический и скоро сменится — это узкое место мы разрулим уже в ближайшие двадцать минут! IP Type должен быть Dynamic, Site Title (заголовок страницы) — на ваше усмотрение; Site Status (состояние сайта) — Active (рабочее); для Enable Wildcard оставьте Yes (Wildcard — ненавязчивая мулька, которая позволяет добавлять к вашему доменному имени всякие архитектурные излишества типа www. без потери связки домена с IP-адресом). Всё! Жмем Save Changes, даем системе три-пять минут на активацию и тестируем доступ к веб-камере из браузера уже по новому доменному имени (типа kolyan.scieron.com:4539), рис. 6.

    Вопрос на засыпку: зачем нам понадобился DtDNS со своей динамической хост-системой? Ну дык ёлы-палы — даже мой Рамзик уже догадался: динамический IP-адрес, полученный от провайдера, может теперь меняться сколько угодно, у нас же постоянно будет оставаться что-то вроде sergei.3d-game.com или kolyan.scieron.com. Осталось только научить сервис DtDNS автоматически обновлять связку нашего домена с текущим динамически IP-адресом. Вот этим мы и займемся напоследок.

  • Обратите внимание: на странице General Settings в настройках нашей динамической хост-системы есть две статусные строки — Update Client и Update Count (клиент обновления и количество обновлений). Дело в том, что сервис DtDNS умеет взаимодействовать со специальными программами (теми самыми клиентами обновления), которые как раз и выполняют функцию автоматического освежевания (© «Комедия строгого режима») связки домена и текущего динамического IP. Таких клиентов — как собак нерезаных: на одном только сайте DtDNS перечислено аж 37 штук! Первой в списке идет программа DynSite. Не случайно она и первая, и наилучшая. Посему не ищем добра от добра: покупаем DynSite за 15 баксов либо пользуемся одним из миллиона генераторов ключей, которыми завален бакунианский Интернет (оно и понятно: DynSite — The Best!), и быстренько конфигурируем программу для нанесения завершающего удара по теме трех последних «Голубятен» (признаюсь, веб-камера эта уже начала меня маленько доставать):

  • Запускаем DynSite, выбираем в Настройках закладку Сервисы (программа поддерживает кучу интерфейсных языков, в том числе и русский) и из списка провайдеров услуг динамических хост-систем выбираем DtDNS (рис. 7).
  • Нажимаем на «Добавить» и на странице свойств учетной записи прилежно вписываем наш домен (тот самый kolyan.3d-game.com, или как там мы его назвали), логин и пароль (не забудьте поставить галочку на опции «Эта учетная запись требует пароля»).
  • Как обычно, линки, помянутые в «Голубятне», вы найдете на моей домашней странице www.internettrading.net/guru

    © ООО "Компьютерра-Онлайн", 1997-2024
    При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.