VPN2: Configuración de openvpn UNA Ubuntu 24.04

Paso 1: Descargar archivo de conexión

  • El primer paso es descargar el archivo de configuración del usuario para VPN2.
  • Para el ejemplo el archivo será almacenado en:
/home/smatarrita/Escritorio/Laboral/VPN2
  • Paso opcional, podemos renombrar el archivo para tener un nombre mas descriptivo
  • Para el ejemplo:
conexionSeidyVPN2.ovpn

Paso 2: Instalación de openvpn

  • El siguiente paso es instalar el software
apt install openvpn -y

Paso 3: Probar conexión

  • Para probar la conexión vamos a ingresar al directorio donde almacenamos el archivo.
  • Para el ejemplo:
cd /home/smatarrita/Escritorio/Laboral/VPN2
  • Y ejecutamos el comando
# Estructura
sudo openvpn --config nombreArchivo.ovpn

# Ejemplo
sudo openvpn --config conexionSeidyVPN2.ovpn
  • A continuación nos solicita los siguientes datos
sudo: al ejecutar el comando con sudo nos solicita la contraseña del usuario
Enter Auth Username: correo electrónico
Enter Auth Password: contraseña brindada para conexión VPN
CHALLENCE: Enter Authenticator Code: código de 2FA (Autenticador configurado)
  • Si los datos brindados son correctos debe aparecer al final el mensaje
Initialization Sequence Completed
  • Esto demuestra que es posible conectarse a la VPN con el usuario.
  • Sin embargo a este punto si probamos
ping sigesadesa.una.ac.cr
  • Podemos ver que el servicio es desconocido ya que los DNS no se están asignando de manera correcta.

Paso 4: Archivo auth_vpn2.txt

  • Para facilitar el proceso de conexión podemos crear un archivo que contenga el nombre de usuario y contraseña y configurar el archivo .ovpn para que lo utilice y así solo solicite el código 2FA.
  • Si considera esto un riesgo, omita el paso.
  • Creamos el archivo en el mismo lugar donde se almacena el archivo de configuración.
  • Para el ejemplo:
cd /home/smatarrita/Escritorio/Laboral/VPN2
  • Creamos el archivo
nano /home/smatarrita/Escritorio/Laboral/VPN2/auth_vpn2.txt
  • Y le agregamos:
    • Linea 1: correo de la vpn
    • Linea 2: contraseña
gustavo.matamoros.gonzalez@una.cr
TU_CONTRASEÑA
  • Ejemplo
  • Ahora abrimos el archivo de configuracion .ovpn
nano /home/smatarrita/Escritorio/Laboral/VPN2/conexionSeidyVPN2.ovpn
  • Y buscamos
auth-user-pass
  • Y lo remplzamos por
auth-user-pass auth_vpn2.txt
  • Y además le agregamos la linea
auth-nocache
  • Quedando así
  • Ahora podemos probar el funcionamiento del archivo.
  • Ingesamos donde tenemos el archivo de configuración
cd /home/smatarrita/Escritorio/Laboral/VPN2
  • E intentamos conectar ahora solo nos debería pedir el codigo 2fa
sudo openvpn --config conexionSeidyVPN2.ovpn
  • Y solo debe pedir el codigo, ejemplo:
  • Nos deconectamos para finalizar la prueba

Paso 5: Creación de Alias

  • En este paso vamos a crear un «Alias» de nombre «vpn-una» que va a venir a remplazar los siguientes comando:
  • 1. Ingresar a la ubicación del archivo de configuración
cd /home/smatarrita/Escritorio/Laboral/VPN2
  • 2. La conexión a la VPN
sudo openvpn --config conexionSeidyVPN2.ovpn
  • Por tanto el comando va a ejecutar
cd /home/smatarrita/Escritorio/Laboral/VPN2 && sudo openvpn --config conexionSeidyVPN2.ovpn
  • Con solo ejecutar «vpn-una» en la terminal
  • Esta configuración es opcional.
  • Abrimos el archivo
nano ~/.bashrc
  • Agregamos al final del archivo
#Estructura
alias vpn-una='cd rutaArchivoOVPN && sudo openvpn --config openvpn --config nombreArchivoOVPN.ovpn'

# Ejemplo
alias vpn-una='cd /home/smatarrita/Escritorio/Laboral/VPN2 && sudo openvpn --config openvpn --config conexionSeidyVPN2.ovpn'
  • Recargamos la terminal para aplicar el cambio
source ~/.bashrc
  • Y ahora para probar la conexión y que solo nos pida el codigo 2fa, ejecutamos
vpn-una
  • Y listo nos conecta

Paso 6: Correción error de DNS

  • Ahora para solventar el problema que la vpn en DNS no asigna de manera correcta los DNS
  • Vamos a crear el siguiente script que sera el encargado de actualizarlos y se ejecutará al momento de conectar
  • Creamos el archivo
sudo nano /etc/openvpn/update-dns-una.sh
  • Agregamos
#!/bin/bash
resolvectl dns tun0 10.0.98.103 10.0.98.102
resolvectl domain tun0 una.ac.cr una.cr ~.
echo "✅ DNS VPN UNA configurado"
  • Guardamos / Cerramos / Le damos permisos
sudo chmod +x /etc/openvpn/update-dns-una.sh
  • Ahora vamos a modificar el archivo de configuración .ovpn para que ejecute el script al momento de ser utilizado.
  • Abrimos el archivo
nano /home/smatarrita/Escritorio/Laboral/VPN2/conexionSeidyVPN2.ovpn
  • Le agregamos al final
script-security 2
up /etc/openvpn/update-dns-una.sh
  • Y listo podemos probar
vpn-una
  • Vemos como solo pide el código 2FA
  • Como ejecuto el script de actualización de DNS y que conecto
Initializacition Sequence Completd
  • Y podemos proibar haciendo ping a un dominio por ejemplo:
sigesadesa.una.ac.cr