Если у вас есть несколько компьютеров, включая устройства, связанные с компьютерами, такие как сетевые хранилища данных, вероятно, вы хотите иметь доступ к каждому из этих устройств всегда.
Если мне нужно проверить файл на моём Synology дома, находясь пассажиром в машине, я хочу иметь такую возможность.
Самый простой способ сделать это — открыть порт(ы), необходимые для удалённого доступа к вашему устройству, через маршрутизатор/брандмауэр.
К сожалению, это открывает ваше устройство для всего Интернета, и это нежелательно.
Традиционные VPN
Простым решением этой проблемы является виртуальная частная сеть (VPN), то есть запуск какого-либо сервера внутри вашей сети, который позволит устройствам за пределами сети устанавливать туннель в неё.
Как только устройство подключается к VPN, оно может получить доступ ко всему внутри этой сети.
Иными словами, если ваш телефон подключён к VPN, размещённому у вас дома, тогда телефон сможет получить доступ ко всем устройствам в вашем доме. Большинство корпоративных VPN работают по такому же принципу.
Если позволите некоторое упрощение, традиционные VPN, как правило, представляют собой своего рода воронку, где есть один сервер внутри сети, в которую вы хотите туннелировать, и все клиенты подключаются к этому серверу. Это упрощает настройку, но обычно это ситуация «все или ничего» — вы либо в VPN, либо нет.
А что если есть лучшее решение?
Tailscale
Tailscale — это VPN-сервис, который делает ваши устройства и приложения доступными в любой точке мира — безопасно и без усилий. Он достигает этого через зашифрованные точка-точка соединения с использованием открытого протокола WireGuard.
По сути, общаются только устройства внутри вашей приватной сети
Подход Tailscale
- Децентрализованный: избегает централизации, соединяя узлы напрямую.
- Меньшая задержка: устройства общаются напрямую, что снижает задержку.
- Более высокая пропускная способность: трафик проходит напрямую между машинами, повышая эффективность.
- Обмен ключами и координация: Tailscale управляет обменом публичных ключей и координирует соединения между узлами.
- Сетевой трафик: трафик обычно течёт напрямую между узлами для кратчайшего пути и лучшей производительности.
- Простота использования: Tailscale разработан для удобства, требуя минимальной настройки от пользователя.
Используя протокол WireGuard и децентрализованную структуру сети, Tailscale обеспечивает безопасное и эффективное соединение ваших устройств, независимо от их расположения.
Как это работает
Tailscale быстрый и надёжный. В отличие от традиционных VPN, которые туннелируют весь сетевой трафик через центральный шлюз, Tailscale создаёт одноранговую ячеистую сеть (называемую tailnet).
Центральный шлюз может находиться далеко от пользователей, что приводит к повышенной задержке. Из-за централизации трафик также может стать узким местом, ещё больше замедляя соединения.
С Tailscale каждое устройство соединяется с другим напрямую, что снижает задержку.
Для кого это?
Разработчики могут использовать Tailscale, чтобы публиковать экспериментальные сервисы для своей команды без необходимости настройки правил брандмауэра и сетевых конфигураций.
Владельцы малого бизнеса могут обеспечить своим сотрудникам, работающим из дома, безопасный доступ к чувствительным ресурсам за считанные минуты без затрат тысяч долларов на традиционные VPN.
Руководители предприятий могут снизить риски безопасности, значительно упростив внутренние сети. Используя списки контроля доступа и ваш существующий провайдер идентификации, каждый пользователь получает точно тот уровень доступа, который ему нужен — ваши бухгалтеры получают доступ к системе расчёта зарплаты, команда поддержки — к трекеру багов, а разработчики — к серверам и базам данных.
Терминология и концепции
Списки контроля доступа
Список контроля доступа (ACL) управляет доступом к системе с помощью правил в файле политики tailnet. Вы можете использовать ACL для фильтрации трафика и повышения безопасности, управляя тем, кто и что может использовать какие ресурсы.
Метки CL
Метка позволяет назначить идентичность (отличную от пользователей) устройствам. Вы можете использовать метки в правилах доступа для ограничения доступа.
Административная консоль
Административная консоль — это центральное место для просмотра и управления вашей сетью Tailscale. Вы можете управлять узлами в сети, пользователями и их правами, а также настройками, например сроком действия ключей. Консоль также информирует вас о доступности обновлений клиента Tailscale для вашего устройства. При внесении изменений из консоли сервер координации сразу обновляет изменения в вашем tailnet.
API
API — аббревиатура от application programming interface (интерфейс программирования приложений). API определяет набор правил для программного взаимодействия с приложением или сервисом. API Tailscale позволяет управлять вашей учётной записью и tailnet.
CLI
CLI — аббревиатура от command line interface (интерфейс командной строки). CLI Tailscale включает широкий набор команд с функционалом, которого может не быть в GUI-приложениях. CLI Tailscale устанавливается автоматически при установке Tailscale на Linux, macOS или Windows.
Сервер координации
Сервер координации — центральный сервер, поддерживающий соединение со всеми машинами в вашей сети Tailscale. Он управляет ключами шифрования, изменениями сети, изменениями политик доступа и поддерживает подключение ко всем устройствам сети. Сервер координации относится к управляющей плоскости, а не плоскости данных. Он избегает узких мест в производительности, не ретранслируя трафик между машинами.
Устройство
Устройство — это всё, что не является пользователем. Оно может быть физическим или виртуальным, отправляет, принимает или обрабатывает данные в вашей сети Tailscale.
Ключ устройства
Ключ устройства — уникальная пара публичного и приватного ключей для конкретного устройства. Один и тот же ключ устройства могут использовать несколько пользователей, но у каждого устройства только один ключ. Совокупность конкретного пользователя и ключа устройства представляет уникальный узел.
Брандмауэр
Брандмауэр ограничивает сетевой трафик, проходящий между двумя точками. Брандмауэры бывают аппаратные и программные. В Tailscale встроен брандмауэр, определяемый правилами доступа домена.
Провайдер идентификации
Провайдер идентификации — способ аутентификации пользователей в tailnet. Примеры: Google, Okta, Microsoft. Tailscale не является провайдером идентификации, а полагается на других провайдеров для аутентификации.
Истечение срока действия ключа
Истечение срока действия ключа — окончание срока действия криптографического ключа. Истёкший ключ больше не может шифровать или расшифровывать данные, а также аутентифицировать устройство в сети Tailscale.
Использование Tailscale означает, что вам никогда не нужно управлять ключами напрямую. Tailscale автоматически истекает срок действия ключей и требует их регулярной регенерации. Вы можете отключить истечение срока действия ключа для устройств с долгим сроком службы через административную консоль.
MagicDNS
MagicDNS автоматически регистрирует запоминающиеся имена хостов для устройств в вашей сети Tailscale. Также расширяет и улучшает функциональность DNS.
Обход NAT
NAT — аббревиатура от network address translation (трансляция сетевых адресов). Обход NAT — способ соединять узлы через интернет, преодолевая препятствия типа брандмауэров. Большинство интернет-устройств не могут напрямую общаться из-за брандмауэров и NAT-устройств. Обход NAT обходит эти препятствия, позволяя трафику проходить через сеть.
Топология сети
Топология сети — расположение узлов в сети и связи между ними. Примеры топологий: звезда, шина, хаб-энд-спок, ячеистая, гибридная.
Традиционные VPN используют топологию хаб-энд-спок. Каждое устройство общается с другим, передавая весь трафик через центральный шлюз. Tailscale работает по ячеистой топологии, где каждая машина может напрямую общаться с другой с помощью обхода NAT.
Узел
Узел — сочетание пользователя и устройства.
Пир
Пир — другой узел, с которым ваш узел пытается установить связь. Пир может быть как в том же домене, так и нет.
Релей
Релей — промежуточный сервер, передающий данные между двумя и более узлами в сети. Tailscale использует особый тип глобально распределённых релеев — Designated Encrypted Relay for Packets (DERP). DERP-реле работает как резерв для соединения узлов, когда обход NAT не удаётся.
SSO
SSO — аббревиатура от single sign-on (единый вход). Позволяет пользователям входить на один сайт, используя учётные данные другого.
Tailnet
Tailnet — другое название сети Tailscale, представляющей собой взаимосвязанное множество пользователей, машин и ресурсов. Сеть имеет управляющую плоскость и плоскость данных, которые совместно управляют доступом и передачей данных между узлами.
Существуют персональные и организационные tailnet’ы. Персональный tailnet — это домен с единственным пользователем (например, gmail.com). Организационный tailnet — это tailnet с пользовательским доменом (например, example.com).
Файл политики tailnet
Файл политики tailnet хранит правила доступа вашей сети Tailscale и другие элементы конфигурации tailnet. Использует человекочитаемый JSON (HuJSON) и соответствует синтаксису политики Tailscale.
IP-адрес Tailscale
IP-адрес Tailscale — уникальный IP-адрес, присвоенный каждой машине в вашей сети Tailscale. Всегда формата 100.x.y.z (например, 100.101.102.103). Остется неизменным при смене домашнего интернет-соединения, сотовой сети или Wi-Fi в кафе.
Туннель
В сетях туннель — это инкапсулированное соединение между одной или несколькими точками в сети. Позволяет пользователям, узлам или ресурсам безопасно общаться через публичную сеть передачи данных.
WireGuard
WireGuard — базовый криптографический протокол, который использует Tailscale.
Не забывая о современном дизайне клиентов, доступных на MacOS, Linux, IOS, Android и Windows.
Обсуждение
Оставить комментарий
Комментарии гостей будут проверены перед публикацией на сайте.
Пока нет комментариев. Будьте первым, кто начнет обсуждение!