Configura tu propia VPN con AWS y OpenVPN (Access Server)

Bianca Torres Chumbes
witperu
Published in
4 min readDec 27, 2022

OpenVPN es una herramienta de conectividad basada en software libre: SSL (Secure Sockets Layer), VPN Virtual Private Network (red virtual privada). El protocolo OpenVPN es responsable de manejar las comunicaciones cliente-servidor. Básicamente, ayuda a establecer un “túnel” seguro entre el cliente VPN y el servidor VPN.

En el siguiente tutorial vamos a aprender a instalar y configurar OpenVPN en una instancia AWS EC2 con Ubuntu 22 de forma sencilla, sigue las instrucciones:

  1. Lanzar un instancia en AWS. (Recuerda que las ips que se asignarán a los usuarios que se conecten a la vpn estarán en el rango de la VPC donde lances tu instancia, asi mismo tambien pertenecerán a la misma región)
  • Define el nombre de la instancia.
  • Elige la imagen de la instancia (Ubuntu Server 22.04).
  • Elige el tipo de instancia t2.micro (para mantenernos dentro de la capa gratuita de AWS).
  • Crea una nueva key pair o utiliza alguna que ya tengas disponible.
  • Elige un security group o crea uno que tenga los siguentes puertos abiertos en inbound rules: TCP 443, TCP 943, TCP 945, UDP 1194 y TCP 22.
  • Elige un volumen de 8 GiB gp2 como almacenamiento.
  • Lanza la instancia.

2. Conectarse por ssh a la instancia e instalar openssh.

  • Usa la llave .pem que creaste anteriormente y el usuario ubuntu para conectarte a la instancia.
ssh -i openvpnkey.pem ubuntu@18.206.147.236
  • Cambia de usuario a root.
sudo su
  • Ejecuta los siguientes comandos para instalar openvpn access server.
apt update && apt -y install ca-certificates wget net-tools gnupg
wget https://as-repository.openvpn.net/as-repo-public.asc -qO /etc/apt/trusted.gpg.d/as-repository.asc
echo “deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/as-repository.asc] http://as-repository.openvpn.net/as/debian jammy main”>/etc/apt/sources.list.d/openvpn-as-repo.list
apt update && apt -y install openvpn-as
  • Usa la ip pública de tu instancia y el puerto 934 para acceder: https://ip-publica:943/admin
  • Si no estas usando un certificado SSL te aparecerá el siguiente mensaje, click en configuración avanzada y Continuar.
  • Accede al panel de configuración en tu navegador con el usuario y contraseña que aparecen al final de los logs.
  • Acepta los términos y condiciones de OpenVPN.
  • Click en Network Settings.
  • Verifica que en “HostName or IP Address” esté la ip pública de tu instancia, si no es así, puedes actualizarla y guardar los cambios.

3. Crear un usuario y utilizar el cliente de openvpn.

  • En User Management, selecciona User Permissions.
  • Crea un nuevo usuario, si gustas puedes configurarle una contraseña en More Settings y guarda los cambios.
  • Descarga e instala el cliente de openvpn.
  • Importa el perfil con la url de nuestro servidor openvpn y puerto 943.
  • Ingresa el usuario y contraseña que creaste.
  • Conéctate a la VPN.
  • Listo, estarás conectado y podrás usar la VPN sin problemas.

--

--

Bianca Torres Chumbes
witperu
Editor for

Cloud Engineer | DevOps | Volunteer @WIT Perú @AWS Girls