
Настройте личный VPN в облаке
Algo VPN — это набор сценариев Ansible, которые упрощают настройку личного VPN на основе WireGuard и IPsec. Он использует самые безопасные настройки по умолчанию и работает с распространёнными облачными провайдерами.
Дополнительную информацию см. в анонсе релиза.
Самый простой способ запустить сервер Algo — запустить его на вашей локальной системе или из Google Cloud Shell и позволить ему автоматически создать новую виртуальную машину в облаке.
Зарегистрируйте аккаунт у облачного хостинг-провайдера. Algo поддерживает DigitalOcean (наиболее дружелюбный к пользователю), Amazon Lightsail, Amazon EC2, Vultr, Microsoft Azure, Google Compute Engine, Scaleway, DreamCompute, Linode, другие облачные хостинги на базе OpenStack, облачный хостинг на базе CloudStack или Hetzner Cloud.
Получите копию Algo. Сценарии Algo будут запускаться с вашей локальной системы. Есть два способа получить копию:
Скачайте ZIP-файл. Распакуйте файл, чтобы создать каталог с именем algo-master, содержащий сценарии Algo.
Используйте git clone, чтобы создать каталог с именем algo, содержащий сценарии Algo:
git clone https://github.com/trailofbits/algo.git
Настройте параметры конфигурации. Откройте config.cfg в вашем любимом текстовом редакторе. Укажите пользователей, которых вы хотите создать, в списке users. Создайте уникального пользователя для каждого устройства, которое вы планируете подключать к вашему VPN. Также перед развёртыванием следует просмотреть другие опции, так как изменение мнения о них позже может потребовать развёртывания нового сервера.
Запустите развёртывание. Вернитесь в терминал. В каталоге Algo выполните соответствующий сценарий для вашей платформы:
macOS/Linux:
./algo
Windows:
.\algo.ps1
При первом запуске сценарий автоматически установит необходимое окружение Python (Python 3.11+). При последующих запусках он запускается немедленно и работает на всех платформах (macOS, Linux, Windows через WSL). Сценарий Windows PowerShell автоматически использует WSL при необходимости, так как Ansible требует Unix-подобного окружения. Доступно несколько опциональных функций, ни одна из которых не требуется для полностью функционального VPN-сервера. Эти опциональные функции описаны в документации по развёртыванию.
Вот и всё! Теперь вы можете настраивать клиенты для подключения к вашему VPN. Перейдите к разделу Настройка VPN-клиентов ниже.
"# Congratulations! #"
"# Your Algo server is running. #"
"# Config files and certificates are in the ./configs/ directory. #"
"# Go to https://whoer.net/ after connecting #"
"# and ensure that all your traffic passes through the VPN. #"
"# Local DNS resolver 172.16.0.1 #"
"# The p12 and SSH keys password for new users is XXXXXXXX #"
"# The CA key password is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #"
"# Shell access: ssh -F configs/<server_ip>/ssh_config <hostname> #"
Сертификаты и файлы конфигурации, необходимые пользователям, помещаются в каталог configs. Убедитесь, что эти файлы защищены, так как многие из них содержат закрытые ключи. Все файлы сохраняются в подкаталоге, названном по IP-адресу вашего нового VPN-сервера Algo.
Важно для пользователей IPsec: Если вы хотите позже добавлять или удалять пользователей, вы должны выбрать yes на запрос Do you want to retain the keys (PKI)? во время развёртывания сервера. Это сохранит центр сертификации, необходимый для управления пользователями.
WireGuard используется для предоставления VPN-услуг на устройствах Apple. Algo генерирует файл конфигурации WireGuard, wireguard/<username>.conf, и QR-код, wireguard/<username>.png, для каждого пользователя, определённого в config.cfg.
На iOS установите приложение WireGuard из App Store. Затем используйте приложение WireGuard для сканирования QR-кода или отправки файла конфигурации через AirDrop на устройство.
На macOS установите приложение WireGuard из Mac App Store. После запуска приложения WireGuard появится в строке меню. Нажмите на значок WireGuard, выберите Import tunnel(s) from file..., затем выберите соответствующий файл конфигурации WireGuard.
На iOS или macOS вы можете включить «Подключаться по требованию» и/или исключить определённые доверенные Wi-Fi сети (например, домашнюю или рабочую), отредактировав конфигурацию туннеля в приложении WireGuard. (Algo не может сделать это автоматически.)
Если вы предпочитаете использовать встроенный IPsec VPN на устройствах Apple или вам нужно автоматически настраивать «Подключаться по требованию» или исключённые Wi-Fi сети, см. руководство по настройке IPsec-клиента Apple для подробных инструкций.