

OpenVpn instalado en nuestros receptores enigma2 nos permitirá acceder a nuestro receptor desde fuera de nuestra red de una forma segura y del mismo modo acceder a todos los protocolos de red (ftp, sftp, streaming, telnet, ssh, web), a través de un único puerto abierto en nuestro router, por lo que vamos a tener las siguientes ventajas:
- La conexion es segura ya que el trafico ira cifrado a traves de un tunel receptor-Dispositivo.
- La autentificacion para acceder al receptor se realiza mediante certificados que debe tener el dispositivo cliente y que han sido creados en nuestro receptor
- Todo tipo de protocolos permitidos por nuestro receptor se harán a traves de un solo puerto.
Es decir podria ser la conexion mas segura y recomendada para el acceso a nuestro receptor desde fuera de nuestra red, que es lo que vamos a aprender a realizar a continuacion.
Crear host con DuckDNS
Al acceder desde fuera de nuestra red, aunque lo podemos realizar desde nuestra ip publica, normalmente nos vamos a encontrar en la mayoria de los casos que nuestra ip es dinamica, es decir no es fija, por lo que puede cambiar, para solucionar este problema lo primero que vamos a realizar es crearnos un host, en este caso lo vamos a realizar con duckDNS.
Accedemos a la web de duckDNS https://www.duckdns.org/ y nos registramos en ella.
- Una vez realizado el registro simplemente en add dominio escribimos el dominio que deseamos usar
Y pulsamos una vez introducido el dominio a usar en add domain y con esto hemos terminado, ya tendriamos nuestro dominio, que en este ejemplo seria jungle-team.duckdns.org.
Pues a partir de ahora en vez de usar la ip publica para conectarnos a nuestro receptor, lo vamos a realizar con el host creado.
Actualizar host con Inadyn
Si nuestra ip publica cambia debemos asignar a nuestro host creado la nueva ip, para hacer este proceso de manera automática lo vamos a realizar con el programa inadyn instalado en nuestros receptores.
En este ejemplo vamos a instalar inadyn en nuestro receptor (puede variar dependiendo la imagen usada)
opkg install inadyn-mt
Una vez hemos instalado inadyn pues debemos instroducir en el archivo /etc/inadyn.conf los datos de acceso a nuestro host que hemos creado, para ello abrimos el archivo, borramos todo el contenido y pegamos lo siguiente:
–username nouser
–password xxx
–update_period 60000
–forced_update_period 320000
–alias yyy
–verbose 5
–dyndns_server_url /nic/?
–syslog
–background
xxx: Sustituir por vuestro token de ducks
yyy: Sustituir por vuestro host creado en duck
Una vez editado el archivo y guardado simplemente reiniciamos el servicio inadyn, para ello en este ejemplo ejecutariamos
/etc/init.d/inadyn-mt restart
Creacion de servidor OPENVPN
Ahora vamos a ver como crear nuestro servidor openvpn en nuestro receptor enigma2.
Instalacion de openvpn
La instalacion dependera de la imagen que tengamos instalada, pero lo mas habitual, es poder instalar el servicio ejecutando:
opkg update
opkg install openvpn
Crear Certificados conexion openvpn
Tras instalar openvpn, ahora vamos a ver como crear los certificados de conexion del servidor y cliente para poder realizar la conexion, para ello vamos a realizar los siguientes pasos:
Paso 1: En primer lugar creamos la carpeta openvpn en el directorio /etc del receptor
mkir /etc/openvpn
Paso 2: Una vez creada nos situamos en la misma
cd /etc/openvpn
Paso 3: Ahora nos descargamos el source easy-rsa necesario para la creacion de certificados digitales
wget http://build.openvpn.net/downloads/releases/easy-rsa-2.3.3_master.tar.gz
paso 4: Una vez descargado lo descomprimimos
tar -xvf easy-rsa-2.3.3_master.tar.gz
Paso 5: Ahora nos situamos en el directorio creado al descomprimir
cd /etc/openvpn/easy-rsa-2.3.3_master/easy-rsa/2.0
Paso 6: Ahora damos permisos de ejecucion a los archivos que hay en el directorio
chmod 777 *
Paso 7: Ahora ejecutamos
source ./vars
Paso 8: Ahora ejecutamos:
./clean-all
Paso 9: Ahora creamos el certificado de autorización para ello ejecutamos
./build-ca
Y debemos a continuacion ir escribiendo los datos solicitados, por ejemplo:
- Country name: pues debemos poner el codigo del pais (dos letras) en este caso para españa ES
- State or province name: nuestra provincia
- Locality name: Nuestra localidad
- Organizacion name: Podemos poner el nombre a nuestra organizacion
- Organizational unit name: Podemos añadir otro nombre a la organizacion
- Common name: Añadimos un nombre reconocible para nuestro servidor
- name: Podemos asignar un nombre
- Para terminar podemos asignar un correo electronico
Paso 10: Ahora creamos los certificados para nuestro servidor:
./build-key-server server
Ahora podemos poner los mismos datos que pusimos al crear el certificado de autorizacion, hasta llegar a la siguiente opcion que nos aparecera:
- Opcional, podemos introducir pass de acceso o no:
- Para finalizar en las siguientes dos opciones introducimos «y»
Paso 11: Ahora para finalizar vamos a crear los certificados para un cliente, si por ejemplo queremos crear para un cliente llamado lucas (que nos servirá en caso de crear varios clientes identificar las conexiones)
./build-key lucas
Las primeras opciones pues como en los casos anteriores introducimos datos identificativos del cliente, y una vez introducidos en las ultimas opciones introducimos y
Paso 12: Para finalizar generamos los parametros diffie-hellman
./build-dh
Paso 13: Para terminar borramos el archivo easy-rsa tar.gz que descarguemos
rm -r /etc/openvpn/easy-rsa-2.3.3_master.tar.gz
Configurar servidor openvpn en Receptor Enigma2
Paso 1: Creamos una carpeta donde vamos a introducir los certificados creados correspondientes al servidor
mkdir /etc/openvpn/serverkeys
Paso 2: Una vez creada la carpeta donde introduciremos los certificados del servidor movemos los certificados a la carpeta creada
cd /etc/openvpn/easy-rsa-2.3.3_master/easy-rsa/2.0/keys
Una vez situados en el directorio movemos los certificados correspondientes al servidor
mv ca.crt server.crt server.key dh2048.pem /etc/openvpn/serverkeys/
Paso 3: Nos descargamos el archivo en nuestro pc lo descomprimimos y lo introducimos en el directorio /etc/openvpn de nuestro receptor
Paso 4: Ahora abrimos el archivo server.conf y vamos hacer un recorrido por los datos mas basicos que podemos configurar:
Puerto de acceso a openvpn, podemos cambiar por otro y es el que tendremos que abrir en nuestro router
Directorio en nuestro receptor donde introdujimos los certificados del servidor
cert /etc/openvpn/serverkeys/server.crt
key /etc/openvpn/serverkeys/server.key
dh /etc/openvpn/serverkeys/dh2048.pem
Editaremos según la ip de nuestro receptor
/etc/init.d/openvpn restart
Si todo fue bien, pues el log de arranque correcto nos apareceria:
Nota: Necesitaremos abrir el puerto 1194 en este ejemplo en nuestro router a la ip del receptor.
Creacion de cliente Openvpn
Una vez que ya tenemos activado nuestro servidor en nuestro receptor enigma2, ahora vamos a ver como configurar los clientes en diferentes dispositivos.
Paso 1: Accedemos al receptor al directorio /etc/openvpn/easy-rsa-2.3.3_master/easy-rsa/2.0/keys y copiamos los archivos siguientes a nuestro pc:
- ca.crt (se hallara en el directorio /etc/openvpn/serverkeys)
- cliente creado.crt en este ejemplo lucas.crt
- cliente creado.key en este ejemplo lucas.key
Paso 2: Nos descargamos el archivo client.ovpn que sera valido tanto para linux, windows, android, mac….
Paso 3: Descomprimimos el archivo en nuestro pc y obtendremos un archivo llamado client.ovpn lo abrimos con un editor de textos y realizamos los siguientes cambios:
Sustituimos 192.168.1.44 por el host que creemos en ducksdns y el puerto 1194 lo cambiamos en caso haberlo cambiado en el servidor.
Buscamos el tag xx y sustitumos las xx por el contenido del archivo ca.crt
Buscamos el tag yy y sustituimos las yy por el contenido del archivo lucas.crt (en vuestro caso el nombre cliente creado.
Buscamos el tag zz y sustituimos las zz por el contenido del archivo lucas.key (en vuestro caso el nombre cliente creado.
Y este seria el archivo a compartir con nuestro cliente.
Acceder a traves de sistema operativo Linux
Paso 1: Introducimos el archivo client.ovpn en nuestro pc en el directorio /etc/openvpn
Paso 2: Ejecutamos el siguiente comando para realizar la conexion:
sudo openvpn /etc/openvpn/client.ovpn
Mi idea seria tener el openvpn server en un vps y el deco como cliente openvpn pero no tengo muy claro como configurar el cliente en enigma2.
Te descargas el .conf del server y se lo enchufas al deco