EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

Настройка сервера Outline VPN для обхода блокировок

Outline является бесплатным инструментом с открытым исходным кодом для запуска собственного VPN-сервиса на VPS. Он направляет трафик через ваш сервер по протоколу Shadowsocks и использует механизмы, которые затрудняют обнаружение и блокировку этого трафика. В этой инструкции показано, как установить сервер Outline на Linux VPS, подключить его к Outline Manager, создать ключи доступа и подключить клиентские устройства.

Что такое Outline и как он работает

Outline состоит из трёх частей:

  • Outline Server: работает на VPS в Docker-контейнере и обрабатывает зашифрованный трафик;
  • Outline Manager: приложение для Windows, macOS и Linux, через которое вы управляете сервером и создаёте ключи доступа;
  • Outline Client: приложение для Windows, macOS, Linux, iOS и Android, которое подключает устройство к серверу по ключу доступа.

Outline использует Shadowsocks с обязательным шифрованием AEAD, защитой от активного зондирования и повторного воспроизведения пакетов, а также пакетами переменного размера. Сервером управляете только вы, а ключи доступа передаёте напрямую тем людям и устройствам, которым разрешаете подключение. Но ни один VPN- или прокси-протокол не устойчив ко всем способам блокировки. Если сервер заблокируют, можно развернуть другой сервер Outline и создать новые ключи доступа.

Info

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

Outline запустила в 2018 году Jigsaw, инкубатор Google. С 2026 года проект поддерживает Outline Foundation, независимая некоммерческая организация. Outline остаётся бесплатным и открытым.

Outline почти не нагружает систему, поэтому для него достаточно бюджетного VPS. INTROSERV предлагает Linux VPS в локациях в Европе, Северной Америке, Азии и Австралии.

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

Понадобится:

  • VPS или выделенный сервер с процессором x86_64 и публичным IP-адресом;
  • актуальный дистрибутив Linux с поддержкой Docker, например Ubuntu или Debian;
  • доступ root или пользователь с правами sudo;
  • компьютер с Windows, macOS или Linux для Outline Manager;
  • устройство, на которое вы установите Outline Client.

Info

Если Docker не установлен, скрипт установки предложит установить его автоматически с помощью официального скрипта get.docker.com.

Установите Outline Manager

Скачайте Outline Manager для своей операционной системы с официального сайта Outline, установите и откройте его. На экране настройки сервера найдите Set up Outline anywhere (вариант Advanced для любого провайдера) и нажмите Set up.

Outline Manager покажет команду установки сервера. Скопируйте её.

Актуальная команда выглядит так:

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)"

Установите сервер Outline

Подключитесь к серверу по SSH. Подробнее см. Подключение через SSH. Вставьте скопированную команду и нажмите Enter.

Если wget не установлен, установите его и снова запустите команду установки. В Ubuntu и Debian:

sudo apt update sudo apt install -y wget

Скрипт проверит, установлен ли Docker. Если нет, он предложит его установить. Нажмите Y и Enter.

Затем скрипт запустит два контейнера: shadowbox, в котором работают сервер Outline и его API управления, и watchtower, который автоматически обновляет сервер. Установка обычно занимает от 2 до 3 минут.

После завершения установки в консоли появится сообщение CONGRATULATIONS! Your Outline server is up and running и зелёная строка в фигурных скобках:

{"apiUrl":"https://203.0.113.10:12345/AbCdEfGhIjKlMnOp","certSha256":"1A2B3C..."} Make sure to open the following ports on your firewall, router or cloud provider: - Management port 12345, for TCP - Access key port 54321, for TCP and UDP

На вашем сервере значения будут другими. Скопируйте всю строку вместе с фигурными скобками. Её нужно будет вставить в Outline Manager.

Danger

Строка apiUrl содержит данные для доступа к API управления сервером Outline. Любой, кто её получит, сможет управлять сервером, в том числе создавать и удалять ключи доступа. Храните её в секрете: не публикуйте и не пересылайте по незащищённым каналам. Если вы её потеряете, она хранится на сервере в файле /opt/outline/access.txt.

Под строкой скрипт выводит два порта, которые должны быть доступны из интернета: порт управления (TCP) и порт ключей доступа (TCP и UDP). Оба порта выбираются случайно при установке. Запишите их для следующего шага.

Tip

