−25%

на годовую оплату Windows, до 31.10. К тарифам

EQVPS

VPS для Headscale: свой сервер управления Tailscale

Headscale на небольшом VPS: сервер координации mesh-VPN остаётся под вашим контролем. Установка, первый пользователь, подключение устройств и ограничения.

Mesh-VPN — из тех инструментов, что тихо упрощают всё: ноутбук, домашний сервер, телефон и VPS видят друг друга по приватным адресам, где бы ни находились. Подвох облачных mesh-VPN — сервер координации: компания хранит карту всех ваших устройств. Headscale — открытая замена этому серверу управления. Запускаете его на маленьком VPS, продолжаете пользоваться обычными приложениями — и карта ваша.

Как всё связано

Последний пункт — причина, почему хватает крошечного тарифа: VPS отвечает только на небольшие запросы координации.

Что понадобится

Установка (Debian 12 / Ubuntu 24.04)

Скачайте свежий .deb со страницы релизов Headscale на GitHub — подставьте последнюю версию:

HS_VER=0.26.1
wget -O headscale.deb \
  "https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy

Отредактируйте /etc/headscale/config.yaml — важны две строки:

server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080

Поставьте Caddy впереди ради HTTPS:

cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy

Пользователь и первое устройство

headscale users create alice
headscale users list            # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h

Старые релизы принимают в --user имя пользователя, а не ID; что ждёт ваша версия, покажет headscale preauthkeys create --help.

На Linux-устройстве:

tailscale up --login-server https://hs.example.com --authkey YOUR_KEY

В приложениях Tailscale для телефонов и компьютеров свой сервер управления задаётся в настройках. Выполните headscale nodes list на VPS — устройство должно появиться в списке.

Ретрансляторы и обход NAT

Большинство устройств соединяются напрямую. Когда двое не могут (жёсткие мобильные сети, двойной NAT), трафик идёт через ретранслятор DERP. Из коробки Headscale использует публичные ретрансляторы Tailscale — они видят только зашифрованные пакеты. Если не хотите ничего внешнего на пути, включите встроенный ретранслятор в config.yaml (derp.server.enabled: true) и откройте UDP 3478. Ретранслируемый трафик тогда пойдёт через канал вашего VPS.

Честные ограничения

Официальной веб-панели нет: пользователи, ключи и маршруты — это команды CLI (со второго раза привыкаешь). Новые функции облачного сервиса попадают в Headscale позже, а то и вовсе не попадают. И сервер управления теперь ваша забота: если он лежит, существующие соединения продолжают работать, но новые устройства не подключатся и ключи не обновятся. Делайте бэкап — всё состояние лежит в /var/lib/headscale.

Для домашней лаборатории, семьи или небольшой команды, которой нужна карта устройств вне чужих серверов, это одно из лучших применений VPS за $8.

Связанное

Готовы развернуть? Оплата криптой, без KYC — сервер за минуту.

Развернуть →

Частые вопросы

Что видит сервер Headscale?

Метаданные: какие устройства есть, их публичные ключи, адреса и когда они были в сети. Сам трафик идёт напрямую между устройствами по WireGuard (или через ретранслятор, если напрямую не получается) и зашифрован сквозным шифрованием. Свой сервер означает, что эти метаданные лежат у вас, а не у кого-то ещё.

Нужны ли особые клиенты?

Нет. Используются обычные приложения Tailscale на Linux, macOS, Windows, iOS и Android, просто указываете в них адрес вашего сервера. В Linux это один флаг: --login-server.

Какого тарифа хватит?

Headscale крошечный — Nano-IP ($8/мес) легко тянет семью или небольшую команду. Выделенный IP нужен, потому что устройства обращаются к серверу управления по HTTPS, а NAT-тариф не принимает входящий 443.

Что если два устройства не могут соединиться напрямую?

Они переходят на ретранслятор (DERP). По умолчанию Headscale использует публичные ретрансляторы Tailscale, которые видят только зашифрованные пакеты. Можно включить встроенный ретранслятор Headscale — ему нужен открытый UDP 3478, и ретранслируемый трафик пойдёт через канал вашего VPS.

Чего не хватает по сравнению с облачным Tailscale?

Официальной веб-панели нет — пользователи и ключи управляются из командной строки (есть сторонние интерфейсы). Некоторые новые функции облачного сервиса приходят в Headscale позже или не приходят вовсе. Для личной сети или небольшой команды основное — mesh, ACL, MagicDNS, exit node — работает хорошо.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.