Requisitos:

Pasos:

1. Crear DNS Record A en Noip

  • Apunta tu IP publica
  • Abre tu sesion con tus credenciales en Noip
  • Dentro del Dashboard ve al apartado “Dynamic DNS > Create Hostname” rellena:
    • hostname, ejemplo: test
    • Domain, ejemplo: ddns.net
    • IPv4 address: Tu IP publica
    • Click en Crear

Al finalizar obtendremos el siguiente Registro DNS A: test.ddns.net (ejemplo)

2. Instalar OpenVPN

Abre el terminal y ejecuta el siguiente comando:

 curl -L https://install.pivpn.io | bash

Cargara un mensaje de instalacion de paquetes y luego preguntara:

  • El default user: “pi” o el usuario que has creado.
  • Habilitar unattended upgrades: “Yes”
  • Protocolo de comunicacion: “UDP”
  • Puerto de comunicacion: “1194 (default)”" - por seguridad cambiar el numero de Puerto.
  • Habilitar Elliptic Curves: “Yes”
  • ECDSA encryption strength: “256-bit”
  • Public IP or DNS: “Use a public DNS”
  • Public DNS: test.ddns.net ( ingresa el Hostname configurado en tu cuenta Noip.com)
  • DNS provider: elige el provedor DNS de tu gusto ( en mi caso OpenDNS)

Instalacion completada, el programa pedira: 1. reiniciar el sistema, 2. ejecutar el comando: “pivpn add” para crear un perfil ovpn.

3. Crear cliente .ovpn

Ejecuta:

pivpn add
  • Client name: nombre de usuario de conexion vpn, por ejemplo: vpn_user1
  • Password: crea la password.

El perfil creado sera guardado en el directorio:

/home/pi/ovpns/

Para confirmar puedes usar un “ls”

ls /home/pi/ovpns/

Dentro de la carpeta encontraras tu archivo .ovpn ( credenciales) para poder usarlo en los dispositivos clientes.

4. Habilitar Router para tunel VPN + Noip DNS

En mi caso tengo un Router Linksys que me permite configurar mi provedor DNS apuntando a mi Hostname con mis credenciales del Noip tambien puedo habilitar IPSec y abrir el puerto apuntando la ip del RaspberryPi.

NOTA:

Revisar la configuracion de la tabla de IPtables

sudo iptables -L

Para mas informacion de como abrir puertos por Iptables puedes visitar el siguiente enlace

Otro util comando para ver los puertos dentro de tu RaspberryPi:

sudo netstat -tulpn

Enlances:

Video tutorial usando Noip en RaspberryPi como servicio –> link