bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Розгортання Headscale на VPS: створення власної приватної мережі

calendar_month May 07, 2026 schedule 8 хв. читання visibility 706 переглядів
Развёртывание Headscale на VPS: создание собственной приватной Mesh-сети (VPN)
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Розгортання Headscale на VPS: створення власної приватної Mesh-мережі (VPN)

TL;DR

У цьому керівництві ми розгорнемо Headscale — open-source реалізацію керуючого сервера Tailscale — на віртуальному сервері (VPS) під керуванням Ubuntu 24.04/Debian 12. У результаті ви отримаєте власну mesh-мережу, де всі ваші пристрої (ноутбуки, сервери, смартфони) з'єднані безпосередньо через WireGuard без сторонніх посередників. Ми налаштуємо автоматичний TLS через Caddy, розберемо конфігурацію ACL для безпеки та забезпечимо відмовостійкість системи за допомогою регулярних бекапів. Це рішення ідеально підходить для тих, хто цінує приватність і хоче мати повний контроль над своєю мережевою інфраструктурою в 2026 році.

  • Технологія: WireGuard + Headscale (Control Plane).
  • Складність: Середня (потрібні базові навички роботи з терміналом).
  • Час налаштування: 40-60 хвилин.
  • Результат: Безпечна мережа з доступом до внутрішніх ресурсів з будь-якої точки світу.
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

1. Що ми налаштовуємо і навіщо: Еволюція VPN у 2026 році

Схема: 1. Що ми налаштовуємо і навіщо: Еволюція VPN у 2026 році
Схема: 1. Що ми налаштовуємо і навіщо: Еволюція VPN у 2026 році

Традиційні VPN-рішення (OpenVPN, класичний WireGuard) працюють за топологією "Зірка" (Star). Всі клієнти підключаються до центрального сервера, і весь трафік проходить через нього. Це створює "вузьке горлечко": якщо сервер знаходиться в Німеччині, а два клієнти в Японії, їх трафік все одно піде через Європу, створюючи величезні затримки.

Mesh-мережі (Комірчасті мережі) вирішують цю проблему. У такій мережі пристрої з'єднуються безпосередньо один з одним (point-to-point). Керуючий сервер потрібен тільки для того, щоб допомогти пристроям "знайти" один одного за NAT і обмінятися ключами шифрування. Tailscale популяризував цей підхід, використовуючи протокол WireGuard, але їх керуючий сервер є пропрієтарним і хмарним.

Headscale — це повністю відкрита реалізація сервера управління Tailscale. Встановлюючи його на свій VPS, ви отримуєте:

  • Повну приватність: логи підключень і ключі зберігаються тільки у вас.
  • Відсутність обмежень на кількість пристроїв (у безкоштовній версії Tailscale є ліміти).
  • Можливість налаштування власних правил доступу (ACL).
  • Підтримку MagicDNS — звернення до пристроїв за іменами, а не за IP.

У 2026 році, коли питання цифрового суверенітету стоять особливо гостро, self-hosted Mesh-VPN стає стандартом для розробників і малого бізнесу.

2. Який VPS-конфіг потрібен під Headscale

Схема: 2. Який VPS-конфіг потрібен під Headscale
Схема: 2. Який VPS-конфіг потрібен під Headscale

Headscale — вкрай невимогливий до ресурсів додаток. Оскільки він виконує роль тільки "координатора" (Control Plane), а не проксує через себе весь трафік (у більшості випадків), вам не потрібні потужні процесори. Однак стабільність мережі напряму залежить від аптайму і мережевої зв'язності вашого провайдера.

Параметр Мінімальні вимоги Рекомендовані (для команд)
Процесор (vCPU) 1 ядро 2 ядра
Оперативна пам'ять (RAM) 1 GB 2-4 GB
Диск (NVMe SSD) 10 GB 40 GB
Пропускна здатність 100 Mbps 1 Gbps
ОС Ubuntu 24.04 / Debian 12 Ubuntu 24.04 LTS

Для стабільної роботи в Європі або США ми рекомендуємо використовувати Valebyte. Для персонального використання ідеально підійде тариф VPS-1 (1 vCPU / 2 GB RAM / 30 GB NVMe) всього за кілька доларів на місяць. Якщо ви плануєте використовувати Headscale як Exit Node (вихідний вузол для інтернету) для всієї сім'ї або невеликої компанії, краще вибрати VPS-2 від Valebyte, щоб мати запас по оперативній пам'яті для кешування і мережевого стека.

Важливо: Обирайте локацію сервера максимально близько до вашого основного місцезнаходження, щоб мінімізувати затримку при встановленні первинного з'єднання між вузлами.

3. Підготовка сервера: Безпека та база

Схема: 3. Підготовка сервера: Безпека та база
Схема: 3. Підготовка сервера: Безпека та база

Перш ніж встановлювати Headscale, необхідно базово захистити наш сервер. Ми припускаємо, що у вас є чистий сервер з Ubuntu 24.04.

