Linux

Cómo configurar WireGuard VPN en Debian 10

Cómo configurar WireGuard VPN en Debian 10

WireGuard es una VPN (red privada virtual) de uso general que utiliza criptografía de última generación. En comparación con otras soluciones VPN populares, como IPsec y OpenVPN, WireGuard es generalmente más rápido, más fácil de configurar y ocupa menos espacio. Es multiplataforma y puede ejecutarse en casi cualquier lugar, incluidos Linux, Windows, Android y macOS.

Wireguard es una VPN de igual a igual; no usa el modelo cliente-servidor. Dependiendo de la configuración, un par puede actuar como un servidor o cliente tradicional. Funciona mediante la creación de una interfaz de red en cada dispositivo del mismo nivel que actúa como un túnel. Los pares se autentican entre sí intercambiando y validando claves públicas, imitando el modelo SSH. Las claves públicas se asignan con una lista de direcciones IP que están permitidas en el túnel. El tráfico de VPN está encapsulado en UDP.

Este artículo explica cómo instalar y configurar WireGuard en Debian 10 que actuará como un servidor VPN. También le mostraremos cómo configurar WireGuard como cliente en Linux, Windows y macOS. El tráfico del cliente se enrutará a través del servidor Debian 10.

Esta configuración se puede utilizar como protección contra los ataques de Man in the Middle, navegar por la web de forma anónima, eludir el contenido restringido geográficamente o permitir que sus colegas que trabajan desde casa se conecten a la red de la empresa de forma segura.

Requisitos previos #

Para seguir esta guía, necesitará una máquina con Debian 10 instalado. También necesita root o [acceso sudo] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / para instalar paquetes y realizar cambios en el sistema.

Configuración del servidor WireGuard #

Comenzaremos instalando el paquete WireGuard en la máquina Debian y lo configuraremos para que actúe como servidor. También configuraremos el sistema para enrutar el tráfico de los clientes a través de él.

Instale WireGuard en Debian 10 #

WireGuard está disponible en los repositorios de backports de Debian. Para agregar el repositorio a su sistema, ejecute:

echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.lista.d / buster-backports.lista

Una vez que el repositorio esté habilitado, actualice el caché de apt e instale el módulo y las herramientas de WireGuard:

actualización de sudo aptsudo apt instalar wireguard
WireGuard se ejecuta como un módulo del kernel.

Configuración de WireGuard #

Puede configurar y administrar las interfaces WireGuard con el wg y wg-quick herramientas de línea de comandos.

Cada dispositivo de la red WireGuard VPN debe tener una clave pública y privada. Ejecute el siguiente comando para generar el par de claves:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Los archivos se generan en el / etc / wireguard directorio. Utilizar el gato o menos comandos para ver el contenido de los archivos. La clave privada nunca debe compartirse con nadie y siempre debe mantenerse segura.

Wireguard también admite una clave previamente compartida, que agrega una capa adicional de criptografía de clave simétrica. Esta clave es opcional y debe ser única para cada par de pares.

El siguiente paso es configurar el dispositivo de túnel que enrutará el tráfico VPN.

El dispositivo se puede configurar desde la línea de comando usando el ip y wg comandos, o creando manualmente el archivo de configuración. Crearemos la configuración con un editor de texto.

Abra su editor y cree un nuevo archivo llamado wg0.conf con el siguiente contenido:

sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf
[Interfaz] Dirección = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i% i -j ACEPTAR; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE 

Puedes nombrar la interfaz como quieras. Sin embargo, se recomienda utilizar algo como wg0 o wgvpn0.

Los ajustes en la sección de interfaz tienen el siguiente significado:

La wg0.conf y llave privada los archivos no deben ser legibles para los usuarios normales. Usar chmod para configurar los permisos de los archivos a 600:

sudo chmod 600 / etc / wireguard / clave privada, wg0.conf

Una vez hecho esto, trae el wg0 interfaz usando los atributos especificados en el archivo de configuración:

sudo wg-quick up wg0

La salida se verá así:

[#] enlace ip agregar wg0 tipo wireguard [#] wg setconf wg0 / dev / fd / 63 [#] dirección ip -4 agregar 10.0.0.1/24 dev wg0 [#] conjunto de enlaces ip mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

Para verificar el estado y la configuración de la interfaz, ejecute:

sudo wg show wg0
interfaz: wg0 clave pública: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = clave privada: puerto de escucha (oculto): 51820 

También puede verificar el estado de la interfaz con ip un show wg0:

ip un show wg0
4: wg0:  mtu 1420 qdisc noqueue state UNKNOWN grupo predeterminado qlen 1000 link / none inet 10.0.0.1/24 alcance global wg0 valid_lft forever preferencia_lft forever 

WireGuard se puede administrar con Systemd. Para traer la interfaz WireGuard en el momento del arranque, ejecute el siguiente comando:

sudo systemctl habilitar wg-quick @ wg0

Configuración de firewall y redes del servidor #

El reenvío de IP debe estar habilitado para que NAT funcione. Abre el / etc / sysctl.conf file y agregue o descomente la siguiente línea:

sudo nano / etc / sysctl.conf
/ etc / sysctl.conf
neto.ipv4.ip_forward = 1

Guarde el archivo y aplique el cambio:

sudo sysctl -p
neto.ipv4.ip_forward = 1 

Si está utilizando UFW para administrar su firewall, necesita abrir el tráfico UDP en el puerto 51820:

sudo ufw permite 51820 / udp

Eso es. Se ha configurado el par de Debian que actuará como servidor.

Configuración de clientes Linux y macOS #

Las instrucciones de instalación para todas las plataformas compatibles están disponibles en https: // wireguard.com / install / . En sistemas Linux, puede instalar el paquete utilizando el administrador de paquetes de distribución y en macOS con elaborar cerveza.

Una vez instalado, siga los pasos a continuación para configurar el dispositivo cliente.

El proceso para configurar un cliente de Linux y macOS es prácticamente el mismo que hizo para el servidor. Primero, genere las claves públicas y privadas:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Crea el archivo wg0.conf y agregue los siguientes contenidos:

sudo nano / etc / wireguard / wg0.conf
/ etc / wireguard / wg0.conf
[Interfaz] PrivateKey = CLIENT_PRIVATE_KEY Dirección = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 IP permitidas = 0.0.0.0/0 

La configuración en la sección de interfaz tiene el mismo significado que al configurar el servidor:

La sección de pares contiene los siguientes campos:

Si necesita configurar clientes adicionales, simplemente repita los mismos pasos utilizando una dirección IP privada diferente.

Configuración de clientes de Windows #

Descargue e instale el paquete msi de Windows desde el sitio web de WireGuard .

Una vez instalada, abra la aplicación WireGuard y haga clic en "Agregar túnel" -> "Agregar túnel vacío ..." como se muestra en la imagen a continuación:

Se crea automáticamente un par de claves públicas y se muestra en la pantalla.

Ingrese un nombre para el túnel y edite la configuración de la siguiente manera:

[Interfaz] PrivateKey = CLIENT_PRIVATE_KEY Dirección = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 IP permitidas = 0.0.0.0/0 

En la sección de interfaz, agregue una nueva línea para definir la dirección del túnel del cliente.

En la sección de pares, agregue los siguientes campos:

Una vez hecho esto, haga clic en el botón "Guardar".

Agregue el cliente par al servidor #

El último paso es agregar la clave pública y la dirección IP del cliente al servidor. Para hacer eso, ejecute el siguiente comando en el servidor Debian:

sudo wg set wg0 par CLIENT_PUBLIC_KEY permitido-ips 10.0.0.2

Asegúrese de cambiar el CLIENT_PUBLIC_KEY con la clave pública que generó en la máquina cliente (sudo cat / etc / wireguard / publickey) y ajuste la dirección IP del cliente si es diferente. Los usuarios de Windows pueden copiar la clave pública de la aplicación WireGuard.

Una vez hecho esto, regrese a la máquina cliente y abra la interfaz de tunelización.

Clientes Linux y macOS #

Ejecute el siguiente comando para abrir la interfaz:

sudo wg-quick up wg0

Ahora debería estar conectado al servidor Debian, y el tráfico de su máquina cliente debería enrutarse a través de él. Puedes comprobar la conexión con:

sudo wg
interfaz: wg0 clave pública: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = clave privada: (oculta) puerto de escucha: 53527 fwmark: 0xca6c par: r3imyh3MCYggaZACmkx + CxlD6u = punto final +8peC.XXX.XXX.XXX: 51820 ips permitidos: 0.0.0.0/0 último apretón de manos: hace 53 segundos transferencia: 3.23 KiB recibidos, 3.50 KiB enviados 

También puede abrir su navegador, escribir "cuál es mi ip", y debería ver la dirección IP de su servidor Debian.

Para detener la excavación, baje el wg0 interfaz:

sudo wg-quick down wg0

Clientes de Windows #

Si instaló WireGuard en Windows, haga clic en el botón "Activar". Una vez que los pares están conectados, el estado del túnel cambiará a Activo:

Conclusión #

Le hemos mostrado cómo instalar WireGuard en Debian 10 y configurarlo como un servidor VPN. Esta configuración le permite navegar por la web de forma anónima manteniendo la privacidad de sus datos de tráfico.

Si tiene algún problema, no dude en dejar un comentario.

5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...
Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...
Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...