Порты и адрес можно задать самостоятельно, добавив флаги в конец команды установки. Например, --keys-port=443 назначает ключам доступа порт 443 (TCP и UDP). Это помогает, если сеть блокирует нестандартные порты, но порт 443 не делает трафик Shadowsocks неотличимым от HTTPS. Флаг --hostname=vpn.example.com заставляет ключи доступа использовать доменное имя вместо IP-адреса. Если позже вы перенесёте сервер на новый IP-адрес, обновите DNS-запись, и существующие ключи смогут продолжить работу. Тогда команда выглядит так:

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/OutlineFoundation/outline-apps/master/server_manager/install_scripts/install_server.sh)" install_server.sh --keys-port=443

Откройте порты в файрволе

В зависимости от дистрибутива Linux и настроек сети входящие подключения может блокировать файрвол. Если вы используете файрвол, разрешите порты, указанные в выводе скрипта установки. Замените 12345 на порт управления, а 54321 на порт ключей доступа.

Для UFW в Ubuntu и Debian:

sudo ufw allow 12345/tcp sudo ufw allow 54321/tcp sudo ufw allow 54321/udp

Tip

Если у вашего компьютера статический IP-адрес, порт управления можно открыть только для этого адреса, например sudo ufw allow from 198.51.100.7 to any port 12345 proto tcp. Клиентам порт управления не нужен.

Для firewalld:

sudo firewall-cmd --permanent --add-port=12345/tcp sudo firewall-cmd --permanent --add-port=54321/tcp sudo firewall-cmd --permanent --add-port=54321/udp sudo firewall-cmd --reload

Warning

Если порт управления закрыт, Outline Manager не сможет подключиться к серверу. Если закрыт порт ключей доступа, клиенты не смогут подключиться, хотя сервер работает. Если скрипт выводит BLOCKED рядом с Checking host firewall, убедитесь, что оба порта доступны из интернета.

Подключите сервер к Outline Manager

Вернитесь в Outline Manager, вставьте скопированную строку в поле на шаге 2 и нажмите Done.

Сервер появится в списке слева. На его странице отображаются ключи доступа и объём использованного трафика.

Tip

В Outline Manager можно добавить несколько серверов, например VPS в разных локациях, и управлять ими из одного окна.

Создайте и передайте ключи доступа

Первый ключ доступа создаётся при установке автоматически. Чтобы создать ключ для другого человека или устройства, нажмите Add new key.

Чтобы переименовать ключ, например по имени того, кто будет им пользоваться, откройте меню ключа (три точки) и выберите Rename. В этом же меню можно задать лимит трафика для этого ключа. В настройках сервера можно задать лимит по умолчанию для всех ключей.

Чтобы получить ключ для клиента, нажмите значок Share рядом с ключом.

Скопируйте ключ доступа. Он начинается с ss:// и содержит адрес сервера, порт и секрет доступа. Нажмите Done.

Warning

Ключ доступа работает как пароль. Передавайте его только по закрытому каналу. Если ключ попал к посторонним, удалите его в Outline Manager и создайте новый: удалённый ключ сразу перестаёт работать.

Info

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

Подключите клиентское устройство

Скачайте Outline Client с официального сайта Outline и установите его на устройство. В приложении нажмите кнопку с плюсом или Add server, вставьте ключ доступа и нажмите Confirm.

Нажмите Connect. При первом подключении операционная система попросит разрешить настройку VPN. Подтвердите это.

Чтобы проверить подключение, откройте в браузере сервис, который показывает ваш IP-адрес, например ifconfig.me. Он должен показать IP-адрес вашего VPS.

Управление и обновление сервера

Контейнер watchtower раз в час проверяет, вышла ли новая версия сервера Outline, и устанавливает её автоматически.

Чтобы проверить, что оба контейнера работают, выполните:

sudo docker ps

В списке должны быть shadowbox и watchtower со статусом Up. Если сервер не работает, посмотрите его журнал:

sudo docker logs shadowbox

Чтобы полностью удалить Outline с сервера, удалите контейнеры и каталог с данными:

sudo docker rm -f shadowbox watchtower sudo rm -rf /opt/outline

Warning

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

Outline может пригодиться, когда обычные VPN-протоколы в вашей сети заблокированы. Если нужен классический VPN-протокол, см. Персональный VPN-сервер WireGuard.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA