Быстрые ссылки
- Начало работы с Tailscale
- Установка Tailscale в Linux
Если вы используете службы у себя дома, будь то медиа-сервер, такой как Plex, или полноценное сетевое хранилище (NAS), неизбежно наступает момент, когда вы захотите получить доступ к этим службам вдали от дома. Но предоставление услуг Интернету может быть опасным, и мы не рекомендуем этого делать. Делая свои услуги доступными через Интернет, вы открываете обширную поверхность для атак, которая может оставить незащищенной всю вашу домашнюю сеть.
Вы можете использовать VPN, но их часто необходимо размещать либо в вашей сети, либо на вашем маршрутизаторе (если он это поддерживает), и это может представлять свои сложности. В VPN также отсутствуют некоторые функции, такие как простой контроль доступа или внутренний DNS, который позволяет вам преобразовывать локальные IP-адреса (например, 192.168.1.20) в доменные имена (например, plex.xda-developers.com.)
Здесь на помощь приходит Tailscale.
Что такое хвостовая шкала?
Структура Peer-To-Peer VPN, построенная на Wireguard
Tailscale — это продукт SaaS, который масштабируется от отдельных пользователей до целых предприятий и основан на протоколе Wireguard VPN. Вместо использования одного VPN-сервера, который действует как точка входа и выхода для ваших сетей, Tailscale создает децентрализованную ячеистую сеть, известную как хвостовая сеть. Эта хвостовая сеть координируется центральным сервером управления, размещенным в Tailscale, который отвечает за обнаружение одноранговых узлов внутри хвостовой сети (например, совместное использование IP-адресов и открытых ключей).
Эта децентрализованная ячеистая сеть позволяет вашим устройствам эффективно существовать в собственной частной VPN, независимо от того, находятся они у вас дома или нет. Это означает, что ваш телефон, ноутбук и домашний сервер могут легко подключаться друг к другу без необходимости запуска выделенного VPN-сервера у вас дома.
Хотя у Tailscale, использующего сервер централизованного управления, есть недостатки, есть и преимущества. Например, Tailscale использует для аутентификации исключительно единый вход, то есть ваш Google или учетная запись Microsoft — это все, что нужно для выхода в Интернет.
Архитектура Tailscale надежна и позволяет избежать единой точки отказа, где это возможно. Tailscale также использует метод, известный как «дырка», для установления соединений между устройствами, даже если они оба находятся за NAT (например, в вашей домашней частной сети). Эти методы аналогичны тем, которые используются при вызовах VOIP или других одноранговых соединениях. службы для выхода из NAT. Если вам интересно, как это работает, у Tailscale есть обширное описание.
Сколько это стоит?
В отличие от большинства решений VPN, личное использование не является целевым рынком.
Источник: Tailscale
В то время как многие распространенные провайдеры VPN ориентированы на отдельных пользователей и потребительский рынок, Tailscale придерживается иного подхода. Архитектура ячеистой сети делает его идеальным для крупных предприятий, пытающихся контролировать доступ к своим частным облакам, не открывая ни одного огромного VPN-интерфейса для более широкого Интернета. Преимущество этого подхода заключается в том, что, как и многие продукты, ориентированные на предприятия (например, GitHub и LinkedIn), он бесплатен для большинства людей и включает в себя функции, необходимые для масштабирования до уровня бизнеса или предприятия, который заблокирован дорогостоящим платным доступом. Это означает, что Tailscale можно использовать совершенно бесплатно для трех пользователей в одной хвостовой сети. Существует ограничение в 100 устройств, но этого должно быть более чем достаточно для всех, кроме самых серьезных опытных пользователей или домашних мастеров.
Эти корпоративные функции с платным доступом включают в себя такие вещи, как более продвинутая интеграция единого входа, неограниченный контроль доступа, корпоративная поддержка и роли администратора. Ничего из этого не требуется для личного использования, поэтому, хотя вы и можете заплатить за Tailscale, на самом деле в этом нет острой необходимости, и мы рекомендуем почти всем пользователям оставаться на бесплатном плане (если вы не являетесь домашним мастером с выявленной конкретной потребностью).
Начало работы с Tailscale
Так же просто, как войти в систему Google
Благодаря характеру централизованной плоскости управления Tailscale, начать работу с ней легко. Он имеет интеграцию SSO для Google, Microsoft, Apple и GitHub, а также любого другого поставщика, поддерживаемого OIDC. Таким образом, он может интегрироваться с Keycloak, Authelia или аналогичными объектами, если вы используете домашнюю лабораторию.
Чтобы начать настройку учетной записи в Tailscale и собственной хвостовой сети, выполните следующие действия:
- На домашней странице Tailscale выберите Начать в правом верхнем углу.
Источник: Tailscale
- Выберите предпочитаемого поставщика удостоверений. В этом примере я прошел аутентификацию с помощью GitHub.
Источник: Tailscale
- После аутентификации вы должны увидеть экран с предложением добавить первое устройство. Более сложные устройства мы настроим позже, но для начала мы рекомендуем вам настроить Tailscale на телефоне или компьютере. Загрузите соответствующее приложение Tailscale для своего устройства.
Источник: Tailscale
- В загрузке приложения Tailscale нажмите Начать и следуйте инструкциям приложения, чтобы предоставить соответствующие разрешения для вашего устройства. Затем вам будет предложено Войдите в свою Tailnet. Нажмите эту кнопку, и вы увидите тот же экран входа в систему единого входа, что и на шаге 1. Войдите в ту же учетную запись, что и ранее.
-
Вам будет предложено подтвердить подключение вашего устройства к хвостовой сети. Нажмите Соединять.
Источник: Tailscale
- Вы будете перенаправлены обратно в приложение, к которому теперь должно быть подключено ваше устройство. Если вернуться к исходному веб-браузеру, ваше новое устройство теперь должно появиться онлайн в консоли администратора Tailscale.
Поздравляем, вы создали свою собственную хвостовую сеть. Но это еще не полноценный VPN. Ваша хвостовая сеть позволяет устройствам в ней взаимодействовать друг с другом, но не передает весь ваш интернет-трафик, как обычный VPN. Чтобы перенаправить весь ваш трафик, вам необходимо назначить выходной узел.
Обозначение выходного узла
При желании превратите хвостовую сеть в полноценный VPN.
Устройствам в вашей хвостовой сети назначаются IP-адреса в диапазоне 100.xxx (100.0.0.0/8), и, как и в вашей частной домашней сети, эти устройства могут напрямую взаимодействовать друг с другом через Tailscale. Однако весь остальной трафик проходит напрямую через обычное подключение к Интернету ваших устройств. Вот что важно понимать о Tailscale — это мощная ячеистая сеть, а не готовый к использованию VPN. Устройства в вашем Интернете могут взаимодействовать друг с другом, но для связи с более широким Интернетом вам необходимо назначить выходной узел. Возможно, вы слышали о выходных узлах, если знакомы с Tor.
Выходной узел — это устройство в Tailnet, через которое проходит весь трафик, не относящийся к Tailscale (то есть весь интернет-трафик, не предназначенный непосредственно для одного из других ваших устройств). Это фактически превращает указанное вами устройство в традиционный VPN-сервер, а это означает, что для более широкого Интернета будет видно, что все ваши соединения происходят с этого устройства. Мы рекомендуем использовать в качестве выходного узла устройство, которое обычно включено (например, сервер или настольный компьютер) и работает в вашей домашней сети. Если вам нужен узел с полным временем безотказной работы, мы рекомендуем вам настроить виртуальную машину в облаке в качестве выходного узла Tailscale и использовать ее, обеспечивая постоянное время безотказной работы.
Этот шаг не является обязательным. Если вы просто хотите получить доступ к внутренним службам или другим вашим устройствам непосредственно через Tailscale (не перенаправлять трафик по соображениям конфиденциальности или анонимности), нет необходимости настраивать выходной узел для Tailscale. После настройки выходного узла на устройствах этот узел должен быть запущен, чтобы получить доступ к более широкому Интернету через Tailscale.
Вы можете превратить клиента в выходной узел в Tailscale, открыв клиент и выбрав Запустить выходной узел. Вы получите предупреждение о трафике, проходящем через ваше устройство.
Установка Tailscale в Linux
Домашние серверы отлично подходят для ячеистых сетей Tailscale и MagicDNS.
Корпоративная направленность Tailscale и ее позиционирование как опорной сети для предприятий означают, что она имеет фантастическую поддержку Linux «из коробки». В документации Tailscale есть полное руководство по ручной установке Linux. Однако для большинства пользователей Tailscale предоставляет простой однострочный сценарий, который можно использовать для начала работы. Вам нужно будет запустить это в терминале, если вы используете графический интерфейс.
curl -fsSL https://tailscale.com/install.sh | sh
После установки вы сможете получить доступ к Tailscale через инструмент CLI. Чтобы запустить Tailscale, выполните следующую командную строку:
sudo tailscale up
Вам будет предложено случайно сгенерированный URL-адрес, аналогичный приведенному ниже, который вы можете открыть в браузере на другом устройстве. После этого войдите в систему как обычно, и ваша машина с Linux будет аутентифицирована с помощью вашей хвостовой сети. После подключения вы можете проверить IP-адрес вашего нового сервера Linux в хвостовой сети, выполнив следующую командную строку:
sudo tailscale ip
Мы рекомендуем вам ознакомиться с некоторыми командами, предлагаемыми в CLI Tailscale, если вы используете его в Linux. Большинство из них достаточно очевидны, но ниже мы перечислили некоторые полезные. Note что вам может понадобиться добавить судо каждой из этих команд.
Команда | Объяснение |
хвостовая часть вниз | Отключитесь от хвостовой сети. |
статус хвостовой чешуи | Проверьте состояние подключения вашей хвостовой сети. |
Tailscale ping | Пропингуйте другое устройство в вашей хвостовой сети. |
файл хвостовой шкалы | Отправьте файл на другое устройство в вашей хвостовой сети. |
Использование устройства Linux в качестве выходного узла
Как упоминалось ранее, серверы (дома или в облаке) являются отличными выходными узлами, поскольку они вполне могут работать и постоянно подключаться к сети. Настроить устройство Linux в качестве выходного узла сложнее. Для этого необходимо правильно настроить переадресацию IP.
Чтобы гарантировать, что эти инструкции максимально актуальны, мы рекомендуем вам следовать документации Tailscale при настройке выходного узла Linux.
После включения переадресации IP вы можете запустить Tailscale в качестве выходного узла в вашей установке Linux, выполнив следующую команду:
sudo tailscale up --advertise-exit-node
Волшебный DNS
Одна из самых ценных функций Tailscale
Источник: Tailscale
Любой, кто работал с конфигурациями VPN, возможно, знает, что настройка DNS может быть сложной задачей, особенно в сценариях частного облака или там, где требуется обнаружение служб. Tailscale берет эту задачу в свои руки и волшебным образом настраивает DNS-имя для каждого устройства на основе его имени хоста. Это достигается путем регистрации одного из собственных DNS-серверов Tailscale на всех устройствах и предоставления каждой хвостовой сети собственного уникального поддомена. Этот поддомен можно настроить в консоли администратора Tailscale.
Всем устройствам, зарегистрированным в вашей хвостовой сети, присваиваются DNS-имена в формате
ping bob.tail01a1a1.ts.net
В качестве альтернативы, поскольку мое устройство было настроено Tailscale в том же домене, что и другие устройства Tailnet, я могу проверить связь с устройством, просто используя его имя хоста:
ping bob
Это делает невероятно простым запуск и рекламу услуг в вашей хвостовой сети, доступ к которым возможен из любого места через вашу собственную частную ячеистую сеть.
Tailnet упрощает работу в сети корпоративного уровня
Есть много о большем мы могли бы поговорить с Tailscale. Это симптом нашего выбора продукта. Потребительские VPN позволяют анонимно выходить в Интернет быстро, легко и дешево. А запуск собственного VPN на маршрутизаторе может стать простым способом без особых хлопот получить доступ к вашим собственным службам дома. Но, потратив немного времени и проведя некоторые технические исследования, Tailscale поможет вам вывести вашу сеть на новый уровень. Если вас интересует, что еще может сделать для вас Tailscale, мы рекомендуем вам ознакомиться с некоторыми более продвинутыми функциями, такими как Taildrop, который упрощает передачу файлов между компьютерами. Или изучите HTTPS в Tailscale, который позволяет устройствам выдавать собственные сертификаты SSL.
Tailscale невероятно мощный инструмент, который быстро завоевал популярность во всем: от домашнего использования до деловой деятельности. Обучение его использованию может дать ряд преимуществ, и хотя он не идеален (централизованная плоскость управления имеет свои преимущества, но не идеальна), он быстро стал серьезной заменой OpenVPN. Tailscale представляет собой одно из самых впечатляющих применений профиля Wireguard, которое мы когда-либо видели, и мы полностью ожидаем, что в будущем он будет более широко использоваться.