Настройка VPN-сервера OpenConnect (ocserv)

Настройка и установка VPN-сервера OpenConnect (ocserv) на Ubuntu 20.04 с использованием Let’s Encrypt. Пошаговая инструкция. Полезные сервисы

В этой статье мы рассмотрим пошаговый процесс установки и настройки VPN-сервера OpenConnect (ocserv) на Ubuntu 20.04. OpenConnect — это VPN-сервер с открытым исходным кодом, совместимый с протоколом Cisco AnyConnect SSL VPN. Мы также настроим сертификаты SSL/TLS с помощью Let’s Encrypt для обеспечения безопасного соединения. Настройку выполняем на примере сервера adminvps Нидерланды. (Промик на скидку 60% BoostClicks)

Настройка VPN-сервера OpenConnect (ocserv)

Преимущества OpenConnect VPN

  • Поддержка протокола Cisco AnyConnect, что позволяет использовать его с клиентами AnyConnect.
  • Высокая производительность и безопасность благодаря шифрованию SSL/TLS.
  • Простота настройки и управления.
  • Совместимость с различными платформами (Linux, Windows, macOS, Android, iOS).

Требования

  • Сервер с Ubuntu 20.04 (рекомендуется чистая установка).
  • Права root или пользователя с доступом к sudo.
  • Доменное имя, указывающее на IP-адрес вашего сервера (например, vpn.example.com).
  • Открытые порты: 443/TCP и 443/UDP.

Шаг 1: Обновление системы

Сначала обновите пакеты вашей системы до последних версий. Подключитесь к серверу через SSH и выполните следующие команды:

sudo apt update
sudo apt upgrade -y

Шаг 2: Установка OpenConnect VPN Server (ocserv)

  1. Установите необходимые зависимости:
sudo apt install build-essential libpam0g-dev liblz4-dev libseccomp-dev libreadline-dev libnl-3-dev libcurl4-openssl-dev libev-dev libpthread*-dev libgmp-dev libssl-dev -y
  1. Загрузите последнюю версию ocserv с официального сайта:
wget ftp://ftp.infradead.org/pub/ocserv/ocserv-1.1.1.tar.xz
tar xvf ocserv-1.1.1.tar.xz
cd ocserv-1.1.1
  1. Скомпилируйте и установите ocserv:
./configure
make
sudo make install
  1. Создайте необходимые директории и скопируйте конфигурационные файлы:
sudo mkdir -p /etc/ocserv
sudo cp doc/sample.config /etc/ocserv/ocserv.conf

Шаг 3: Настройка сертификатов с Let’s Encrypt

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

  1. Установите Certbot:
sudo apt install certbot -y
  1. Запустите Certbot для получения сертификатов (замените vpn.example.com на ваше доменное имя):
sudo certbot certonly --standalone -d vpn.example.com
  1. После успешного получения сертификатов они будут находиться в /etc/letsencrypt/live/vpn.example.com/. Обновите конфигурацию ocserv, указав пути к сертификатам. Откройте файл /etc/ocserv/ocserv.conf:
sudo nano /etc/ocserv/ocserv.conf

Найдите и измените следующие строки:

server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem

Сохраните файл (Ctrl+O, затем Ctrl+X в nano).


Шаг 4: Настройка ocserv

Отредактируйте файл конфигурации /etc/ocserv/ocserv.conf, чтобы настроить сервер под ваши нужды. Вот основные параметры, которые стоит проверить или изменить:

  • Порты (по умолчанию 443):
tcp-port = 443
udp-port = 443
  • Максимальное количество одновременных подключений:
max-clients = 128
  • Аутентификация пользователей (мы будем использовать имя пользователя и пароль):
auth = "plain[passwd=/etc/ocserv/ocpasswd]"

Сохраните изменения.


Шаг 5: Создание пользователей

Создайте файл для хранения учетных данных пользователей:

sudo touch /etc/ocserv/ocpasswd
sudo chmod 600 /etc/ocserv/ocpasswd

Добавьте пользователя (например, user1):

sudo ocpasswd -c /etc/ocserv/ocpasswd user1

Вас попросят ввести пароль для пользователя.


Шаг 6: Настройка системного сервиса

Чтобы ocserv запускался автоматически при перезагрузке, создайте systemd-юнит:

  1. Создайте файл сервиса:
sudo nano /etc/systemd/system/ocserv.service
  1. Вставьте следующее содержимое:
[Unit]
Description=OpenConnect VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/ocserv -c /etc/ocserv/ocserv.conf -f
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/var/run/ocserv.pid

[Install]
WantedBy=multi-user.target
  1. Сохраните файл и активируйте сервис:
sudo systemctl daemon-reload
sudo systemctl enable ocserv
sudo systemctl start ocserv

Проверьте статус:

sudo systemctl status ocserv

Шаг 7: Настройка брандмауэра

Если у вас установлен UFW, откройте порты 443 для TCP и UDP:

sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw reload

Шаг 8: Подключение к VPN

  • Linux: Установите клиент OpenConnect и подключитесь:
sudo apt install openconnect
openconnect vpn.example.com
  • Windows/macOS: Используйте официальный клиент Cisco AnyConnect или OpenConnect GUI.
  • Android/iOS: Установите приложение OpenConnect из магазина приложений.

Введите имя пользователя и пароль, созданные на шаге 5.


Шаг 9: Автоматическое обновление сертификатов Let’s Encrypt

Certbot автоматически добавляет задачу в cron для обновления сертификатов. Проверьте это:

sudo crontab -l

Если задача отсутствует, добавьте ее вручную:

sudo crontab -e

Добавьте строку:

0 0 * * * certbot renew --quiet && systemctl restart ocserv

Что мы в итоге имеем

Теперь у вас есть полностью рабочий VPN-сервер OpenConnect на Ubuntu 20.04 с шифрованием через Let’s Encrypt. Вы можете использовать его для безопасного доступа к интернету или внутренней сети. Если у вас возникнут вопросы, стучитесь в ТГ канал!

Оцените статью
BoostClicks