Статьи

Настройка OpenConnect Server

2025-04-08 16:07
Введение

OpenConnect Server (ocserv) - это открытое решение для создания VPN-сервера, совместимого с Cisco AnyConnect. Благодаря поддержке SSL, TLS и протоколов безопасности, OpenConnect обеспечивает безопасное удаленное подключение к корпоративной сети.

Настройка ocserv подойдёт для компаний, которым важно обеспечить:

  • Безопасный доступ сотрудников к внутренним ресурсам
  • Гибкую аутентификацию
  • Совместимость с множеством клиентов

Для чего это нужно

  • Обеспечить удалённый доступ сотрудников
  • Шифрование трафика в публичных/ненадежных сетях
  • Централизованный контроль доступа

Что потребуется

  • Сервер с Ubuntu/Debian (или CentOS)
  • Публичный IP-адрес
  • Доменное имя (опционально)
  • Root-доступ

Установка и настройка ocserv

1. Установка OpenConnect Server

sudo apt update && sudo apt install ocserv -y

2. Генерация SSL-сертификата (Let's Encrypt)

sudo apt install certbot
sudo certbot certonly --standalone -d vpn.example.com

Сертификаты будут расположены по пути:

/etc/letsencrypt/live/vpn.example.com/

3. Настройка конфигурационного файла

Файл: /etc/ocserv/ocserv.conf

Минимальная конфигурация:

auth = "plain[/etc/ocserv/ocpasswd]"
tcp-port = 443
udp-port = 443
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem
max-same-clients = 10
ipv4-network = 10.10.10.0
ipv4-netmask = 255.255.255.0
dns = 8.8.8.8
route = default
try-mtu-discovery = true

4. Создание пользователей

sudo ocpasswd -c /etc/ocserv/ocpasswd username

5. Включение пересылки трафика

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Настройка NAT:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

6. Автозапуск и запуск сервиса

sudo systemctl enable ocserv
sudo systemctl start ocserv

Подключение клиентов

Поддерживаемые клиенты:

  • Cisco AnyConnect (Windows/macOS)
  • OpenConnect (Linux/macOS/Windows)
  • OpenConnect GUI (Windows)
  • мобильные клиенты (OpenConnect, AnyConnect)

Пример команды:

sudo openconnect --user=username vpn.example.com

Решение проблем

Проблема - Причина - Решение

Сертификат не принимается - Не установлен Let's Encrypt - Проверьте путь и домен

Нет подключения - Фаервол блокирует порт 443 - Откройте порты в UFW / iptables

Клиент отключается - MTU не оптимален - Установите try-mtu-discovery = true в конфигурации

Безопасность и улучшения

  • Включите двофакторную аутентификацию через PAM или Google Authenticator
  • Настройте ограничения по IP, времени сессии и геолокации
  • Ведите логи подключения

Заключение

OpenConnect Server - мощное решение с открытым исходным кодом, позволяющее быстро развернуть безопасный VPN-доступ. Благодаря совместимости с Cisco AnyConnect и широкой поддержке клиентов, ocserv подойдёт как для малого бизнеса, так и для крупных компаний.

Дополнительные источники


Совет: Настройте мониторинг VPN-подключений и автоматическое обновление сертификатов для долгосрочной надёжности.