
En este articulo vamos a crear una red vpn con Wireguard en imagen enigma2 OpenATV. Wireguard esta disponible en Openatv para su instalación desde hace unos meses.
Una VPN (Virtual Private Network) o en nuestro idioma Red Privada Virtual es una tecnología que nos permite crear un túnel virtual que emula una conexión directa a nuestro router aunque nos encontremos a kilómetros de distancia. Es decir nos permite conectarnos desde fuera de red a nuestro receptor como si estuviéramos en nuestra red.
Esta conexión pues nos permitirá de una manera cifrada conectarnos a nuestro receptor como si estuviéramos en nuestra red para por ejemplo:
- Realizar streaming
- ftp
- sftp
- telnet
- ssh
Instalación de Wireguard
Openatv en sus repositorios han incluido todo lo necesario para su instalacion, por lo que vamos a ver como realizar la misma para ello accedemos por terminal y ejecutamos los siguientes comandos:
opkg update
opkg install wireguard-tools
opkg install wireguard-tools-bash-completion
Generar Claves
Una vez realizada la instalacion de wireguard en primer lugar vamos a generar claves para el servidor y para un cliente para ello ejecutaremos los siguientes comandos:
1. En primer lugar nos debemos situar en el directorio de wireguard para ello ejecutamos:
cd /etc/wireguard
2. Damos permiso al directorio
umask 077
3. Ahora generamos claves
wg genkey > server_private_key
wg pubkey > server_public_key < server_private_key
wg genkey > jungle_private_key
wg pubkey > jungle_public_key < jungle_private_key
Ahora con el comando siguiente podemos ver que se nos han creado los 4 archivos:
ls
Con un editor de textos podemos abrir cada archivo para ver su contenido, donde observaremos que cada archivo tendra una key por ejemplo:
server_private_key: 11111111
server_public_key:2222222
jungle_private_key:3333333
jungle_public_key:444444444
Configurar Servidor Wireguard en OpenATV
Ahora vamos a realizar la configuracion del servidor Wireguard en OpenATV para ello vamos a realizar los siguientes pasos.
1. Creamos un archivo llamado por ejemplo jungleserver.conf en /etc/wireguard con el siguiente contenido:
[Interface] Address = 123.123.123.1/24ListenPort = 3129
PrivateKey = 1111111 [Peer] PublicKey = 4444444
AllowedIPs = 123.123.123.2/32
- [Interface]: principio de los parametros de la interfaz servidor
- Address: Esta es la dirección IP virtual que tendrá el servidor VPN,nos la podemos inventar, pero de acuerdo a las reglas de las ips.
- ListenPort: Es el puerto que utilizará el servidor, el puerto que pongamos lo debemos redireccionar en nuestro router a la ip del receptor
- PrivateKey: es la clave privada del servidor que creamos antes.
- [Peer]: principio de los parametros para cliente
- PublicKey: Aquí va la clave pública del cliente que hemos generado antes.
- AllowedIPs: Esta es la dirección IP virtual que tendrá el cliente, repetando las normas de creacion ip y en concordancia con la dirección IP virtual que le hemos puesto al servidor.
Activación del Servidor
Una vez hemos creado el archivo de configuración del servidor Wireguard en OpenATV, ahora vamos a iniciarlo, para ello por terminal ejecutamos el comando:
wg-quick up jungleserver
Nota: Si al ejecutar el comando nos da el siguiente error de /dev
Ejecutaremos este comando y a continuacion volveremos a ejecutar el up
ln -s /proc/self/fd /dev/fd
Si todo va bien se mostrara:
En el caso que deseemos desactivarlo usaremos:
wg-quick down jungleserver
Para comprobar que todo es correcto podemos ejecutar el comando:
wg show
Si ejecutamos ifconfig observaremos que se nos ha creado una nueva red
Configurar un cliente
Ahora vamos a ver como crear un cliente, para ello en el directorio /etc/wireguard creamos un archivo en este ejemplo llamado jungle.conf de la siguiente manera:
[Interface] Address = 123.123.123.2/32PrivateKey = 33333333
DNS = 8.8.8.8 [Peer] PublicKey = 22222222222
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = ippublica o dominio:3129
- [Interface]: Inicio parametros cliente
- Address: Aquí irá la dirección IP del cliente que permitimos en la sección AllowedIPs del archivo wg0.conf
- PrivateKey: Aquí debe ir la clave privada del cliente que se halla en el archivo (client_private_key).
- DNS: Aquí ponemos la dirección del servidor DNS que prefiramos usar.
- [Peer]: Se inicia la parte de configuración del cliente referenciando al Servidor Wireguard.
- PublicKey: Aquí ponemos la clave pública del servidor que está en el archivo «server_public_key».
- AllowedIPs: Podemos las direcciones IP que están ahí para permitir que todo tráfico pueda fluir por nuestro móvil.
- Endpoint: Aquí debemos poner nuestra ip publica o host dns y el puerto que hemos redireccionado en nuestro router.
Tras la creacion del archivo ahora desactivamos y activamos wireguard como vimos en la creacion del servidor.
Creacion de codigo QR
Para facilitar la creacion de los datos cliente en nuestro movil por ejemplo, tenemos la posibilidad de crear un codigo QR que tras instalar wireguard en nuestro movil podemo realizar la conexion leyendo dicho codigo QR.
Para ellos vamos a realizar los siguientes pasos:
1. Nos descargamos el siguiente archivo:
2. Lo descomprimimos en nuestro Pc e introducimos los archivos en nuestro receptor de la siguiente manera:
qrencode —- en /usr/bin
libpng12.so.0.50.0 —- en /usr/lib
libqrencode.so.3.4.3 —- en /usr/lib
3. Ahora ejecutamos los siguientes comandos:
chmod 777 /usr/bin/qrencode
ln -s /usr/lib/libqrencode.so.3.4.3 /usr/lib/libqrencode.so.3
ln -s /usr/lib/libpng12.so.0.50.0 /usr/lib/libpng12.so.0
Y ya podemos crear el codigo QR para ello ejecutamos el siguiente comando estando situados en etc/wireguard
qrencode -t ANSIUTF8 < jungle.conf
Y ya lo tenemos todo listo
Realizar conexion desde el movil
Tras instalar wireguard en nuestro movil, vamos a ver que facil es establecer la conexion, para ello pulsamos en + para añadir una nueva
Ahora seleccionamos a traves de codigo QR
Ahora escanemos el codigo QR generado
a continuacion podemos poner un nombre a la conexion
Y ya podemos acceder a nuestro receptor como si estuviéramos en nuestra misma red.
How to activate the client itself? I have a server wireguard on VPS. I have a configuration file, or should I just do patch two with adding a client?
For activating a client you have two ways: 1. Scan the QR code, 2. copy the configuration file
but I want the decoder to be a client not a server.
I have the configuration file from my VPS server.
Copy the conf file of your peer into /etc/wireguard/wg0.conf and wg-quick up wg0
wireguard client is no ok enigma2
why??
it’s working with enigma 2, the only problem is that when I turn the box off and on again, the plugin is not active, I have to go back to activating it when finished, some way for it to be active even when we turn the box off and turn it back on ?