−25%

за Windows при годишно плащане, до 31.10. Към плановете

EQVPS

VPS за Headscale: self-hosted контрол на 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-а и устройството ти трябва да е там.

Relays и преминаване през NAT

Повечето устройства се свързват директно. Когато две не могат (строги мобилни мрежи, двоен NAT), трафикът минава през DERP relay. По подразбиране Headscale ползва публичните relays на Tailscale, които виждат само криптирани пакети. Ако не искаш нищо външно по пътя, включи вградения relay в config.yaml (derp.server.enabled: true) и отвори UDP 3478. Тогава препредаденият трафик се брои към трафика на твоя VPS.

Ограничения, честно

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

За домашна лаборатория, семейство или малък екип, който иска картата на устройствата му да не е на чужди сървъри, това е едно от най-добрите приложения на VPS за $8.

Свързани

Готов за deploy? Плати в crypto, без KYC — онлайн за около минута.

Deploy-ни сега →

Въпроси

Какво всъщност вижда сървърът на Headscale?

Метаданни: кои устройства съществуват, публичните им ключове, адресите им и кога за последно са били онлайн. Самият трафик тече директно между устройствата през WireGuard (или през relay, ако не могат да се достигнат) и е криптиран от край до край. Self-hosting значи, че тези метаданни са на твоя сървър, а не на чужд.

Трябват ли ми специални клиенти?

Не. Използваш обикновените приложения на Tailscale за Linux, macOS, Windows, iOS и Android и ги насочваш към URL-а на сървъра си. На Linux това е един флаг: ‎--login-server.

Кой план стига?

Headscale е мъничък: Nano-IP ($8/месец) обслужва семейство или малък екип без проблем. Трябва ти dedicated IP, защото устройствата трябва да стигат до контролния сървър по HTTPS; NAT план не приема входящ 443.

Ами ако две устройства не могат да се свържат директно?

Падат обратно на relay (DERP). По подразбиране Headscale използва публичните relays на Tailscale, които виждат само криптирани пакети. Вместо това можеш да включиш вградения relay на Headscale; иска отворен UDP 3478 и ползва трафика на твоя VPS за препредадените пакети.

Какво липсва спрямо хостваната услуга на Tailscale?

Няма официален уеб админ панел: потребители и ключове управляваш от командния ред (има интерфейси от общността). Някои по-нови функции на хостваната услуга стигат до Headscale по-късно или никога. За лична мрежа или малък екип ядрото работи добре: mesh, ACLs, MagicDNS и exit nodes.

Коментари

Още няма коментари. Бъди първият.

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

Коментарите се модерират преди да се появят.