Tailscale

13 августа 2026 · ~11 мин чтения

сеть vpn инструмент devops протокол

Tailscale

Tailscale — сервис меш-VPN (mesh VPN, сетчатый VPN), который создаёт защищённую частную сеть между устройствами через интернет, используя протокол WireGuard. В отличие от классического VPN с центральным сервером, здесь трафик идёт напрямую между устройствами — как если бы они стояли в одной локальной сети.

История

В 2019 году Эйвери Пеннаран (Avery Pennarun), Брэд Фицпатрик (Brad Fitzpatrick, автор LiveJournal и memcached) и Дэвид Кроушоу (David Crawshaw) основали компанию Tailscale Inc. в Торонто. Все трое — выходцы из Google: там они работали над сетевой инфраструктурой и видели, насколько болезненно устроены корпоративные VPN.

Проблема, которую они решали, старая: инженер хочет подключиться к рабочему серверу из дома или к домашнему компьютеру из офиса. Классический способ — либо ставить OpenVPN/WireGuard и самостоятельно разбираться с конфигурацией, ключами и firewall, либо покупать статический белый IP у провайдера. Оба варианта требуют уйму ручных действий.

Ключевую роль сыграло другое изобретение: WireGuard — протокол VPN, разработанный Джейсоном Доненфельдом (Jason A. Donenfeld) и впервые опубликованный в 2015 году. WireGuard принципиально проще OpenVPN (около 4000 строк кода против сотен тысяч), быстрее и безопаснее по дизайну. В марте 2020 года WireGuard вошёл в ядро Linux (версия 5.6). Tailscale взял WireGuard как транспортный уровень и добавил сверху всё, чего WireGuard намеренно не делает: управление ключами, аутентификацию пользователей, автоматический обход NAT.

Несколько вех:
- 2019 — основание компании, закрытая бета.
- 2020 — публичный запуск; в том же году Tailscale получил первый раунд инвестиций.
- 2021 — появление бесплатного тарифа: до 3 пользователей и 100 устройств.
- 2022 — добавлена функция Exit Node (вывод всего трафика через конкретное устройство), Subnet Router, Funnel (публикация локального сервера в интернет).
- 2023–2024 — интеграции с корпоративными системами аутентификации, расширение до крупных enterprise-клиентов.

Продукт остаётся независимым. Инвестиции привлекались от Accel, Insight Partners и других фондов, но компания по состоянию на 2025 год не продавалась и не выходила на IPO.

Что это такое

Tailscale создаёт так называемый tailnet — вашу личную виртуальную сеть (privite overlay network). Каждому устройству в tailnet присваивается постоянный IP-адрес из диапазона 100.64.0.0/10 (это «CGNAT-пространство», зарезервированное RFC 6598 специально для таких случаев — оно не маршрутизируется в публичном интернете).

Чем это отличается от классических VPN:

Классический VPN (OpenVPN, корпоративные решения) — звёздная топология. Все устройства подключаются к одному центральному серверу, и весь трафик идёт через него. Сервер — узкое место и точка отказа. Как только сервер перегружен или упал — все отключились.

Tailscale (меш-топология) — устройства стараются соединяться друг с другом напрямую (peer-to-peer), минуя посредника. Tailscale Inc. владеет только coordination server — сервером координации, который раздаёт ключи и помогает устройствам найти друг друга. Но сам трафик через него не проходит. Если p2p-соединение невозможно (жёсткий firewall, двойной NAT), Tailscale использует DERP-сервера (Designated Encrypted Relay Packets) как ретрансляторы, но и там трафик зашифрован — Tailscale его не видит.

Сравнение с конкурентами:

Tailscale ZeroTier Nebula WireGuard «вручную»
Настройка 5 минут ~20 минут ~1 час несколько часов
NAT traversal автоматически автоматически частично вручную
Управление ключами в облаке Tailscale в облаке ZeroTier самостоятельно вручную
Открытый исходный код клиент открыт, сервер нет частично полностью полностью

Headscale — self-hosted альтернатива

Существует открытый аналог серверной части Tailscale — Headscale. Он позволяет поднять свой coordination server и не зависеть от облака Tailscale Inc. Популярен у тех, кому важна полная самостоятельность, но требует своей инфраструктуры.

Аналогии из жизни

Аналогия 1: Переговорная комната в офисе

Представь, что у тебя несколько сотрудников в разных городах. Обычно им нужно звонить друг другу через оператора (центральный VPN-сервер). Tailscale — как организовать прямые звонки с шифрованием: сначала через «диспетчера» узнаёшь номер нужного человека, а потом разговариваете напрямую.