Оновимо систему і встановимо необхідні утиліти:


sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git vim ufw software-properties-common
    

Налаштуємо міжмережевий екран (Firewall). Headscale вимагає відкриття порту для координації (зазвичай 8080 або 443 через проксі) і порту для WireGuard (якщо ви будете використовувати вбудований DERP-сервер):


# Разрешаем SSH (обязательно!)
sudo ufw allow ssh
# Разрешаем HTTP/HTTPS для Caddy
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
# Включаем Firewall
sudo ufw enable
    

Рекомендується створити окремого користувача з правами sudo і відключити вхід за паролем для SSH, використовуючи тільки ключі. Це стандарт індустрії в 2026 році для запобігання брутфорс-атак.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

4. Встановлення Headscale: Покроковий алгоритм

Схема: 4. Встановлення Headscale: Покроковий алгоритм
Схема: 4. Встановлення Headscale: Покроковий алгоритм

Ми будемо використовувати Docker для розгортання, так як це значно спрощує процес оновлення та ізоляції залежностей. Встановимо Docker і Docker Compose:


# Установка Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
    

Створимо структуру директорій для проекту:


mkdir -p ~/headscale/config
mkdir -p ~/headscale/data
cd ~/headscale
    

Створимо порожній файл бази даних SQLite (Headscale використовує її за замовчуванням):


touch ./data/db.sqlite
    

Тепер створимо файл docker-compose.yaml. Ми будемо використовувати актуальний образ Headscale версії 0.23+ (актуально на 2026 рік):


version: '3.8'
services:
  headscale:
    image: headscale/headscale:latest
    container_name: headscale
    volumes:
      - ./config:/etc/headscale
      - ./data:/var/lib/headscale
    ports:
      - "127.0.0.1:8080:8080"
    command: headscale serve
    restart: always
    

Зверніть увагу, що ми прокидаємо порт 8080 на 127.0.0.1. Це зроблено для того, щоб Headscale не був доступний безпосередньо ззовні, а працював тільки через наш Reverse Proxy (Caddy), який забезпечить шифрування.

5. Налаштування Reverse Proxy та SSL (Caddy)

Схема: 5. Налаштування Reverse Proxy та SSL (Caddy)
Схема: 5. Налаштування Reverse Proxy та SSL (Caddy)

Headscale повинен працювати через HTTPS. Найпростіший спосіб отримати і автоматично продовжувати SSL-сертифікати від Let's Encrypt — використовувати Caddy.

Додамо сервіс Caddy в наш docker-compose.yaml:


  caddy:
    image: caddy:latest
    container_name: caddy
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config

volumes:
  caddy_data:
  caddy_config:
    

Створимо файл Caddyfile в директорії ~/headscale. Замініть vpn.yourdomain.com на ваш реальний домен (він повинен бути направлений на IP вашого VPS від Valebyte):


vpn.yourdomain.com {
    reverse_proxy headscale:8080
}
    

6. Глибока конфігурація Headscale

Схема: 6. Глибока конфігурація Headscale
Схема: 6. Глибока конфігурація Headscale

Тепер нам потрібно створити основний конфігураційний файл config.yaml в папці ./config. Ви можете скачати шаблон з офіційного репозиторію, але ось ключові параметри, які необхідно змінити:


# Скачиваем дефолтный конфиг
wget https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml -O ./config/config.yaml
    

Відредагуйте ./config/config.yaml, звернувши увагу на наступні рядки:

  • server_url: https://vpn.yourdomain.com — ваш зовнішній URL.
  • listen_addr: 0.0.0.0:8080 — адреса всередині контейнера.
  • ip_prefixes: - 100.64.0.0/10 — стандартний діапазон Tailscale.
  • magic_dns: true — включення внутрішнього DNS.

Після налаштування запустіть контейнери:


sudo docker compose up -d
    

Перевірте логи, щоб переконатися, що все запустилося коректно:


sudo docker compose logs -f headscale
    
rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

7. Підключення клієнтів (Linux, Windows, Android)

Схема: 7. Підключення клієнтів (Linux, Windows, Android)
Схема: 7. Підключення клієнтів (Linux, Windows, Android)

Для підключення пристроїв вам знадобиться офіційний клієнт Tailscale. Однак за замовчуванням він намагається підключитися до хмари Tailscale. Нам потрібно перенаправити його на наш Headscale.

Створення користувача (User)

В Headscale пристрої групуються за користувачами. Створимо першого користувача "admin":


sudo docker exec headscale headscale users create admin
    

Підключення Linux-клієнта


# Устанавливаем Tailscale
curl -fsSL https://tailscale.com/install.sh | sh

# Авторизуемся в нашем Headscale
tailscale up --login-server https://vpn.yourdomain.com
    

Команда виведе унікальне посилання. Відкрийте його (або скопіюйте код) і виконайте на сервері команду реєстрації:


