Pangolin – современная платформа для организации безопасного удалённого доступа ко внутренним сервисам и сетям. Платформа сочетает в себе возможности обратного прокси, защищённых туннелей и системы управления доступом, а также позволяет публиковать веб-приложения и предоставлять доступ к частным ресурсам без необходимости напрямую открывать доступ к ним через интернет.
В основе Pangolin лежит концепция Zero Trust. Суть её в том, что пользователи получают доступ только к тем ресурсам, на которые им явно выданы разрешения. Для подключения удалённых сетей используются лёгкие коннекторы, которые самостоятельно устанавливают защищённое исходящее соединение с сервером Pangolin. Благодаря этому отпадает необходимость в сложной настройке маршрутизаторов, пробросе портов и наличии публичного IP-адреса.
Pangolin может использоваться для безопасного доступа к веб-приложениям, внутренним сайтам, базам данных, SSH-серверам, RDP-подключениям и другим сервисам, расположенным как в локальной сети, так и на удалённых площадках. Управление ресурсами, пользователями и правилами доступа осуществляется через единый веб-интерфейс, что делает платформу удобным решением как для домашнего использования, так и для корпоративной инфраструктуры.
В статье разберём, как установить Pangolin на виртуальный сервер, работающий под управлением одной из операционных систем семейства Linux.
Как установить Pangolin на Linux-сервер
Для работы Pangolin требуется доменное имя, указывающее на IP-адрес виртуального сервера. Оно используется для получения TLS-сертификата, обеспечения защищённого HTTPS-соединения, а также публикации сервисов через поддомены. В частности, по умолчанию в Pangolin используется поддомен pangolin для обеспечения доступа к дашборду. И основной домен, и поддомен, предназначенный для доступа к дашборду, должны существовать до начала работ по установке Pangolin, и их A-записи должны быть привязаны к IP-адресу сервера. Данную привязку можно осуществить как на сайте регистраторе домена, так и на сайте хостинга RUVDS. Также для этого можно использовать сторонние DNS-сервисы.
Подготовка Linux-сервера к установке Pangolin
Официально Pangolin распространяется в виде набора Docker-контейнеров и устанавливается с использованием Docker и Docker Compose. На момент написания статьи разработчики не предоставляют пакеты для установки серверной части Pangolin в качестве обычного системного сервиса Linux без применения контейнеризации.
Таким образом, для запуска сервера Pangolin необходимо установить на виртуальную машину Docker и Docker Compose. В нашем справочнике есть статьи по установке контейнерной среды Docker для Ubuntu, Debian, CentOS и Rocky Linux.
Установка Pangolin на Linux-сервер
После установки Docker и Docker Compose запустите команду, которая загружает с официального сайта Pangolin установочный скрипт и передаёт его на выполнение интерпретатору Bash:
$ curl -fsSL https://static.pangolin.net/get-installer.sh | bash
В результате в текущем каталоге появится официальный установщик Pangolin. Запустите его следующей командой:
$ sudo ./installer
Установщик работает как интерактивный мастер, в ходе выполнения которого нужно ответить на несколько вопросов. В стартовом окне мастер попросит указать директорию, в которую требуется произвести инсталляцию Pangolin. По умолчанию используется директория /opt/pangolin.

Если директории не существует, мастер спросит, нужно ли её создать.

Также мастер спросит о необходимости назначить текущего пользователя владельцем создаваемой директории.

На следующем шаге мастер спросит, нужно ли инсталлировать Enterprise-версию Pangolin.

Далее мастер задаст вопрос о необходимости установки PostgreSQL.

Затем нужно будет указать доменное имя вашего сервера.

На следующем шаге укажите имя домена, которое будет использоваться для доступа к дашборду Pangolin. По умолчанию мастер предлагает использовать поддомен pangolin. Используемое имя должно существовать и указывать на IP-адрес виртуального сервера.

Далее введите адрес электронной почты, чтобы зарегистрировать аккаунт в Let’s Encrypt для получения TLS-сертификата на ваш домен.

Затем установщик задаст вопрос об использовании Gerbil для организации туннельных подключений. Данный компонент создаёт защищённые туннели между сервером Pangolin и удалёнными устройствами или сетями.

На следующем шаге мастер спросит о необходимости произвести настройку функциональности сервера электронной почты.

Далее мастер задаст вопрос о поддержке вашим сервером протокола IPv6.

После чего мастер спросит о необходимости загрузить бесплатные базы GeoLite2. Если ответить на вопрос утвердительно, вы сможете использовать географическую фильтрацию и правила на основе ASN.

По окончании загрузки мастер задаст вопрос о необходимости установки и запуска загруженных контейнеров.

Далее мастер спросит о том, какую платформу нужно использовать для запуска контейнеров. По умолчанию будет использоваться Docker.

После того, как мастер установит и запустит загруженные контейнеры, будет выведена итоговая информация. В частности, там вы найдёте токен настройки и ссылку на подключение к дашборду Pangolin.

Подключение к дашборду Pangolin
Чтобы подключиться к дашборду, откройте браузер и перейдите по указанной ссылке.

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