Где ломается: если у двух сотрудников очень строгие корпоративные файрволы (например, разрешены только исходящие HTTPS) — «прямой звонок» не пройдёт, придётся через ретранслятор (DERP). Скорость упадёт.

Аналогия 2: Почта до востребования

WireGuard — это как конверт с замком: письмо зашифровано, только получатель с ключом его откроет. Tailscale — это «главпочтамт», который знает адреса всех получателей, автоматически создаёт им ключи и разносит письма: сначала помогает найти адрес, а потом письма уже идут прямо, без почтамта-посредника.

Где ломается: «главпочтамт» (серверы Tailscale) может упасть. В этом случае уже установленные соединения продолжат работать, но новые устройства добавить или переподключить будет невозможно до восстановления.

Аналогия 3: Домофон с дистанционным кодом

Классический проброс портов — это как написать свой домашний адрес и номер квартиры на публичной доске объявлений, чтобы курьер смог найти тебя. Tailscale — как выдать курьеру приватный код, по которому он войдёт в подъезд через специальный вход, не светя твой настоящий адрес наружу.

Где ломается: если здание (провайдер) полностью закрыто для любого нестандартного трафика, код не поможет — нужно всё равно пробрасывать конкретный порт.

Как это работает

Разберём по шагам, что происходит, когда ты устанавливаешь Tailscale на два компьютера.

1. Регистрация и аутентификация

При первом запуске Tailscale на устройстве генерирует пару ключей WireGuard (приватный и публичный). Публичный ключ отправляется на coordination server Tailscale. Пользователь аутентифицируется через внешний провайдер (Google, GitHub, Microsoft, SAML/OIDC для корпораций).

2. Раздача адресов и ключей

Coordination server назначает устройству постоянный IP в диапазоне 100.64.x.x. Он также раздаёт всем устройствам в tailnet публичные ключи друг друга. Именно поэтому управление ключами автоматическое: тебе не нужно вручную копировать WireGuard-ключи.

3. NAT traversal — обход файрволов

Это самая сложная часть. Большинство домашних и корпоративных устройств сидят за NAT (Network Address Translation) — роутер скрывает реальные IP устройств. Два устройства за разными NAT не могут просто «позвонить» друг другу напрямую.

Tailscale использует технику STUN (Session Traversal Utilities for NAT): специальный сервер сообщает каждому устройству, каким IP и портом оно выглядит снаружи. Затем оба устройства «дырявят» NAT одновременно — посылают пакеты навстречу друг другу в момент, когда оба ещё «открыты». Это называется UDP hole punching.

Если UDP hole punching не получается (симметричный NAT, жёсткие корпоративные политики), подключаются DERP-серверы как ретранслятор. DERP-серверы расставлены по всему миру.

4. Туннель WireGuard

Когда маршрут найден, устанавливается WireGuard-туннель. WireGuard работает в ядре ОС (или через userspace-реализацию на macOS/Windows), обеспечивает шифрование каждого пакета алгоритмами: Curve25519 для обмена ключами, ChaCha20 для шифрования, Poly1305 для аутентификации.

5. MagicDNS

Tailscale умеет присваивать устройствам читаемые имена вида macbook.tail12345.ts.net. Это работает через встроенный DNS-резолвер — MagicDNS. Тебе не нужно запоминать 100.109.28.75 — достаточно написать mac-mini.

6. Access Control Lists (ACL)

В admin-консоли можно настраивать, какие устройства к каким могут подключаться. Это JSON-конфиг с правилами: например, разработчики могут обращаться к dev-серверам, но не к production-базе.

// Упрощённый пример ACL
{
  "acls": [
    {"action": "accept", "src": ["group:dev"], "dst": ["tag:dev-server:*"]},
    {"action": "accept", "src": ["group:admin"], "dst": ["*:*"]}
  ]
}

Где встречается в обычной жизни

  1. Удалённый рабочий стол через интернет — именно это мы делали вчера: Mac mini в офисе, коллеги с Windows хотят к нему подключиться по VNC для тестирования iOS-приложения. Tailscale даёт им postоянный адрес машины (100.104.139.120) без проброски портов.

  2. Доступ к домашнему серверу — ты поднял у себя дома Plex, Home Assistant или сервер для хранения файлов. С Tailscale ты обращаешься к нему как к локальному устройству, даже находясь за рубежом, без статического IP у провайдера.

  3. Разработчик работает из кафе — нужно зайти на внутренний staging-сервер компании. Без VPN — нельзя, тот за firewall. С Tailscale — заходишь на staging.tail.company.ts.net как из офиса.

  4. Raspberry Pi в гараже — умный дом или камера за двойным NAT провайдера. Ни белого IP, ни возможности пробросить порт. Tailscale ставится одной командой, после чего Raspberry Pi становится доступен по имени с телефона.

  5. Связь офисов — небольшая компания с двумя офисами хочет, чтобы принтер в Москве был виден в Питере. Вместо Site-to-Site VPN — Tailscale Subnet Router.

