OpenConnect — open-source реализация Cisco AnyConnect. Встроенная поддержка в iOS, macOS, Windows. Простой в настройке.
sudo apt update
sudo apt install -y ocserv
sudo nano /etc/ocserv/ocserv.conf
# Порт
tcp-port = 443
udp-port = 443
# Сертификаты (self-signed или Let's Encrypt)
server-cert = /etc/ssl/certs/ssl-cert-snakeoil.pem
server-key = /etc/ssl/private/ssl-cert-snakeoil.key
# Или Let's Encrypt:
# server-cert = /etc/letsencrypt/live/your-domain.com/fullchain.pem
# server-key = /etc/letsencrypt/live/your-domain.com/privkey.pem
# Адреса клиентов
ipv4-network = 10.12.0.0
ipv4-netmask = 255.255.255.0
# DNS
dns = 1.1.1.1
dns = 8.8.8.8
# Маршруты (весь трафик через VPN)
route = 0.0.0.0/0.0.0.0
# Максимальное количество клиентов
max-clients = 10
max-same-clients = 2
# Таймауты
idle-timeout = 1200
session-timeout = 86400
# Сжатие
compression = true
# Аутентификация (логин/пароль)
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
# Разрешить любые методы
allowed-ciphers = all
sudo ocpasswd -c /etc/ocserv/ocpasswd vpn-user
Система попросит ввести пароль.
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/ssl/private/ocserv.key \
-out /etc/ssl/certs/ocserv.crt \
-subj "/CN=VPN Server"
И обновить пути в конфиге:
server-cert = /etc/ssl/certs/ocserv.crt
server-key = /etc/ssl/private/ocserv.key
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# NAT
sudo iptables -t nat -A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
sudo systemctl enable ocserv
sudo systemctl restart ocserv
sudo systemctl status ocserv
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo apt install -y openconnect
sudo openconnect SERVER_IP
# Ввести логин и пароль
# Статус
sudo systemctl status ocserv
# Логи
sudo journalctl -u ocserv -f
# Порт
sudo ss -tlnp | grep 443
# Подключение с клиента
curl https://ifconfig.me
Последнее обновление: 2026-07-18