GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar WireGuard VPN en Ubuntu (una guía paso a paso)

Este tutorial le mostrará cómo configurar su servidor VPN WireGuard en  Ubuntu  en pasos fáciles de seguir.

Índice

  • Paso 1:habilite el reenvío de IP en el servidor
  • Paso 2:Instale WireGuard en Ubuntu
  • Paso 3:configurar el servidor VPN WireGuard en Ubuntu
    • Paso 3.1:generar un par de claves pública/privada
    • Paso 3.2:Configurar dispositivo de túnel
  • Paso 4:habilite e inicie el servicio VPN de WireGuard
  • Paso 5:Instalar y configurar el cliente WireGuard
  • Paso 6:Conexión del cliente WireGuard al servidor
  • Conclusión

WireGuard es un servidor VPN de código abierto, gratuito y rápido que utiliza criptografía de última generación. Pasa el tráfico a través de UDP con mejor rendimiento que los dos protocolos de tunelización típicos, es decir, OpenVPN e IPsec.

WireGuard es una VPN peer-to-peer creada explícitamente para el kernel de Linux. Se ejecuta dentro del kernel de Linux y le permite crear un túnel VPN rápido, moderno y seguro.

WireGuard 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.

Paso 1:habilite el reenvío de IP en el servidor

Para que el servidor VPN enrute paquetes entre clientes VPN e Internet, debe habilitar el reenvío de IP. Abra el /etc/sysctl.conf archivo usando tu editor preferido:

sudo vim /etc/sysctl.conf

