Instalación y configuración de un servidor VPN ocserv en Ubuntu con cliente AnyConnect

Requisitos previos

Para esta guía se utilizará Ubuntu 20.04 como sistema operativo del servidor. Es necesario contar con wget instalado para descargar el script de despliegue. En el lado del cliente, se requiere la aplicación Cisco AnyConnect, disponible para múltiples plataformas (en iOS aparece como "Cisco").

Además, se emplearán conexiones SSH y transferencias por SCP, por lo que el equipo local debe soportar dichas herramientas.

Selección del servidor

La calidad de la conexión depende directamente de las características de red del servidor contratado. Se recomienda priorizar el ancho de banda sobre otros recursos hardware. Tras adquirir el servidor, conviene verificar la latencia mediante ping:

# Sustituye la IP por la de tu servidor
ping 198.51.100.24

Valores aceptables: menos de 80 ms para servidores en Asia y menos de 200 ms para servidores en Norteamérica.

Conexión al servidor remoto

Accede al servidor mediante SSH:

ssh root@198.51.100.24

Si es la primera conexión, confirma escribiendo yes cuando aparezca la advertencia de fingerprint. En caso de que la clave del host haya cambiado y se muestre un error, ejecuta:

ssh-keygen -R 198.51.100.24

Despliegue de ocserv

Una vez dentro del servidor, descarga y ejecuta el script de instalación automatizada:

curl -o ocserv_installer.sh https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ocserv.sh && chmod +x ocserv_installer.sh && ./ocserv_installer.sh

El tiempo de instalación depende de la conectividad del servidor y suele tardar entre 5 y 10 minutos. Selecciona la opción 1 para iniciar la instalación. Durante el proceso deberás definir:

  • Puerto de escucha: se utilizará el puerto 9898 para TCP y UDP.
  • Usuario administrador: nombre de usuario y contraseña para autenticación.

Por defecto, el servicio queda detenido tras la instalación. Inicia el panel de gestión con:

./ocserv_installer.sh

Personalización del archivo de configuración

Los archivos de configuración residen en /etc/ocserv/. Para una configuración más flexible, se recomienda editar el archivo ocserv.conf localmente y luego subirlo al servidor.

Cierra la sesión SSH:

exit

Crea un archivo local llamado ocserv.conf con el siguiente contenido ajustado:

auth = "plain[passwd=/etc/ocserv/ocpasswd]"
tcp-port = 9898
udp-port = 9898
run-as-user = nobody
run-as-group = daemon
socket-file = /var/run/ocserv-socket
server-cert = /etc/ocserv/ssl/server-cert.pem
server-key = /etc/ocserv/ssl/server-key.pem
ca-cert = /etc/ocserv/ssl/ca-cert.pem
isolate-workers = true
max-clients = 256
max-same-clients = 2
rate-limit-ms = 0
server-stats-reset-time = 604800
keepalive = 32400
dpd = 90
mobile-dpd = 1800
switch-to-tcp-timeout = 25
try-mtu-discovery = false
tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-VERS-SSL3.0"
auth-timeout = 240
idle-timeout = 86400
mobile-idle-timeout = 86400
min-reauth-time = 300
max-ban-score = 80
ban-reset-time = 1200
cookie-timeout = 300
deny-roaming = false
rekey-time = 172800
rekey-method = ssl
use-occtl = true
pid-file = /var/run/ocserv.pid
net-priority = 6
device = vpns
predictable-ips = true
default-domain = example.com
ipv4-network = 10.99.0.0
ipv4-netmask = 255.255.255.0
dns = 8.8.8.8
dns = 8.8.4.4
ping-leases = false
cisco-client-compat = true
dtls-legacy = true

Sube el archivo al servidor mediante SCP:

# scp [archivo_local] [usuario]@[ip_servidor]:[ruta_destino]
scp ./ocserv.conf root@198.51.100.24:/etc/ocserv/

Reinicio del servicio

Vuelve a conectarte por SSH:

ssh root@198.51.100.24

Abre el gestor y selecciona la opción de reinicio (opción 5):

./ocserv_installer.sh

Finalmente, sale del servidor:

exit

Conexión desde el cliente AnyConnect

Abre el cliente de Cisco AnyConnect en tu equipo. En el campo de direción, introduce la IP del servidor seguida del puerto configurado:

198.51.100.24:9898

Pulsa Connect e ingresa las credenciales definidas durante la instalación. Cuando el icono de estado se torne verde, la conexión estará activa. Verifica el acceso navegando a un sitio web externo.

Etiquetas: ocserv OpenConnect VPN Ubuntu AnyConnect

Publicado el 7-6 06:22