sudo docker exec headscale headscale nodes register --user admin --key [ВАШ_КЛЮЧ_ИЗ_ССЫЛКИ]
    

Підключення Windows/macOS

Для Windows потрібно запустити Tailscale та в браузері перейти за адресою вашої панелі керування, або використовувати спеціальні параметри реєстру для зміни LoginURL. У 2026 році в клієнті Tailscale достатньо затиснути клавішу Alt при кліку на іконку в треї, щоб вибрати пункт "Change Server".

Підключення Android/iOS

У мобільному додатку потрібно 3 рази швидко натиснути на логотип "Tailscale" в меню налаштувань. Це відкриє приховане поле "Server URL", куди потрібно ввести https://vpn.yourdomain.com.

8. Бекапи та обслуговування системи

Схема: 8. Бекапи та обслуговування системи
Схема: 8. Бекапи та обслуговування системи

Ваш Headscale сервер тепер є критичною точкою інфраструктури. Якщо ви втратите базу даних, вам доведеться переналаштовувати всі клієнти заново.

Що потрібно бекапити:

  • ~/headscale/data/db.sqlite (найважливіше).
  • ~/headscale/config/config.yaml.
  • Приватні ключі сервера (знаходяться в ./config).

Приклад простого скрипта бекапу (backup.sh):


#!/bin/bash
BACKUP_DIR="/backups/headscale"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
mkdir -p $BACKUP_DIR

# Останавливаем контейнер для целостности БД
docker stop headscale
cp ~/headscale/data/db.sqlite $BACKUP_DIR/db_$TIMESTAMP.sqlite
docker start headscale

# Удаляем старые бэкапы (старше 30 дней)
find $BACKUP_DIR -type f -mtime +30 -delete
    

Рекомендується налаштувати відправку цих бекапів на зовнішнє сховище або інший VPS від Valebyte для максимальної безпеки.

9. Troubleshooting + FAQ

Яка помилка → що перевірити → як фіксити

Проблема: Клієнти не бачать один одного (ping не проходить).
Рішення: Перевірте статус вузлів командою headscale nodes list. Переконайтеся, що на клієнтах не включений жорсткий Firewall, що блокує UDP-трафік WireGuard. Спробуйте виконати tailscale ping [IP_адреса] для діагностики шляху.

Проблема: Caddy не може отримати SSL-сертифікат.
Рішення: Переконайтеся, що порти 80 і 443 відкриті в ufw і ваш домен дійсно вказує на IP вашого VPS. Перевірте ліміти Let's Encrypt.

Який Valebyte конфіг мінімально підійде?

Для Headscale на 10-20 пристроїв достатньо самого базового тарифу VPS-1. Headscale споживає близько 50-100 МБ оперативної пам'яті. Основний ресурс, який може знадобитися при активному використанні - це мережевий трафік, якщо ви використовуєте сервер як Exit Node.

Що вибрати - VPS або dedicated для цієї задачі?

Для керуючого сервера Headscale VPS — ідеальний вибір. Виділений сервер (Dedicated) буде надмірним, так як 99% часу процесор буде простоювати. Dedicated варто розглядати тільки якщо ви плануєте розгорнути на цій же машині потужний DERP-релей для тисяч одночасно підключених пристроїв з величезним трафіком.

Чи можна приховати сам факт використання VPN?

Оскільки Headscale використовує WireGuard, його трафік можна ідентифікувати за допомогою DPI. Однак, завдяки Mesh-структурі, велика частина трафіку йде безпосередньо між вашими пристроями, що ускладнює блокування всієї мережі. Для обходу глибокого аналізу пакетів в 2026 році часто використовують зв'язку з Shadowsocks або VLESS.

Як оновити Headscale?

Достатньо виконати:


docker compose pull
docker compose up -d
    

Docker сам оновить образ до останньої версії і перезапустить контейнер зі збереженням всіх даних.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

10. Висновки та наступні кроки

Ми успішно розгорнули Headscale на VPS, налаштували автоматичний SSL та підключили перші пристрої. Тепер у вас є власна, повністю підконтрольна Mesh-мережа, яка працює швидше і стабільніше традиційних VPN.

Ваші наступні кроки:

  • Налаштуйте ACL (Access Control Lists) в config.yaml, щоб розмежувати доступ між пристроями (наприклад, заборонити смартфону доступ до серверу бекапів).
  • Підніміть власний DERP-сервер (Relay), якщо ваші пристрої часто знаходяться за суворими корпоративними Firewall.
  • Налаштуйте Exit Node на сервері Valebyte, щоб виходити в інтернет через IP сервера, коли ви знаходитесь в публічному Wi-Fi.

Якщо ви ще не вибрали сервер для вашого Headscale, зверніть увагу на плани VPS від Valebyte. Висока швидкість NVMe дисків і відмінна зв'язність в Європі забезпечать моментальну установку з'єднань у вашій новій Mesh-мережі.

Поділитися цим записом:

развёртывание headscale на vps: создание собственной приватной mesh-сети (vpn)
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.