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

- Преимущества OpenConnect VPN
- Требования
- Шаг 1: Обновление системы
- Шаг 2: Установка OpenConnect VPN Server (ocserv)
- Шаг 3: Настройка сертификатов с Let’s Encrypt
- Шаг 4: Настройка ocserv
- Шаг 5: Создание пользователей
- Шаг 6: Настройка системного сервиса
- Шаг 7: Настройка брандмауэра
- Шаг 8: Подключение к VPN
- Шаг 9: Автоматическое обновление сертификатов Let’s Encrypt
- Что мы в итоге имеем
Преимущества 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)
- Установите необходимые зависимости:
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
- Загрузите последнюю версию 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
- Скомпилируйте и установите ocserv:
./configure make sudo make install
- Создайте необходимые директории и скопируйте конфигурационные файлы:
sudo mkdir -p /etc/ocserv sudo cp doc/sample.config /etc/ocserv/ocserv.conf
Шаг 3: Настройка сертификатов с Let’s Encrypt
Для шифрования соединений мы будем использовать бесплатные сертификаты от Let’s Encrypt.
- Установите Certbot:
sudo apt install certbot -y
- Запустите Certbot для получения сертификатов (замените vpn.example.com на ваше доменное имя):
sudo certbot certonly --standalone -d vpn.example.com
- После успешного получения сертификатов они будут находиться в /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-юнит:
- Создайте файл сервиса:
sudo nano /etc/systemd/system/ocserv.service
- Вставьте следующее содержимое:
[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
- Сохраните файл и активируйте сервис:
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. Вы можете использовать его для безопасного доступа к интернету или внутренней сети. Если у вас возникнут вопросы, стучитесь в ТГ канал!