VDS · Приложения и боты

VPN на Outline: свой сервер для себя и друзей

Как поднять личный VPN на Outline за десять минут, выдать ключи доступа и не превратить машину в открытый прокси для посторонних.

Обновлено 23 августа 2026 г.

Личный VPN — одна из самых частых причин взять VDS. Outline подходит лучше всего: сервер ставится одной командой, клиент есть под все системы, а доступ выдаётся строкой-ключом, которую достаточно скопировать другу.

Что понадобится

Хватает младшей ступени VDS-1: один пользователь редко упирается в процессор, узкое место — полоса, а она общая до 500 Мбит/с. Система — Debian 12 или Ubuntu 24.04. Нужен установленный Docker: Outline работает в контейнере и сам его поднимет.

Помните про свой публичный адрес IPv4: он у машины один, второго адреса мы не выдаём. Если этот адрес где-то заблокирован, VPN на нём тоже будет недоступен.

Установка

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"

Скрипт поставит Docker, если его нет, сгенерирует сертификат и в конце напечатает две вещи: строку конфигурации для менеджера Outline (JSON вида {"apiUrl":...,"certSha256":...}) и список портов, которые нужно открыть.

Сохраните эту строку сразу — второй раз она не показывается. Потерянную можно достать так:

sudo cat /opt/outline/access.txt

Дальше поставьте Outline Manager на компьютер, вставьте строку — и создавайте ключи доступа. Каждый ключ выдаётся отдельному человеку, любой можно отозвать по одному, не трогая остальные.

Порты и брандмауэр

Outline использует три группы портов: порт управления (случайный, из вывода скрипта), порт доступа (тоже случайный) на TCP и UDP. Их нужно разрешить:

sudo ufw allow 22/tcp
sudo ufw allow <порт-управления>/tcp
sudo ufw allow <порт-доступа>/tcp
sudo ufw allow <порт-доступа>/udp
sudo ufw enable

Не открывайте порт управления всему интернету дольше, чем нужно. Через него создаются и удаляются ключи. Если Manager у вас на одном постоянном адресе — ограничьте доступ: sudo ufw allow from <ваш-адрес> to any port <порт-управления> proto tcp.

Частые ошибки

  • Забыли про UDP. Клиент подключится по TCP, но видео и игры будут тормозить. Проверьте sudo ufw status — порт доступа должен быть открыт на обоих протоколах.
  • Раздали один ключ десяти людям. Отозвать кого-то одного станет невозможно, придётся менять ключ всем. Создавайте по ключу на человека.
  • Скрипт упал на нехватке места. Образы Docker занимают около гигабайта. Смотрите куда уходит место.
  • VPN работает, а сайты не открываются. Обычно это MTU. Проверьте, не режется ли трафик: ping -M do -s 1400 8.8.8.8 с клиента.

Что дальше

Ключи и настройки лежат в /opt/outline — включите этот каталог в резервную копию, иначе после переустановки придётся раздавать доступы заново. Обновление образа — как у любого контейнера, см. обновление контейнеров.