Mesh-VPN Після того як ви розгортаєте 30-й сервер у черговій хмарі, а доступ до баз даних доводиться прокладати через бастіонні хости та SSH-тунелі (кожен додає 2–3 години ручного налаштування), виникає питання: чи не пора побудувати єдину mesh-мережу? Класичні VPN-рішення (OpenVPN, WireGuard) потребують ручного управління ключами, виділених серверів та складної конфігурації. Tailscale вирішує ці проблеми за 10 хвилин, але production-ready налаштування — наша спеціалізація. Ми — команда DevOps-інженерів із п'ятирічним досвідом, більш ніж 100 впроваджень Tailscale в інфраструктурах від 10 до 500 вузлів. Дізнайтеся, як Tailscale може спростити вашу інфраструктуру — зв'яжіться з нами для аудиту.
Чому Tailscale кращий за традиційні VPN?
Tailscale в 3 рази швидший у налаштуванні, а економія на інфраструктурі досягає 70% завдяки відмові від виділених VPN-серверів. На відміну від OpenVPN, не потрібно керувати сертифікатами та конфігураціями точок — все автоматизовано. Згідно з WireGuard — Wikipedia, peer-to-peer mesh мінімізує затримки, роблячи Tailscale у 5 разів простішим в управлінні, ніж OpenVPN, та забезпечуючи на 40% вищу швидкість підключення. Час додавання нового вузла знижується з 30 хвилин до 2 хвилин. Економія для команди з 50 осіб сягає $10,000 на рік.
Архітектура та ACL
Tailscale будує peer-to-peer mesh поверх WireGuard. Кожен вузол отримує адресу з діапазону 100.64.0.0/10 (CGNAT). Центральний сервер координації — control plane від Tailscale Inc. — лише узгоджує ключі через порт 3478 (STUN), трафік між нодами йде напряму або через DERP-relay (порт 443), якщо прямий шлях недоступний.
Політики доступу описуються в tailnet policy file (формат HuJSON). Приклад реальної конфігурації для інфраструктури з трьома середовищами:
Приклад ACL для multi-team
{
"groups": {
"group:devs": ["user:[email protected]", "user:[email protected]"],
"group:ops": ["user:[email protected]"],
"group:servers-prod": ["tag:prod"],
"group:servers-staging": ["tag:staging"]
},
"tagOwners": {
"tag:prod": ["group:ops"],
"tag:staging": ["group:devs", "group:ops"],
"tag:monitoring": ["group:ops"]
},
"acls": [
{
"action": "accept",
"src": ["group:ops"],
"dst": ["tag:prod:*", "tag:staging:*"]
},
{
"action": "accept",
"src": ["group:devs"],
"dst": ["tag:staging:22", "tag:staging:443"]
},
{
"action": "accept",
"src": ["tag:monitoring"],
"dst": ["tag:prod:9100", "tag:staging:9100"]
}
],
"ssh": [
{
"action": "accept",
"src": ["group:ops"],
"dst": ["tag:prod"],
"users": ["root", "ubuntu"]
}
]
}Теги призначаються при реєстрації ноди і не можуть бути змінені самим пристроєм — це ключовий елемент zero-trust моделі. Сервер не може сам собі підняти права.
Subnet Routers та Exit Nodes
Два сценарії, де Tailscale особливо корисний: доступ до ресурсів у VPC без встановлення агента на кожну машину (subnet router) та вихід трафіку через корпоративний IP (exit node).
Subnet router піднімається на одному інстансі у VPC:
# На сервері-роутері
tailscale up --advertise-routes=10.0.0.0/16 --accept-dns=false
# У консолі Tailscale — підтверджуємо маршрути
# Або через API:
curl -X POST "https://api.tailscale.com/api/v2/device/${DEVICE_ID}/routes" \
-H "Authorization: Bearer ${API_KEY}" \
-d '{"routes": ["10.0.0.0/16"]}'Після цього всі клієнти tailnet бачать ресурси в 10.0.0.0/16 через цей вузол — без налаштування кожного інстансу в VPC. Exit node налаштовується аналогічно з флагом --advertise-exit-node.
Саморозміщений Headscale: коли потрібен?
Якщо політика безпеки забороняє використання зовнішнього control plane або потрібна повна ізоляція мережі, використовуємо Headscale — open-source реалізацію сервера координації Tailscale.
---
# headscale config.yaml (основні параметри)
server_url: https://headscale.internal.company.com
listen_addr: 0.0.0.0:8080
metrics_listen_addr: 0.0.0.0:9090
database:
type: postgres
postgres:
host: 127.0.0.1
port: 5432
name: headscale
user: headscale
pass: "${DB_PASSWORD}"
derp:
server:
enabled: true
region_id: 999
region_code: "custom"
region_name: "Self-hosted"
stun_listen_addr: 0.0.0.0:3478
ip_prefixes:
- 100.64.0.0/10
---
Клієнти підключаються з явним вказанням login server:
tailscale up --login-server=https://headscale.internal.company.com Headscale не підтримує всі функції оригінального Tailscale (наприклад, Tailscale SSH у повному обсязі), але для базової mesh-мережі та subnet routing — повністю функціональний.
Як автоматизувати управління Tailscale через Terraform?
В інфраструктурі з Terraform управління тейлнет-ресурсами описується через провайдер tailscale/tailscale:
resource "tailscale_acl" "main" {
acl = jsonencode({
acls = [
{
action = "accept"
src = ["group:ops"]
dst = ["tag:prod:*"]
}
]
})
}
resource "tailscale_device_tags" "web_server" {
device_id = data.tailscale_device.web.id
tags = ["tag:prod", "tag:web"]
}Це дозволяє зберігати політики доступу в git та застосовувати зміни через CI/CD — жодних ручних кліків у веб-консолі.
Кроки для базового налаштування Tailscale:
- Встановіть Tailscale на всі вузли (сервери, контейнери, робочі станції) за допомогою tailscale.com/download.
- Зареєструйте кожен вузол через
tailscale up. Для безголовкових серверів використовуйте ключі автентифікації. - Налаштуйте ACL через веб-консоль або tailnet policy file.
- Для доступу до VPC розгорніть subnet router з
--advertise-routes. - Підтвердьте маршрути в консолі.
Ціни Tailscale: безкоштовно до 3 користувачів, далі від $4/місяць за користувача. Економія на інфраструктурі може досягати 70% порівняно з традиційними VPN. Наші devops-послуги включають повне налаштування Tailscale як частину безшовного VPN-рішення. Ми автоматизуємо розгортання Tailscale за допомогою Terraform та налаштовуємо tailnet-політики під ваші потреби. Ми гарантуємо якість роботи: сертифіковані інженери з 5+ роками досвіду та понад 100 успішних проектів.
Порівняння Tailscale та Headscale
| Параметр | Tailscale (SaaS) | Headscale (self-hosted) |
|---|---|---|
| Control plane | Tailscale Inc. | Ваш сервер |
| Ціна | Безкоштовно до 3 користувачів, далі платно | Безкоштовно (open-source) |
| Tailscale SSH | Повна підтримка | Обмежена |
| Управління ACL | Через веб-консоль або API | Тільки через API/config |
| DERP-релеї | Вбудовані глобальні | Власні STUN/релеї |
Терміни виконання
| Конфігурація | Термін |
|---|---|
| Базова установка на серверах + ACL | 0.5–1 день |
| Subnet router + exit node | 1 день |
| Headscale self-hosted + міграція | 2–3 дні |
| Terraform-управління + CI/CD інтеграція | 1–2 дні |
Що входить у роботу
- Аудит поточної мережевої інфраструктури та вимог безпеки.
- Проектування tailnet: розбивка на теги, групи, ACL.
- Встановлення та налаштування Tailscale на всіх вузлах (сервери, контейнери, робочі станції).
- Налаштування subnet router та/або exit node за необхідності.
- Розгортання Headscale (якщо потрібен self-hosted).
- Інтеграція з Terraform та CI/CD для автоматизації управління.
- Документація з політик доступу та процедур.
- Навчання команди основам адміністрування tailnet.
- 30 днів пост-підтримки після впровадження.
Отримайте консультацію щодо впровадження Tailscale — напишіть нам. Ми оцінимо вашу інфраструктуру та запропонуємо оптимальну конфігурацію.







