Читать «Журнал «Компьютерра» № 38 от 17 октября 2006 года» онлайн - страница 60

Компьютерра

Приватизируем сами

Помимо сложных и дорогих решений, зачастую требующих специального аппаратного обеспечения или дорогого ПО, существуют продукты, позволяющие организовать VPN буквально «на коленке», без особых навыков и затрат. Они могут уступать корпоративным в скорости, но должны быть простыми в конфигурировании, гибкими в использовании, мультиплатформными, доступными, желательно открытыми. Создание такого ПО стало возможно с появлением концепции интерфейсов TUN/TAP, которые представляют собой виртуальные сетевые адаптеры. Интерфейс TUN эмулирует устройство типа точка-точка (например, модем), а TAP — карту Ethernet. Для решения задачи безопасности в этих продуктах применяются либо собственные варианты известных криптографических алгоритмов, либо реализации широко распространенного и проверенного стандарта SSL.

Обычным пользователям, как правило, требуется объединить несколько территориально распределенных (и подключенных к Интернету через различных провайдеров) компьютеров в одноранговую виртуальную сеть с единым адресным пространством. Помимо безопасности связи, подобная сеть позволяет использовать все преимущества «локального» соединения — например, обмениваться файлами с помощью встроенных средств Windows или играть в многопользовательские игры без подключения к центральному серверу.

Рассмотрим две программы, использующие механизм TUN/TAP-интерфейсов: OpenVPN и Hamachi. Первая из них является полностью открытым решением, а вторая — свободно распространяемым, но closed-source-продуктом.

Золотая рыбка Hamachi

Начнем с Hamachi (hamachi.cc). Она представляет собой небольшую утилиту для создания безопасных соединений между компьютерами через Интернет. Для туннелирования служит протокол UDP. В процессе подключения используется третий компьютер — backend-сервер Hamachi, который необходим лишь для управления и не участвует непосредственно в передаче трафика. У Hamachi существуют версии для Windows 2000/XP/2003, Linux и Mac OS X, для двух последних операционных систем — только в консольном варианте.

После установки в системе появится дополнительный сетевой адаптер. Если установлен файрволл, необходимо уточнить его настройки для этого виртуального устройства. При первом запуске программа соединяется с backend-сервером и получает адрес, уникальный в пределах сети Hamachi. Он становится первичным идентификатором и используется для связи с другими подключенными компьютерами. Для удобства система позволяет кроме адреса определить также и ник.

После получения адреса можно создать свою собственную виртуальную сеть либо примкнуть к уже существующим. К сожалению, аскетичный интерфейс программы не позволяет увидеть список всех доступных для подключения сетей, и название нужно знать заранее. Для проверки Hamachi предлагает подключиться к сети с именем test, используя пароль secret. Множество публичных Hamachi-сетей можно найти на форуме домашнего сайта программы (forums.hamachi.cc). Подавляющее большинство из них — игровые, хотя попадаются и чисто файлообменные P2P-сети. После успешной авторизации название сети появляется в общем списке, а под ним располагаются адреса и ники других компьютеров, подключенных к той же сети: активные подсвечиваются белым, а неактивные — серым. Индикатор перед каждым адресом может быть зеленым или желтым: зеленый цвет говорит о доступности соединения с компьютером, желтый — сигнализирует, что есть какие-то проблемы — например, из-за файрволла. После успешного соединения возможно взаимодействие с другими активными в данный момент компьютерами, как в обычной локалке. Существует ограничение на максимальное количество компьютеров, способных подключиться к одной сети Hamachi (не больше 16 для обычных, не больше 256 для премиум-сетей), и на число одновременно подключенных сетей (не больше 64), поэтому после завершения работы с чужой сетью рекомендуется отключаться.