DynDNS se utiliza para asociar IP´s dinámicas a nombres de dominio (cuando no existe la posibilidad de usar IP estática).
Crearemos una VPN en Raspberry Pi, por medio de piVPN; y crearemos un nombre de dominio gratuito con NoIP.
Ese nombre de dominio apuntará a la IP pública de nuestra red, y en la Raspberry Pi (que hará la función de servidor VPN asociado a nombre de dominio) instalaremos el cliente DynDNS de NoIP, que actualizará la IP pública dinámica que utiliza la red donde se encuentra la Raspberry, de forma que nuestro nombre de dominio en NoIP (https://www.noip.com/) estará constantemente actualizado, con la IP dinámica correcta de nuestra red.
Hemos de crear un Host registro A en NOIP (no funciona con un host que redirige a puerto, ese otro tipo de host sirve para aplicaciones internas, servidores internos que corren sobre un puerto, como MotionEye ***)
Instalamos la VPN para Raspberry:
con pivpn ejecutamos:
curl -L https://install.pivpn.io | bash
Después generamos un perfil de cliente VPN con:
pivpn add
En el proceso de creación del perfil VPN, hemos de prestar atención a este punto:
PiVPN | seleccionar entre ip o nombre dns:
Public IP or DNS
Will clients use a Public IP or DNS Name to connect to your server (press space to select)
*** En este punto, en lugar de colocar nuestra IP dinámica, colocamos el nombre de host que hemos creado en NOIP.
Después revisamos el contenido del archivo
/etc/openvpn/easy-rsa/pki/Default.txt
Y comprobamos que aparezca la linea:
remote nombredominio.net puerto
O sea, nuestro nombre de dominio creado, y el puerto elegido.
Si hemos puesto la IP en lugar del nombre de dominio, lo modificamos:
nano /etc/openvpn/easy-rsa/pki/Default.txt
Y en lugar de la IP pública, ponemos el nombre de host que creamos en noip:
Y en el archivo .ovpn anteriormente generado (el que se crea después de todo el proceso del comando pivpn add), hacemos lo mismo, comprobamos que aparezca el nombre de dominio creado en NOIP, en lugar de nuestra IP pública dinámica:
Como vamos a utilizar la Raspberry como servidor VPN, instalamos el cliente dinámico de NO-IP para Raspberry Pi.
Es importante recordar que en este tutorial aparece el puerto por defecto para las VPN, el puerto 1194.
Podemos seleccionar cualquier puerto entre el 1 y el 65536, siempre que no esté ocupado por alguna aplicación.
Como decíamos en la entrada sobre DynDNS en Raspberry, en cada router la apertura de puertos puede ser algo diferente, pero puede aparecer como Port Forwarding, Port Triggering, Servidor Virtual …. Lee las descripciones de cada sección en tu router y realiza pruebas con mucho cuidado y con calma, y encontrarás seguro la sección correcta para los puertos en tu router:
Ahora solo tenemos que instalar el cliente VPN, como OpenVPN Connect para Android, y cargar el perfil .ovpn, y podremos acceder a nuestra VPN que apunta a nuestro nombre de dominio.