Зрозумійте, що координується
Площина керування керує реєстрацією вузлів і розповсюджує мережеву інформацію. Трафік даних може використовувати прямі з'єднання між вузлами або ретранслятор залежно від зв'язності. Робота координатора не означає, що кожен пакет проходить через нього.
Робіть реєстрацію усвідомленою
Захистіть адміністративний API і використовуйте короткочасні або належно обмежені методи реєстрації. Видаляйте втрачені або виведені з експлуатації пристрої. Можливість приєднатися до мережі не повинна означати доступ до кожного сервісу.
Перегляньте списки контролю доступу та маршрути
Застосовуйте правила найменших привілеїв між користувачами та вузлами. Анонсовані маршрути підмереж і вихідні вузли розширюють доступну мережу та потребують явного схвалення. Перевіряйте заборонений трафік так само ретельно, як і дозволений.
Зберігайте матеріали відновлення
Робіть резервні копії конфігурації, стану та ключів згідно з процедурою підтримуваної версії. Збережіть спосіб адміністрування VPS, якщо mesh вийде з ладу. Перевірте сумісність клієнтів і примітки до оновлення, перш ніж змінювати площину керування.
Реєстрація, маршрутизація та політика — це окремі перевірки
Headscale координує сумісних клієнтів Tailscale; прямі з'єднання та шляхи ретрансляції DERP мають різну мережеву поведінку. Маршрутизатор підмережі анонсує діапазон, сервер керування його схвалює, а клієнт має прийняти маршрут. Увімкніть пересилання на вузлі маршрутизації та тримайте анонсовані діапазони вузькими. Схвалений маршрут усе одно потребує політики доступу, що обмежує, хто може використовувати який призначення та порт.
- Перевірте список маршрутів керуючого сервера
- Перевірка з дозволеного пристрою
- Повторіть той самий тест із пристрою, якому має бути відмовлено
headscale nodes list-routesОфіційна документація: Маршрути Headscale
Не розміщуйте єдиний шлях відновлення всередині мережі
Залиште другий спосіб доступу до консолі сервера або суворо обмежений адміністраторський маршрут. Перевірте, що відбувається, коли координатор, релей або клієнт недоступні. Зберігайте стан площини керування та ключі відповідно до встановленої версії. Приватна мережа може спростити доступ, але вона не повинна стати недокументованою залежністю, яка унеможливлює власне відновлення.
Виправте ідентичність площини керування та шлях відновлення
Оберіть стабільну назву HTTPS, підтримуваний випуск Headscale і сумісних клієнтів Tailscale. Прочитайте приклад конфігурації, що постачається з цим самим випуском; конфігурація, скопійована з іншого випуску, може не пройти перевірку або непомітно описувати іншу політику. Зберігайте базу даних площини керування та потрібні ключі. Тримайте адміністративний API приватним і збережіть окрему консоль або обмежений маршрут SSH, щоб втрата мережі не зробила її координатор неможливим для відновлення.
- Використовуйте сертифікат, дійсний для публічного імені площини керування.
- Тримайте ключі реєстрації недовговічними та з відповідними обмеженнями.
- Розглядайте дизайн релею та простір імен DNS як явні рішення.
Офіційна документація: Розгортання контейнера Headscale
Зареєструйте один пристрій, перш ніж оголошувати мережу
Запустіть сервер за інструкціями upstream і зареєструйте одного тестового користувача/пристрій через задокументований метод приєднання. Переконайтеся, що пристрій досягає очікуваної площини керування URL і з'являється під призначеною ідентичністю. Перевірте стан клієнта та протестуйте одну приватну службу, перш ніж додавати маршрути exit-node або підмережі. Шлях DERP може зберегти з'єднання там, де прямий шлях недоступний; це не означає, що координатор пересилає кожен пакет.
- Почніть із пристрою та послуги, які можна безпечно видалити.
- Перевірте, чи трафік пірів є прямим чи ретрансльованим.
- Захистіть кінцеві точки ретрансляції та керування відповідно до вибраного розгортання.
Офіційна документація: Довідка з розгортання Headscale
Затверджуйте маршрутизацію та авторизацію незалежно
Для доступу до підмережі увімкніть пересилання на вузлі маршрутизації, анонсуйте вузький діапазон, схваліть його на сервері керування та переконайтеся, що клієнт призначення його приймає. Уникайте перекриття мереж, яке робить зворотний маршрут неоднозначним. Схвалений маршрут — це не політика доступу: визначте, хто може підключатися до якого призначення та порту, включно з гостьовими пристроями. Перевірте дозволене з'єднання та ідентичне відхилене з'єднання, перш ніж розширювати mesh.
# Run on the control server; syntax follows the installed release:
headscale nodes list-routes
# Client-side inspection:
tailscale statusОфіційна документація: Підмережа Headscale та вихідні маршрути
Знайдіть зламаний рівень, перш ніж змінювати політику
Якщо реєстрація не вдається, перевірте DNS, HTTPS та сервер URL. Якщо пристрій приєднується, але підмережа недоступна, перевірте оголошення, схвалення, прийняття маршруту клієнтом, переспрямування та зворотний шлях. Якщо не працює лише одна послуга, перевірте її адресу прив'язки, хостовий брандмауер і політику мережі. Зберігайте узгоджену резервну копію бази даних/конфігурації та перевірте оновлення версії за допомогою одноразового клієнта, перш ніж змінювати єдину площину керування.