Hamachi: виртуальная частная сеть¶
Hamachi — условно-бесплатная программа для создания виртуальных частных сетей (VPN) по модели «сеть поверх сети» (overlay network), разработанная шведской компанией LogMeIn. Программа позволяет объединять компьютеры, находящиеся в разных физических сетях (например, за NAT или межсетевыми экранами), в единую локальную сеть через интернет-соединение, эмулируя прямое подключение по протоколу Ethernet. Hamachi применяется для сетевых игр, удалённого доступа к файлам, совместной работы и тестирования сетевых приложений, когда требуется имитация LAN-окружения.
¶История
Hamachi была создана в 2004 году австралийским разработчиком Яном «Guru» Бартошем (англ. Ian "Guru" Bartos) как бесплатный проект для геймеров, нуждающихся в замене прямых IP-подключений. В 2006 году программа привлекла внимание компании LogMeIn, которая приобрела проект и интегрировала его в свой портфель продуктов для удалённого доступа. Под управлением LogMeIn Hamachi оставалась бесплатной для небольших сетей (до 5 узлов), но для расширенных функций — таких как создание сетей до 256 узлов, управление через веб-консоль и приоритетная поддержка — вводилась платная подписка.
В 2017 году LogMeIn передала развитие Hamachi компании Readdle, однако уже в 2019 году права на продукт вернулись к LogMeIn. Несмотря на появление множества альтернатив (ZeroTier, Radmin VPN, Tunggle), Hamachi сохраняет популярность благодаря простоте настройки и стабильности работы в игровых и офисных сценариях.
¶Принцип работы
Hamachi работает по клиент-серверной архитектуре, но с пиринговыми (P2P) соединениями между узлами. Процесс установки соединения включает несколько этапов:
- Клиент Hamachi подключается к центральным серверам LogMeIn и проходит аутентификацию.
- Серверы координируют установление прямого соединения между узлами одной виртуальной сети, используя технику прокола NAT (hole punching). Если прямое соединение невозможно (например, из-за симметричного NAT), трафик ретранслируется через серверы LogMeIn.
- После установления туннеля между узлами создаётся виртуальный сетевой адаптер, которому присваивается IP-адрес из диапазона 25.0.0.0/8 (первоначально использовался диапазон 5.0.0.0/8). Этот адрес виден другим участникам сети, и поверх него работает эмуляция канального уровня.
Виртуальная сеть Hamachi шифруется с использованием AES-256. Аутентификация узлов выполняется по сертификатам X.509, что защищает сеть от несанкционированного подключения. Данные передаются через UDP-пакеты, при необходимости — через TCP-ретрансляцию.
¶Ключевые функции
¶Создание сетей
Пользователь может создать новую сеть, задав её имя и пароль, либо присоединиться к существующей по приглашению. Сети Hamachi делятся на два типа:
- Mesh-сети — все узлы видят друг друга напрямую (до 32 узлов в бесплатной версии).
- Hub-and-spoke (радиальные) — управляемые сети, где трафик между узлами может проходить через центральный узел-модератор (до 256 узлов, только в платной версии).
¶Управление узлами
Интерфейс Hamachi отображает список участников сети, их статус (онлайн/офлайн), IP-адреса и имена. Администратор сети может блокировать узлы, менять их права и удалять из сети.
¶Интеграция с системой
Программа устанавливает виртуальный сетевой адаптер, который отображается в системе как обычное сетевое соединение. Это позволяет использовать стандартные сетевые протоколы (SMB, RDP, VNC, HTTP) без дополнительной настройки.
¶Клиентские платформы
Официальные клиенты Hamachi доступны для Windows, macOS и Linux. Существует также версия Hamachi для мобильных устройств (iOS, Android), однако она поддерживает только подключение к существующим сетям и ограничена в функциях администрирования.
¶Ограничения и недостатки
- Бесплатная версия ограничена сетями из 5 узлов и не поддерживает управляемые (радиальные) сети.
- Зависимость от центральных серверов: при недоступности серверов LogMeIn или блокировке их доменов установление новых соединений становится невозможным, хотя уже установленные туннели могут продолжать работать.
- Пропускная способность: ретрансляция через серверы снижает скорость и увеличивает задержку по сравнению с прямым соединением.
- Безопасность: хотя трафик шифруется, централизованная архитектура теоретически позволяет оператору наблюдать за метаданными соединений.
- Устаревание: проект развивается медленно, а интерфейс и функциональность практически не менялись с середины 2010-х годов.
¶Альтернативы
Основными конкурентами Hamachi являются:
- ZeroTier — программно-определяемая сеть (SDN) с открытым исходным кодом, более гибкая и производительная.
- Radmin VPN — бесплатная программа от разработчиков Radmin, ориентированная на игры и удалённый доступ.
- Tailscale — решение на базе WireGuard, предлагающее более современную архитектуру и интеграцию с облачными сервисами.
- Tunggle — упрощённый аналог Hamachi, не требующий регистрации.
¶Применение
Основные сценарии использования Hamachi:
- Сетевые игры: запуск игр, поддерживающих только LAN-режим, через интернет (например, старых стратегий или шутеров).
- Удалённый доступ: подключение к домашнему компьютеру через RDP или VNC без настройки проброса портов на роутере.
- Совместная работа: использование общих папок, принтеров и баз данных в малых офисах с распределёнными сотрудниками.
- Тестирование: проверка сетевых приложений и серверов в условиях, имитирующих локальную сеть.
¶Интересные факты
- Изначально Hamachi называлась «Hamachi» в честь японского блюда из сырой рыбы (васаби-аналог), что отражало идею «острого» и быстрого соединения.
- В 2005 году Hamachi выиграла награду «Лучшая утилита для геймеров» на выставке Demo 2005.
- Программа использовалась в качестве инструмента для обхода региональных ограничений в онлайн-играх, что приводило к блокировке её серверов на уровне провайдеров в некоторых странах.