Как создать VPN в Linux с помощью Tailscale
Tailscale – это легкая, но мощная децентрализованная служба виртуальной частной сети (VPN). Он позволяет подключать несколько устройств через разные соединения в единую логическую сеть. В результате вы можете использовать Tailscale для размещения любой локальной службы в Интернете без переадресации портов.
В этой статье показано, как настроить Tailscale и маршрутизировать трафик между двумя компьютерами с Ubuntu Linux. Кроме того, в нем также будет показано, как вы можете расширить свою сеть Tailscale для других пользователей с помощью встроенной «функции общего доступа».
Знаете ли вы : вам легко создайте свой собственный VPN с OpenVPN ?
Зачем использовать Tailscale?
Одним из главных преимуществ Хвостовая чешуя является то, что он не использует центральный сервер для маршрутизации интернет-пакетов. Вместо этого он использует программные приемы для обхода маршрутизаторов как с программным, так и с жестким NAT между двумя клиентами. Это означает, что у Tailscale всегда будет меньшая задержка между клиентами по сравнению с традиционным
Зачем использовать Tailscale?
rc="https://saintist.ru/wp-content/uploads/2024/05/install-tailscale-vpn-linux-01-remote-client-ping-sample.png" alt="Установите Tailscale Vpn Linux 01. Пример проверки связи с удаленным клиентом">
Tailscale также имеет открытый исходный код и бесплатен для личного использования. Это делает его идеальным первым проектом для начинающего пользователя Linux, который хочет объединить несколько компьютеров, но не обязательно знает, как перенаправлять порты или проходить через жесткие NAT.
Совет. Узнайте, как довести свой компьютер до автоматически подключаться к VPN при входе в систему .
Получение и установка Tailscale
- Первый шаг в установке Tailscale — установить Curl:
- Получите ключ GPG для репозитория пакетов. Это можно сделать, выполнив следующую команду:
sudo curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg > /dev/null
- Загрузите файл репозитория Tailscale в папку «/etc/apt/»:
sudo curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
- Обновите базу данных репозитория пакетов вашего компьютера, а также обновите любое устаревшее программное обеспечение:
sudo apt update && sudo apt -y upgrade
- Установите Tailscale с помощью apt
Получение и установка Tailscale
> apt install tailscale
Создание первой сети Tailscale
- Установив Tailscale, вы можете включить демон Tailscale на своем компьютере. Это можно сделать, запустив systemctl:
sudo systemctl enable --now tailscaled.service
- Запустите клиент Tailscale CLI и свяжите свой первый компьютер с учетной записью:
- Нажмите правой кнопкой мыши ссылку на своем терминале и нажмите «Открыть ссылку».
- Откроется новая страница браузера, на которой вам будет предложено войти в учетную запись.
- После входа в систему на веб-странице появится вопрос, хотите ли вы подключить свою машину к сети Tailscale. Нажмите «Подключиться».
- Вернитесь к своему терминалу и включите
systemd-resolved
для своего компьютера:
sudo systemctl enable --now systemd-resolved.service
- Создайте символическую ссылку между systemd-resolved и «/etc/resolv.conf:»
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
- Перезапустите подсистему DNS вашего компьютера, чтобы применить новые настройки DNS:
sudo systemctl restСоздание первой сети Tailscale
systemctl restart NetworkManager
sudo systemctl restart tailscaled.service
Совет. Узнайте, как можно создайте VPN по требованию, установив Hamachi использовать Linux.
Добавление второй машины в Tailscale
- Перейдите на второй компьютер и установите Tailscale, следуя приведенным выше инструкциям.
- Свяжите второй компьютер со своей учетной записью Tailscale, выполнив:
- Включите и свяжите
systemd-resolved
в качестве преобразователя DNS вашего второго компьютера через sudo ln -s
.
- Перезагрузите подсистему DNS вашего компьютера, чтобы применить новые настройки.
Совместное использование машины с другими пользователями
По умолчанию Tailscale допускает в сети только одного пользователя на одну учетную запись. Хотя этого достаточно для базовой настройки VPN между двумя компьютерами, это может стать проблемой, если вы хотите предоставить доступ к компьютеру другим пользователям.
Один из самых простых способов решить эту проблему — предоставить общий доступ к вашей машине через интерфейс администратора Tailscale.
- Перейдите на веб-страницу Tailscale и нажмите ссылку «Консоль администратора» в правом верхнем углу страницы.
<старый старт="2">
После входа в систему выберите компьютер, который хотите экспортировать, затем нажмите «Поделиться…» в правом углу строки.
- Во всплывающем окне нажмите «Создать и скопировать ссылку для приглашения».
Примечание. Срок действия ссылки для приглашения автоматически истечет, как только пользователь войдет через нее. Вы можете отключить это, переключив переключател
Добавление второй машины в Tailscale
ия».
<ол старт="4">
Как только клиент нажмет ссылку приглашения, на конце страницы отобразится страница с запросом адреса электронной почты.
<старый старт="5">
После входа в систему страница подтвердит, хочет ли клиент принять приглашение для вашего компьютера. Нажмите «Принять приглашение».
- Проверьте, может ли ваша машина взаимодействовать с клиентом, проверив его адрес:
Совет : вы можете использовать Совместное использование машины с другими пользователямиtmaster для обнаружения любых служб, которые перекачивают ваши данные .
Создание VPN с использованием выходных узлов
Одним из нововведений Tailscale является то, что его клиент может передавать и получать данные от других хостов в сети. В отличие от других VPN-сервисов, это означает, что можно перенаправить исходящий трафик с одного компьютера Tailscale на другой.
Для этого вам необходимо настроить один из ваших компьютеров в качестве «Выходного узла». Это компьютеры, которые будут принимать трафик от внутренних хостов, а затем передавать его как свой собственный.
- Чтобы создать выходной узел, откройте терминал на компьютере и выполните следующие команды:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
- Перезапустите демон Tailscale с помощью следующей команды:
sudo tailscale up --advertise-exit-node
- Откройте веб-браузер и перейдите на страницу консоли администратора.
- Выберите компьютер с выходным узлом, затем нажмите кнопку «…» в правой части строки.
- Выберите «Изменить настройки маршрута…»
- Переключите переключатель «Использовать как выходной узел».
Привязка клиента к выходному узлу
Когда узел запущен и работает, следующее, что вам нужно сделать, — это сообщить клиентам о его существовании. Это связано с тем, что Tailscale не маршрутизирует автоматически исходящий трафик ни на один выходной узел.
- Откройте терминал на клиентском компьютере.
- Запустите
tailscale status
, чтобы найти адрес вашего выходного узла.
- Перезагрузите Tailscale с флагом
--use-exit-node
, за которым следует адрес вашего выходного узла:
sudo tailscale up --use-exit-node=100.86.19.20
- Проверьте свой новый внешний IP-адрес, запросив службу проверки IP-адреса:
Полезно знать: узнайте, как можно принять участие в новой форме интернет-маршрутизации к установка Yggdrasil в Linux .
Часто задаваемые вопросы
Есть ли ограничение на количество компьютеров и пропускную способность, которые я могу использовать с Tailscale?
Да. На данный момент бесплатный план Tailscale гарантирует подключение до 100 устройств к личной частной сети. Однако это не ограничивает пропускную способность между компьютерами в сети, даже если эти соединения используют сторонний ретранслятор.
Можно ли изменить адрес электронной почты после создания учетной записи?
Нет. Одним из недостатков использования внешнего единого входа является то, что Tailscale не может изменить ваш адрес электронной почты после того, как вы начнете его использовать. Один из способов обойти это — создать новую учетную запись, используя другой метод
Создание VPN с использованием выходных узлов
"sc_fs_faq sc_card ">
Мой друг не может подключиться к моей машине даже после того, как я поделился ею с ним.
Эта проблема, скорее всего, связана с активным брандмауэром между вами и компьютером вашего друга. Один из быстрых способов решения этой проблемы – найти используемый порт sudo ufw allow
, за которым следует номер используемого порта.
Изображение предоставлено: Арис Мунандар через Unsplash (фон) и Викисклад (логотип). Все изменения и скриншоты Рамсеса Реда.
Привязка клиента к выходному узлу
Часто задаваемые вопросы
Есть ли ограничение на количество компьютеров и пропускную способность, которые я могу использовать с Tailscale?
Можно ли изменить адрес электронной почты после создания учетной записи?
Мой друг не может подключиться к моей машине даже после того, как я поделился ею с ним.