Гид по технологиям

Установка и настройка Pritunl VPN на Ubuntu 20.04

7 min read VPN Обновлено 24 Nov 2025
Pritunl VPN на Ubuntu 20.04 — установка и настройка
Pritunl VPN на Ubuntu 20.04 — установка и настройка

Введение

Pritunl логотип и интерфейс

Pritunl — это открытый и простой в эксплуатации VPN-сервер, который позволяет быстро виртуализировать приватные сети между дата-центрами и конечными устройствами. Он предоставляет удобную веб-консоль, официальные клиенты и совместимость с OpenVPN-конфигурациями для большинства платформ.

В этом руководстве подробно описаны шаги по установке Pritunl на Ubuntu 20.04 (сервер) и по подключению клиента Pritunl на рабочей станции (Desktop). Включены проверочные команды, рекомендации по безопасности, варианты отладки и контрольные списки для ролей.

Что нужно иметь перед началом

  • Сервер с Ubuntu 20.04 (можно виртуальная машина или облачный инстанс).
  • Клиентская машина с Ubuntu 20.04 Desktop (или другая ОС с поддержкой Pritunl/OpenVPN).
  • Доступ root или пользователь с sudo.
  • Открытый порт 443/TCP для веб-интерфейса Pritunl (или настроенный прокси/SSL).

Важно: если сервер находится за облачным балансировщиком, убедитесь, что проброс портов и правила безопасности позволяют доступ к порту 443.

Ключевая идея и подход

Ментальная модель: Pritunl — это менеджер OpenVPN-профилей с веб-интерфейсом и сервисом, который хранит метаданные в MongoDB. Pritunl генерирует OpenVPN-конфигурации для пользователей и управляет серверами/организациями. Установка состоит из трёх этапов: установка Pritunl, установка MongoDB, первичная настройка через веб-мастер.

Когда это не подходит: если вам нужна строгая интеграция с корпоративными LDAP/AD или вам необходимы проприетарные функции коммерческих VPN-решений, возможно, стоит рассмотреть другие продукты.

Альтернативы: OpenVPN community + вручную подконтрольные конфиги, WireGuard для простой, высокопроизводительной VPN, коммерческие решения (например, Cisco, Palo Alto) для крупных корпоративных сред.

Обновление системы и зависимости

Перед началом рекомендуется обновить пакеты:

apt-get update -y

Затем установите зависимости:

apt-get install curl gnupg2 wget unzip -y

После этого можно переходить к установке Pritunl.

Установка Pritunl на Ubuntu 20.04

Pritunl отсутствует в стандартных репозиториях Ubuntu, поэтому нужно добавить GPG-ключи и репозиторий.

Добавьте ключи Pritunl:

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A

Добавьте репозиторий:

echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list

Обновите кэш и установите Pritunl:

apt-get update -y
apt-get install pritunl -y

Запустите и включите автозапуск:

systemctl start pritunl
systemctl enable pritunl

Проверка статуса сервиса:

systemctl status pritunl

Ожидаемый результат — активный (running) сервис pritunl. Дополнительно проверьте слушающие порты:

ss -antpl | grep pritunl

Обычно Pritunl слушает порт 443 для веб-интерфейса и локальный порт для внутреннего API.

Установка MongoDB

Pritunl использует MongoDB для хранения метаданных, поэтому установите MongoDB 4.4 (примеры для apt-репозитория MongoDB):

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

Добавьте репозиторий MongoDB:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Установите сервер MongoDB (как в исходном материале):

apt-get update -y
apt-get install mongodb-server -y

Запустите и включите автозапуск:

systemctl start mongodb
systemctl enable mongodb

Проверьте статус и то, что MongoDB слушает порт 27017 локально:

systemctl status mongodb
ss -antpl | grep 27017

Совет по безопасности: по умолчанию MongoDB слушает на localhost. Не открывайте порт 27017 в интернет без авторизации и TLS.

Первичная настройка через веб-интерфейс

Откройте в браузере:

https://

Вы увидите мастер установки Pritunl.

Экран установщика Pritunl

Сгенерируйте ключ в терминале сервера:

pritunl setup-key

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

Сгенерируйте пароль администратора по умолчанию:

pritunl default-password

Скопируйте имя пользователя и пароль (обычно username: “pritunl”) и выполните вход в веб-интерфейс.

