Обычным пользователям, как правило, требуется объединить несколько территориально распределенных (и подключенных к Интернету через различных провайдеров) компьютеров в одноранговую виртуальную сеть с единым адресным пространством. Помимо безопасности связи, подобная сеть позволяет использовать все преимущества «локального» соединения — например, обмениваться файлами с помощью встроенных средств Windows или играть в многопользовательские игры без подключения к центральному серверу.
Рассмотрим две программы, использующие механизм TUN/TAP-интерфейсов: OpenVPN и Hamachi. Первая из них является полностью открытым решением, а вторая — свободно распространяемым, но closed-source-продуктом.
Начнем с 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), поэтому после завершения работы с чужой сетью рекомендуется отключаться.
Наигравшись с чужими Hamachi-сетями, приступаем к созданию своей собственной. Придумываем имя, вводим пароль — и в нашем списке появляется новая сеть, пока еще пустая, без пользователей. Осталось только сообщить имя и пароль приятелю из другого района или подруге из далекой Испании — и можно менять мегабайты на мегабайты или зарядить партию-другую в WarCraft 3. Будучи хозяином сети, вы вправе удалять из нее подключившихся пользователей, тогда как находясь в чужой, можно лишь блокировать передачу данных между своим компьютером и компьютерами других юзеров этой сети.
Учтите, что покинуть собственноручно созданную сеть нельзя, ее можно только удалить (Delete… из контекстного меню). Удаление сети повлечет за собой изгнание из нее всех подключившихся пользователей и закрытие всех активных соединений между ними, так что, если ваше детище успело разрастись и приобрести популярность, поступок сей будет поистине геростратовским.
OpenVPN — это удобный и надежный демон для работы с виртуальными защищенными сетями, основанный на концепции TUN/TAP-интерфейсов и обладающий богатыми возможностями. OpenVPN является кроссплатформной системой: существуют версии под Linux, Windows 2000/XP/2003, OpenBSD, FreeBSD, NetBSD, Mac OS X и Solaris. Для криптографической защиты данных используется SSL/TSL, а именно его реализация в библиотеке OpenSSL. Последнюю версию программы можно получить на www.openvpn.net.
Вышедший из Unix-среды, OpenVPN представляет собой консольное приложение, но для удобства работы в Windows существует GUI-надстройка, доступная на openvpn.se (автор Mathias Sundman). Можно также запустить OpenVPN как службу Windows.