Где встречается в IT и бизнесе

DevOps и инфраструктура:
Tailscale заменяет бастион-хосты (jump servers). Вместо того чтобы разрешать входящий SSH на публичный IP, инженер подключается к серверу только через tailnet — наружу не торчит ничего.

Работа с удалёнными командами:
Стартапы дают разработчикам доступ к dev-серверам через Tailscale вместо корпоративного VPN. Настройка — 5 минут вместо часов с сисадмином.

IoT (интернет вещей):
Устройства без публичного IP (камеры, датчики, промышленные контроллеры) становятся адресуемыми через tailnet.

Exit Node — анонимизация трафика:
Если один из твоих серверов в другой стране объявить Exit Node, весь интернет-трафик с устройства пойдёт через него. Это функция VPN в привычном понимании — для обхода гео-ограничений или защиты в публичных сетях.

Subnet Router — интеграция с корпоративной сетью:
Если в офисе есть локальная сеть 192.168.1.0/24 с принтерами, NAS и другими устройствами, один компьютер с Tailscale может стать маршрутизатором всей этой подсети. Остальные устройства в tailnet получают доступ ко всему диапазону, не устанавливая Tailscale на каждый девайс.

Кто пользуется

Альтернативы и конкуренты

ZeroTier
+ Полностью открытый исходный код, включая серверную часть.
+ Более гибкая топология сети.
- Сложнее в настройке, менее отполированный UI.
- NAT traversal работает не так надёжно в edge-кейсах.

Nebula (Slack/Defined Networking)
+ Полностью self-hosted, никакого облака.
+ Отличная производительность при правильной настройке.
- Требует ручного управления сертификатами и lighthouse-нодами.
- Нет GUI, только конфиги.

WireGuard «вручную»
+ Полный контроль, ничего лишнего.
+ Работает без внешних сервисов.
- Управление ключами вручную — нетривиальная задача при большом числе устройств.
- NAT traversal нужно реализовывать самостоятельно.

Cloudflare Tunnel (Argo Tunnel)
+ Не требует открытых портов, трафик идёт через Cloudflare.
+ Хорошо для публикации web-сервисов.
- Весь трафик через серверы Cloudflare (не p2p).
- Не создаёт «общей сети» между устройствами — только публикует сервисы наружу.

Headscale (self-hosted Tailscale coordination server)
+ Полная самостоятельность, Tailscale-клиент работает без изменений.
+ Открытый исходный код.
- Нужна своя инфраструктура для coordination server.
- Часть функций Tailscale может не поддерживаться.

Когда НЕ стоит использовать

Когда нужна высокая пропускная способность между узлами в одной сети. Tailscale добавляет накладные расходы на шифрование WireGuard. Для передачи больших объёмов данных между серверами в одном датацентре — это лишний оверхед. Там лучше прямое подключение или внутренняя сеть датацентра.

Когда политика безопасности запрещает любые внешние coordination servers. Финансовые и государственные организации иногда требуют, чтобы весь сетевой трафик оставался в периметре — даже метаданные о соединениях. В этом случае придётся поднимать Headscale или использовать другой self-hosted решения.

Когда нужна стандартная site-to-site VPN с существующим оборудованием. Если в компании уже стоят аппаратные VPN-концентраторы Cisco или Fortinet, Tailscale туда не впишется — это другая парадигма. Он для устройств, а не для железных шлюзов.

Бесплатный тариф — не навсегда

Tailscale периодически меняет условия бесплатного тарифа (в 2023 году лимит устройств снижался с неограниченного до 100). Не строй критичную инфраструктуру на бесплатном плане без резервного варианта.

Связанные понятия

Литература и источники

Где встретилось у меня

Вчера стояла задача: дать коллегам на Windows удалённый доступ к Mac mini для тестирования iOS-приложения. Mac mini сидит за домашним роутером без белого IP, коллеги — из других мест. Мы прошли весь путь: установка Tailscale на Mac mini через brew, настройка Screen Sharing (VNC, порт 5900), получение Tailscale IP (100.104.139.120). По дороге выяснилось, что Screen Sharing и pmset уже были настроены раньше, и единственное недостающее звено — именно Tailscale как мост между устройствами.

Краткое резюме