Comentar (quitar el # carácter anterior) la siguiente línea:

Guarde el archivo y aplique el cambio:

sudo sysctl -p

Paso 2:Instalar WireGuard en Ubuntu

El siguiente paso en este tutorial es instalar WireGuard en su máquina Ubuntu y configurarlo para que actúe como servidor. De forma predeterminada, el paquete WireGuard está disponible en el repositorio predeterminado de Ubuntu.

sudo apt install wireguard

Una vez que se haya instalado el paquete WireGuard, puede continuar con el siguiente paso.

Paso 3:Configure el servidor WireGuard VPN en Ubuntu

WireGuard funciona mediante el intercambio de claves públicas entre cada dispositivo de la red WireGuard. Ahora que ha instalado WireGuard, el siguiente paso es generar un par de claves pública y privada para el servidor.

Paso 3.1:generar un par de claves pública/privada

Ejecute el siguiente comando para crear un par de claves pública/privada. Los archivos se guardarán en /etc/wireguard/ directorio.

wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key

El wg El comando es la utilidad de configuración integrada de WireGuard para obtener y configurar las configuraciones de WireGuard. Cuando ejecute el comando, recibirá una sola línea de salida codificada en base64, la clave pública (server_public.key ) para su servidor WireGuard.

Recuerda, la clave privada (server_private.key ) nunca debe compartirse con nadie y siempre debe mantenerse seguro.

Paso 3.2:Configurar dispositivo de túnel

A continuación, deberá crear una interfaz de red para WireGuard. Utilice un editor de texto de línea de comandos como vim para crear un archivo de configuración de WireGuard. El nombre de la interfaz de red será wg0 .

sudo vim /etc/wireguard/wg0.conf

Agregue los contenidos que se indican a continuación:

[Interface]
## Private IP address for the wg0 interface ##
Address = 10.0.0.1/24

## VPN server listening port ##
ListenPort = 51820

## VPN server private key ##
PrivateKey = mPIoWfKQWZP8lie2ISEZ6ul7vyESH9MqpFvxk1cxIWQ=

## Firewall rules ##
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp1s0 -j MASQUERADE

Por supuesto, debe reemplazar la PrivateKey con el contenido del que generaste, almacenado en el /etc/wireguard/server_private.key archivo.

Puede mostrar el contenido de la clave privada con el siguiente comando:

sudo cat /etc/wireguard/server_private.key

Asegúrate de reemplazar enp1s0 después de -A POSTROUTING -o ... para que coincida con el nombre de su interfaz de red pública. Puedes encontrarlo fácilmente con:

ip -o -4 route show to default | awk '{print $5}'

Guarde y cierre el wg0.conf expediente. Además, cambie el modo de permiso de archivo para que solo el usuario root pueda leer los archivos.

sudo chmod -R 600 /etc/wireguard/

Paso 4:habilitar e iniciar el servicio WireGuard VPN

Ejecute el siguiente comando en el servidor para habilitar el inicio automático en el momento del arranque del sistema e inicie WireGuard.

sudo systemctl enable [email protected]
sudo systemctl start [email protected]

Verifique su estado con el siguiente comando. Debería ver active en la salida:

sudo systemctl status [email protected]

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

sudo wg show wg0

Paso 5:Instalar y configurar el cliente WireGuard

Primero, deberá instalar el paquete WireGuard en la máquina cliente. Es similar a configurar el servidor WireGuard.

sudo apt install wireguard

A continuación, deberá generar un par de claves pública/privada en el par siguiendo los pasos exactos que usó en el servidor.

wg genkey | sudo tee /etc/wireguard/client_private.key | wg pubkey | sudo tee /etc/wireguard/client_public.key

Abra un nuevo /etc/wireguard/wg0.conf archivo en la máquina cliente de WireGuard usando su editor preferido:

sudo vim /etc/wireguard/wg0.conf

Agregue las siguientes líneas al archivo:

[Interface]
## VPN client private IP address ##
Address = 10.0.0.2/24

## VPN client private key ##
PrivateKey = 0COkq1GMM86CmlF5blPFDYhU84iTX8iJ7lWoC1gLfnk=

[Peer]
## VPN server public key ##
PublicKey = ZnD/WMx0kasJfGjFf0/uCtJoFbz0oNdq7EcieHXVaSc=

## VPN server public IP address and port ##
Endpoint = 192.168.122.101:51820

## Route all the traffic through the VPN tunnel ##
AllowedIPs = 0.0.0.0/0

## Key connection alive ##
PersistentKeepalive = 15

Reemplace la PrivateKey con el contenido del que generaste, almacenado en el /etc/wireguard/client_private.key archivo en la máquina cliente.

sudo cat /etc/wireguard/client_private.key

Reemplace la clave pública del servidor, que se puede encontrar en /etc/wireguard/server_public.key archivo en el servidor.

Reemplace el Endpoint valor (192.168.122.101:51820 ) con la dirección IP pública real y el puerto de su servidor.

Finalmente, guarde y cierre el archivo.

Debe configurar la opción VPN del lado del servidor para permitir una conexión entre la computadora cliente (par) y el servidor. Entonces, regrese al servidor y edite el /etc/wireguard/wg0.conf archivo para agregar la información del cliente de la siguiente manera:

sudo vim /etc/wireguard/wg0.conf
[Peer]
## Client public key ##
PublicKey = 6FLtyfBQie9+EB3QYF55CR1FASca7vVYPReynlEccAo=

## Client IP address ##
AllowedIPs = 10.0.0.2/24

Reemplace la PublicKey con el contenido del archivo almacenado en /etc/wireguard/client_public.key archivo en la máquina cliente .

La versión final del archivo de configuración del servidor debería verse así:

Guarde el archivo y reinicie el servidor VPN para aplicar los cambios:

sudo systemctl restart [email protected]

Paso 6:Conexión del cliente WireGuard al servidor

Ejecute el siguiente comando en la máquina cliente para conectar el cliente VPN al servidor VPN:

sudo systemctl start [email protected]

Ahora debería estar conectado al servidor VPN de WireGuard y el tráfico de su máquina cliente debería enrutarse a través de él.

¡Eso es todo! Tanto el cliente como el servidor deben estar conectados de forma segura mediante una VPN WireGuard punto a punto en Ubuntu.

Para probar la conexión, regrese al cliente VPN y haga ping desde él (10.0.0.2 ) al servidor VPN (10.0.0.1 ) para ver si el túnel funciona.

ping -c 3 10.0.0.1

Además, puede comprobar la conexión con:

sudo wg

Para detener la tunelización, simplemente desactive el servicio en la máquina cliente:

sudo systemctl stop [email protected]

Conclusión

¡Felicidades! Espero que este tutorial le haya ayudado a instalar y configurar el servidor y el cliente VPN de WireGuard en Ubuntu. Esta configuración le permite navegar por la web de forma anónima manteniendo la privacidad de sus datos de tráfico.

Le sugiero enfáticamente que lea la documentación del proyecto WireGuard aquí.

Si esta publicación le resultó útil o si tiene algún problema, no dude en dejar un comentario.


Ubuntu
  1. Cómo configurar Wireguard VPN en CentOS 8

  2. Cómo configurar WireGuard VPN en Ubuntu 20.04

  3. Cómo configurar un servidor LAMP de Ubuntu/Debian

  4. Cómo actualizar Ubuntu 20.04 LTS a 22.04 LTS:una guía paso a paso

  5. Cómo instalar Ubuntu en VirtualBox:una guía paso a paso

Cómo configurar WireGuard VPN en Debian 10

Configurar un servidor VPN Linux usando OpenVPN – Guía paso a paso

Cómo configurar el servidor Pritunl VPN en Ubuntu 20.04

Cómo configurar el servidor de impresión CUPS en Ubuntu 20.04

Configure su propio servidor VPN WireGuard en Ubuntu 20.04/18.04

¿Cómo configurar un Pptp Vpn en el propio servidor Ubuntu?