Далее при желании смените пароль администратора и добавьте организацию, пользователя и сервер (интерфейс шаг за шагом).

Работа с организациями и пользователями

  • Создайте организацию (Organization).
  • Добавьте пользователя: укажите имя и PIN — это будет требоваться при подключении.
  • Перейдите в Servers и добавьте сервер: задайте порт, DNS, виртуальную сеть.
  • Прикрепите организацию к серверу и запустите сервер.

Из интерфейса можно скачивать профили пользователей (.tar с .ovpn) для импорта в клиент.

Страница входа Pritunl Настройка Pritunl Пользователи и организации

Установка клиента Pritunl на рабочую станцию

На клиентской машине (Ubuntu Desktop) добавьте ключи и репозиторий Pritunl так же, как на сервере:

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A

echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list

apt-get update -y
apt-get install pritunl-client-electron -y

После установки откройте приложение Pritunl Client из меню приложений.

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

В веб-интерфейсе Pritunl откройте вкладку Users и скачайте профиль пользователя (обычно tar-архив):

Загрузка профиля пользователя Pritunl

Распакуйте архив на клиенте:

tar -xvf user1.tar

Вы увидите файл .ovpn, например myorg_user1_server1.ovpn.

Импортируйте этот файл в Pritunl Client: в приложении нажмите Import Profile и укажите путь к .ovpn. Затем подключитесь, введя PIN пользователя, заданный при создании.

Pritunl Client импорт профиля

Проверьте интерфейс tun0 после подключения:

ifconfig tun0

Ожидаемый вывод покажет адрес в виртуальной сети (пример из источника):

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:192.168.237.2  P-t-P:192.168.237.2  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3752 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3847 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:2399700 (2.3 MB)  TX bytes:807236 (807.2 KB)

Чтобы убедиться, что весь трафик идёт через VPN, откройте https://whatismyipaddress.com/ — там должен отображаться IP сервера.

Получение публичного IP через VPN

Рекомендации по безопасности и твики для продакшна

  • Защитите веб-интерфейс HTTPS сертификатом (Let’s Encrypt) или используйте обратный прокси (Nginx/HAProxy) с TLS.
  • Отключите доступ к MongoDB извне — оставьте 127.0.0.1 или используйте туннелирование/сетевые политики.
  • Смените пароль администратора по умолчанию и отключите учетную запись по умолчанию, если не нужна.
  • Настройте резервное копирование конфигурации и базы данных (см. раздел «Резервное копирование и восстановление»).
  • Включите системные механизмы защиты: fail2ban, ограничение SSH по IP, регулярные обновления безопасности.

Пример проброса TLS через Nginx (альтернатива встроенному HTTPS):

  • Установите nginx.
  • Настройте server блок, который проксирует / на локальный 127.0.0.1:443 Pritunl и обслуживает TLS с сертификатом.

Важно: корректная настройка прокси требует правильной пересылки заголовков и работы с сокетами WebSocket, если Pritunl использует их для веб-консоли.

Резервное копирование и восстановление

Минимальная политика резервного копирования:

  • Экспортировать конфигурации Pritunl (если доступна команда экспорт/backup).
  • Резервировать директории /var/lib/pritunl и /etc/pritunl.
  • Дамп MongoDB (mongodump) для метаданных.

Пример создания дампа MongoDB:

mkdir -p /root/pritunl-backups
mongodump --out /root/pritunl-backups/$(date +%F)

Для восстановления используйте mongorestore и восстановите файлы Pritunl из резервной копии.

Отладка и часто встречающие ошибки

Проверочные команды и советы:

  • Просмотр логов Pritunl:
journalctl -u pritunl -f
  • Просмотр логов MongoDB:
journalctl -u mongodb -f
  • Проверка, что порты действительно слушаются:
ss -antpl | egrep "pritunl|mongod"

Типичные проблемы и решения:

  • Проблема: веб-интерфейс недоступен по HTTPS.

    • Проверьте, что сервис pritunl запущен.
    • Убедитесь, что порт 443 открыт в firewall (ufw/iptables) и на облачном уровне.
    • Если используете прокси, проверьте корректность конфигурации.
  • Проблема: клиент не подключается, пишет, что профиль не подходит.

    • Проверьте, что скачанный .ovpn соответствует нужному серверу и пользователю.
    • Убедитесь, что PIN введён правильно.
  • Проблема: MongoDB не стартует после установки.

    • Проверьте конфигурацию /etc/mongodb.conf и логи.
    • Убедитесь, что в системе достаточно места и нет конфликтов портов.

