Как настроить мощный домашний VPN с помощью Tailscale

    0
    11


    Быстрые ссылки

    • Начало работы с 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, личное использование не является целевым рынком.

    На снимке экрана показаны цены Tailscales по состоянию на январь 2024 г.

    Источник: Tailscale

    В то время как многие распространенные провайдеры VPN ориентированы на отдельных пользователей и потребительский рынок, Tailscale придерживается иного подхода. Архитектура ячеистой сети делает его идеальным для крупных предприятий, пытающихся контролировать доступ к своим частным облакам, не открывая ни одного огромного VPN-интерфейса для более широкого Интернета. Преимущество этого подхода заключается в том, что, как и многие продукты, ориентированные на предприятия (например, GitHub и LinkedIn), он бесплатен для большинства людей и включает в себя функции, необходимые для масштабирования до уровня бизнеса или предприятия, который заблокирован дорогостоящим платным доступом. Это означает, что Tailscale можно использовать совершенно бесплатно для трех пользователей в одной хвостовой сети. Существует ограничение в 100 устройств, но этого должно быть более чем достаточно для всех, кроме самых серьезных опытных пользователей или домашних мастеров.

    Эти корпоративные функции с платным доступом включают в себя такие вещи, как более продвинутая интеграция единого входа, неограниченный контроль доступа, корпоративная поддержка и роли администратора. Ничего из этого не требуется для личного использования, поэтому, хотя вы и можете заплатить за Tailscale, на самом деле в этом нет острой необходимости, и мы рекомендуем почти всем пользователям оставаться на бесплатном плане (если вы не являетесь домашним мастером с выявленной конкретной потребностью).

    Начало работы с Tailscale

    Так же просто, как войти в систему Google

    Благодаря характеру централизованной плоскости управления Tailscale, начать работу с ней легко. Он имеет интеграцию SSO для Google, Microsoft, Apple и GitHub, а также любого другого поставщика, поддерживаемого OIDC. Таким образом, он может интегрироваться с Keycloak, Authelia или аналогичными объектами, если вы используете домашнюю лабораторию.

    Чтобы начать настройку учетной записи в Tailscale и собственной хвостовой сети, выполните следующие действия:

    1. На домашней странице Tailscale выберите Начать в правом верхнем углу.
      Снимок экрана домашней страницы Tailscale, показывающий, с чего начать.

      Источник: Tailscale

    2. Выберите предпочитаемого поставщика удостоверений. В этом примере я прошел аутентификацию с помощью GitHub.
      Скриншот страницы регистрации поставщика удостоверений Tailscale.

      Источник: Tailscale

    3. После аутентификации вы должны увидеть экран с предложением добавить первое устройство. Более сложные устройства мы настроим позже, но для начала мы рекомендуем вам настроить Tailscale на телефоне или компьютере. Загрузите соответствующее приложение Tailscale для своего устройства.
      Скриншот начальной страницы настройки Tailscale.

      Источник: Tailscale

    4. В загрузке приложения Tailscale нажмите Начать и следуйте инструкциям приложения, чтобы предоставить соответствующие разрешения для вашего устройства. Затем вам будет предложено Войдите в свою Tailnet. Нажмите эту кнопку, и вы увидите тот же экран входа в систему единого входа, что и на шаге 1. Войдите в ту же учетную запись, что и ранее.
    5. Скриншот приложения Tailscale на MacOS.

      Вам будет предложено подтвердить подключение вашего устройства к хвостовой сети. Нажмите Соединять.

      Скриншот начальной страницы настройки Tailscale.

      Источник: Tailscale

    6. Вы будете перенаправлены обратно в приложение, к которому теперь должно быть подключено ваше устройство. Если вернуться к исходному веб-браузеру, ваше новое устройство теперь должно появиться онлайн в консоли администратора 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, открыв клиент и выбрав Запустить выходной узел. Вы получите предупреждение о трафике, проходящем через ваше устройство.

    Установка 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, показывающий MagicDNS в действии.

    Источник: Tailscale

    Любой, кто работал с конфигурациями VPN, возможно, знает, что настройка DNS может быть сложной задачей, особенно в сценариях частного облака или там, где требуется обнаружение служб. Tailscale берет эту задачу в свои руки и волшебным образом настраивает DNS-имя для каждого устройства на основе его имени хоста. Это достигается путем регистрации одного из собственных DNS-серверов Tailscale на всех устройствах и предоставления каждой хвостовой сети собственного уникального поддомена. Этот поддомен можно настроить в консоли администратора Tailscale.

    Снимок экрана, показывающий консоль администратора Tailscale.

    Всем устройствам, зарегистрированным в вашей хвостовой сети, присваиваются DNS-имена в формате ..ts.net. Например, если устройство зарегистрировано под именем Боб в моей хвостовой сети я могу пропинговать это устройство с помощью следующей командной строки:

    ping bob.tail01a1a1.ts.net

    В качестве альтернативы, поскольку мое устройство было настроено Tailscale в том же домене, что и другие устройства Tailnet, я могу проверить связь с устройством, просто используя его имя хоста:

    ping bob

    Это делает невероятно простым запуск и рекламу услуг в вашей хвостовой сети, доступ к которым возможен из любого места через вашу собственную частную ячеистую сеть.

    Tailnet упрощает работу в сети корпоративного уровня

    Есть много о большем мы могли бы поговорить с Tailscale. Это симптом нашего выбора продукта. Потребительские VPN позволяют анонимно выходить в Интернет быстро, легко и дешево. А запуск собственного VPN на маршрутизаторе может стать простым способом без особых хлопот получить доступ к вашим собственным службам дома. Но, потратив немного времени и проведя некоторые технические исследования, Tailscale поможет вам вывести вашу сеть на новый уровень. Если вас интересует, что еще может сделать для вас Tailscale, мы рекомендуем вам ознакомиться с некоторыми более продвинутыми функциями, такими как Taildrop, который упрощает передачу файлов между компьютерами. Или изучите HTTPS в Tailscale, который позволяет устройствам выдавать собственные сертификаты SSL.

    Tailscale невероятно мощный инструмент, который быстро завоевал популярность во всем: от домашнего использования до деловой деятельности. Обучение его использованию может дать ряд преимуществ, и хотя он не идеален (централизованная плоскость управления имеет свои преимущества, но не идеальна), он быстро стал серьезной заменой OpenVPN. Tailscale представляет собой одно из самых впечатляющих применений профиля Wireguard, которое мы когда-либо видели, и мы полностью ожидаем, что в будущем он будет более широко использоваться.

    Предыдущая статьяOppo Pad Neo представляет в Малайзии доступный 11,35-дюймовый планшет с
    Следующая статьяВерховный суд обязал Apple разрешить разработчикам приложений для iOS ссылаться на
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.