Нещодавно я нарешті піддався всій рекламі Tailscale у всіх подкастах, які я слухаю, і вирішив спробувати використати його замість наявної конфігурації Wireguard для доступу до домашньої мережі та віддалених серверів з усіх моїх пристроїв.

Що мені наразі сподобалося:

  1. Додавати нові пристрої справді дуже легко та швидко. Просто завантажуєте клієнт, якщо це Лінукс - виконуєте пару команд в терміналі, клацаєте кілька кнопок в адмінській веб-панелі (якщо потрібно). З точки зору зручності використання, це однозначно перевершує написання конфігураційних файлів для кожного нового клієнта як на новому вузлі, так і на всіх інших вузлах, до яких він має отримати доступ.

  2. За замовчуванням Tailscale автоматично керує DNS у вашій Tailscale-мережі через свій сервіс «MagicDNS» (але можна вимкнути його і налаштувавши власні DNS-сервери). Це дозволяє легко призначати власні імена хостів в панелі керування і надалі просто звертатись до цих імен хостів, забивши на айпішники.

  3. Панель керування дозволяє прописувати правила щодо того, який вузол може комунікувати з яким, тощо. Це значною мірою абстраговано від “голої” маршрутизації як її собі уявляє хтось, хто працює з комп’ютерними мережами. Це є як добре, так і погано, але з точки зору простоти, безперечно, добре.

Те, що я вважаю поки що менш хорошим:

  1. Tailscale повністю покладається на сторонній OAuth для авторизації, що в моїх очах є мінусом. Не те, щоб я був категорично проти використання OAuth від таких великих хлопців, як Google або Microsoft, і звісно ж я розумію, що це загалом сек’юрніше, ніж старомодні паролі, але це все одно суперечить духу селф-хостінга.

  2. Швидкість мережі не така хороша, як з чистим Wireguard. Різниця не велика, але іноді помітна. Причина очевидна - щоб уможливити такі речі, як MagicDNS, автоматичне керування ключами, маршрутами тощо…

  3. …Tailscale має діяти як посередник у багатьох сценаріях. Що саме по собі для мене не є проблемою, але було б добре, якби ми могли самостійно розмістити і керувати цією частиною інфраструктури також. Пригадую також, що ZeroTier (конкурент Tailscale) дозволяє робити саме це.

  4. Tailscale призначає всім вузлам випадкову IP-адресу в діапазоні 100.64.0.0/10, яку не можна редагувати. Причина, чому не можна, полягає в тому, що цей адресний простір використовується всіма клієнтами Tailscale і керується ним внутрішньо, що дозволяє використовувати всі зручні функції панелі керування. Якщо ви не намагаєтесь написати власні маршрути чи правила брандмауера поверх Tailscale, це не має великого значення. Тим не менш, я б не відмовився мати трохи більше контролю: скажімо, можливість групувати вузли у різні підмережі та встановлювати правила брандмауера відповідно до цього. Знову ж таки, це стосується самостійного розміщення і адміністрування «серверної частини» інфраструктури Tailscale.

Підсумовуючи, функціонально Tailscale робить саме те, що спрямований робити, і є надзвичайно зручним для користувача. Якщо ви регулярно додаєте та видаляєте пристрої зі своєї особистої мережі VPN, це НАБАГАТО полегшить ваше життя порівняно з безпосередньою роботою з Wireguard. З іншого боку, якщо вам потрібне налаштування «встановив і забув», щоб дозволити кільком пристроям спілкуватися один з одним, я думаю, я б зробив це безпосередньо за допомогою Wireguard — це не так складно.

Далі хочу поглянути на ZeroTier, оскільки підозрюю, що їхня модель мені може сподобатися більше.