Методология развёртывания — быстрый SOP

  1. Подготовьте сервер: обновление, базовые утилиты.
  2. Установите MongoDB и проверьте локальный доступ.
  3. Установите Pritunl, запустите сервис.
  4. Пройдите веб-мастер: setup-key, default-password, смена пароля.
  5. Создайте Organization → User → Server.
  6. Экспортируйте профиль, импортируйте в клиенте и протестируйте.
  7. Настройте SSL/прокси и политики доступа.
  8. Внедрите резервное копирование и мониторинг.

Критерии приёмки

  • Веб-интерфейс Pritunl доступен по HTTPS с корректным сертификатом.
  • MongoDB работает и слушает локально на 127.0.0.1:27017.
  • Создана хотя бы одна организация и пользователь, пользователь может импортировать профиль и подключиться.
  • Трафик с клиента проходит через сервер (проверка внешнего IP).
  • Наличие резервной копии конфигурации и дампа MongoDB.

Роль-ориентированные контрольные списки

Администратор перед развёртыванием:

  • Обновление ОС выполнено
  • Открыт доступ по SSH и настроен брандмауэр
  • Резервное копирование логики оговорено

Оператор при запуске:

  • MongoDB запущен и слушает локально
  • Pritunl запущен и отвечает
  • Веб-мастер пройден, создан администратор

Обычный пользователь при подключении:

  • Скачан и распакован .tar профиль
  • Импортирован .ovpn в клиент Pritunl
  • Введён PIN и установлен туннель
  • Проверен внешний IP

Короткое руководство по тестовым сценариям

  • TC-01: Установить Pritunl и MongoDB, открыть веб-мастер — успешный выход на страницу мастера.
  • TC-02: Создать организацию и пользователя, скачать профиль — файл .ovpn присутствует.
  • TC-03: Подключить клиента — интерфейс tun0 появляется и имеет IP из виртуальной сети.
  • TC-04: Проверить доступ к ресурсам внутри виртуальной сети через VPN.

Дополнительные подходы и расширенные темы

  • Использовать WireGuard вместо OpenVPN для упрощения конфигурации и повышения производительности, если Pritunl не обязателен.
  • Интеграция с LDAP/AD для централизованного управления учетными записями (проверяйте поддержку версией Pritunl).
  • Автоматизация развёртывания через Ansible/Terraform для масштабируемых сред.

Быстрый чек-лист перед передачей в эксплуатацию

  • TLS для веб-интерфейса настроен
  • MongoDB недоступен из интернета
  • Резервное копирование работает
  • Мониторинг логов и сервисов настроен
  • Пользователь протестировал подключение

Заключение

Поздравляю! Вы установили и настроили Pritunl VPN на Ubuntu 20.04, настроили MongoDB, создали организацию и пользователя, импортировали профиль на клиент и успешно подключились. В руководстве приведены рекомендации по безопасности, резервному копированию и отладке. Если нужно, помогу адаптировать этот процесс под ваши требования: автоматизация, интеграция с LDAP, настройка высокодоступного кластера или настройка обратного прокси с Let’s Encrypt.

Важно: после запуска следите за обновлениями безопасности для Ubuntu, Pritunl и MongoDB и регулярно тестируйте резервные копии.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Отключить уведомление клавиатуры Apple TV
Инструкции

Отключить уведомление клавиатуры Apple TV

Flutter для Linux — простое приложение
Разработка

Flutter для Linux — простое приложение

Как смотреть UFC 269 онлайн — руководство
Стриминг

Как смотреть UFC 269 онлайн — руководство

Включение офлайн‑режима в Firefox
Браузеры

Включение офлайн‑режима в Firefox

Как настроить Wake-on-LAN в Windows 10
Windows

Как настроить Wake-on-LAN в Windows 10

Как исправить COREMSGCALL_INTERNAL_ERROR BSoD
Windows

Как исправить COREMSGCALL_INTERNAL_ERROR BSoD