VPN en cada hogar o cómo domar al Dragón

A continuación, hablaré sobre cómo reemplazar su proveedor de VPN con su propio servidor implementado en DigitalOcean utilizando WireGuard.


¿Cuál es el principal problema de los proveedores de VPN? No sabes lo que hacen con tus datos.
Muy pocos proveedores de VPN aprobaron auditorías de terceros y casi ninguno de ellos abrió su código.
Incluso en el caso del código fuente abierto y la auditoría aprobada, para las personas paranoicas la pregunta de qué está sucediendo del lado del proveedor permanece abierta.


La solución es bastante simple: implemente su nodo VPN.


Quiero hacerlo simple


Hay muchos artículos en la red sobre cómo configurar WireGuard, estos son algunos de ellos:



Pero, ¿qué pasa si solo quiero instalar WireGuard, sin estudiar a fondo la documentación?
Solo quiero la forma más fácil y rápida de implementar un servidor VPN y comenzar a usarlo.


Todo lo que necesito de la infraestructura:


  • 1 servidor
  • 5-10 clientes para mí y mis seres queridos

A continuación hay una instrucción sobre cómo hacer esto rápida y fácilmente.


Crea una gota


Primero debe crear una nueva gota en DigitalOcean: https://www.digitalocean.com/docs/droplets/how-to/create/


El c Ubuntu 18.04 más fácil me conviene, que cuesta $ 5 por mes.


No olvide agregar su clave SSH para tener acceso a la gotita: https://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/


Observación DigitalOcean no es la única opción. Puede elegir cualquier servicio en la nube a su gusto.


Instale el servidor WireGuard y cree todas las configuraciones requeridas


Para crear todas las configuraciones necesarias automáticamente, puede usar el script: wg-ububtu-server-up.sh , que:


  • instalar todo el software necesario
  • configurar las reglas de iptables y habilitar el reenvío de IPv4
  • instalar sin consolidar como dns resolver
  • creará una configuración de servidor y el número requerido de configuraciones de cliente
  • lanzará WireGuard

Establezca una conexión con el droplet a través de SSH y ejecute los siguientes comandos para descargar y ejecutar el script (use la dirección IP de su droplet en lugar de xxx.xxx.x.xx):


ssh root@xxx.xxx.x.xx wget https://raw.githubusercontent.com/drew2a/wireguard/master/wg-ububtu-server-up.sh chmod +x ./wg-ububtu-server-up.sh ./wg-ububtu-server-up.sh 10 #  10  " 10  " 

Después de ejecutar el script, el servidor WireGuard estará instalado, en ejecución y listo para trabajar con los clientes.


Una señal de que WireGuard se inicia correctamente es que después de ejecutar el script, debería ver algo similar a la consola:


 interface: wg0 public key: +xxxEjj1qmxxxotq4OxxxfHPaxxxtre5xxxxOfxxw= private key: (hidden) listening port: 51820 peer: d1exxxLdCZcYxxxIQ0xxxxK/Wpx8G1N8xxvnUrxxxx= allowed ips: 10.0.0.2/32 peer: fWExxxazRxxxUOxxxx4JKgUTxxo9LaxxxxOGWtxxK0w= allowed ips: 10.0.0.3/32 ... peer: RbmxxxDxOoXMxxxcyate6xxxinIClxxDgRDxxxx0j0= allowed ips: 10.0.0.10/32 

El script también creará 10 configuraciones de cliente [ client1.conf ... client10.conf ], que puede usar una configuración para un dispositivo (a la vez).


Las configuraciones están en la gotita, en la carpeta: $ HOME / wireguard /


Observación Puede configurar WireGuard manualmente, sin utilizar un script, pero luego no se ajusta a la definición de "rápido" y "sin un estudio profundo de la documentación". En el próximo artículo, si hay interés en esto, hablaré sobre lo que sucede dentro de los guiones de magia.


Observación 2. Puede notar razonablemente que es aún más fácil usar una imagen ya preparada en el mismo DO y no ejecutar ningún script. Estoy de acuerdo, pero llamaré su atención sobre el hecho de que en las secuencias de comandos propuestas solo hay 100 líneas de código y es fácil verificar que no haya delito en ellas. En la imagen final, esto es más difícil de hacer.


Observación 3. El comando para establecer una conexión con el droplet ( ssh ) funciona en sistemas operativos tipo * nix. Si tiene Windows, use winscp , PuTTY u otra aplicación similar.


Instalar el cliente de escritorio


Descargue la aplicación de escritorio WireGuard desde https://www.wireguard.com/install/ e instálela.


Descargue la configuración del cliente (supongamos que desea usar la configuración client1.conf ) de su droplet (use la dirección IP de su droplet en lugar de xxx.xxx.x.xx):


 scp root@xxx.xxx.x.xx:"~/wireguard/client1.conf" ~/Desktop/ 

Inicie la versión de escritorio de WireGuard e importe el túnel desde la configuración del cliente descargada ( client1.conf ).


Observación El comando de descarga ( scp ) funciona en sistemas operativos * nix-like. Si tiene Windows, use winscp u otra aplicación similar.


Observación 2. También puede usar la versión WireGuard sin una GUI y usar las mismas configuraciones de cliente.


Instalar cliente para teléfono móvil


Instale la aplicación WireGuard a través de AppStore o PlayMarket.


Ejecútelo e importe el túnel VPN a través del código QR.


Cómo obtener un código QR


Puede generar un código QR conectándose a la gotita (use la dirección IP de su gotita, en lugar de xxx.xxx.x.xx) y ejecute el comando (en caso de que use la configuración del cliente client2.conf ):


 ssh root@xxx.xxx.x.xx qrencode -t ansiutf8 < ~/wireguard/client2.conf 

Gracias

Source: https://habr.com/ru/post/474250/


All Articles