GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar WireGuard VPN en Ubuntu 20.04

WireGuard es una red privada virtual de código abierto y centrada en la seguridad diseñada para la simplicidad y la facilidad de uso. Es compatible con diferentes sistemas operativos, incluidos Linux, macOS, Windows, BSD y Android. Es una VPN simple y de propósito general que se puede implementar fácilmente en dispositivos pequeños para servidores de alta gama. Es un servidor VPN punto a punto en lugar de un modelo cliente-servidor. Utiliza un mecanismo de intercambio de clave pública para autenticar al cliente.

Si está buscando una VPN liviana y rápida, WireGuard VPN es la mejor opción para usted. En este tutorial, le mostraremos cómo instalar el servidor y el cliente VPN de WireGuard en Ubuntu 20.04.

Requisitos

  • Dos servidores que ejecutan el servidor Ubuntu 20.04.
  • Se configura una contraseña raíz en ambos servidores.

Cómo empezar

Primero, se recomienda actualizar los paquetes de su sistema a la última versión. Puede actualizarlos con el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, deberá instalar Iptables en su sistema. Puede instalarlo con el siguiente comando:

apt-get install iptables-y

Una vez finalizada la instalación, puede continuar con el siguiente paso.

Instalar servidor VPN WireGuard

De forma predeterminada, el paquete WireGuard está disponible en el repositorio predeterminado de Ubuntu 20.04. Puede instalarlo ejecutando el siguiente comando:

apt-get install wireguard -y

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

Configurar servidor WireGuard

WireGuard funciona mediante el intercambio de claves públicas entre cada dispositivo de la red WireGuard. Por lo tanto, deberá crear una clave pública y privada en el servidor.

WireGuard proporciona la utilidad de línea de comandos wg y wg-quick para crear una clave y administrar las interfaces.

Puede crear tanto la clave pública como la privada con el siguiente comando:

wg genkey | camiseta /etc/wireguard/privatekey | pubkey wg | camiseta /etc/wireguard/publickey

Una vez creadas ambas claves, puede verificarlas con el siguiente comando:

ls /etc/wireguard

Debería ver el siguiente resultado:

clave privada clave pública

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

gato /etc/wireguard/privatekey

Debería ver el siguiente resultado:

4M1l65NIaoR2+fQ6xVnIdwj6iVjsSPDkEMuzVnbFh3A=

Puede mostrar el contenido de la clave pública con el siguiente comando:

gato /etc/wireguard/publickey

Debería ver el siguiente resultado:

00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=

A continuación, deberá crear una interfaz de red para WireGuard. Puedes crearlo con el siguiente comando:

nano /etc/wireguard/wg0.conf

Agregue las siguientes líneas:

[Interfaz]Dirección =10.0.0.1/24SaveConfig =trueListenPort =51820PrivateKey =server-private-keyPostUp =iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown =iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Guarde y cierre el archivo cuando haya terminado.

Dónde :

  • Dirección: Una dirección IP privada para la interfaz wg0.
  • Puerto de escucha: Especifique el puerto de escucha de WireGuard.
  • Clave privada: Una clave privada almacenada en el archivo /etc/wireguard/privatekey.
  • Publicar: Especifique el comando que permite que el tráfico abandone el servidor y otorga acceso a Internet a los clientes VPN. También reemplace eth0 con el nombre de su interfaz de red.

A continuación, establezca el permiso adecuado para la clave privada y el archivo wg0.

chmod 600 /etc/wireguard/{privatekey,wg0.conf}

A continuación, habilite la interfaz wg0 ejecutando el siguiente comando:

wg-acelerar wg0

Deberías obtener el siguiente resultado:

[#] ip link agregar wg0 type wireguard[#] wg setconf wg0 /dev/fd/63[#] ip -4 dirección agregar 10.0.0.1/24 dev wg0[#] ip link establecer mtu 1420 up dev wg0 [#] iptables -A ADELANTE -i wg0 -j ACEPTAR; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

También puede iniciar el servicio WireGuard usando systemd como se muestra a continuación:

systemctl start [correo electrónico protegido]

A continuación, habilite el servicio WireGuard para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl habilitar [email protected]

A continuación, verifique el estado del servicio WireGuard con el siguiente comando:

estado systemctl [correo electrónico protegido]

Deberías obtener el siguiente resultado:

? [email protected] - WireGuard a través de wg-quick(8) para wg0 Cargado:cargado (/lib/systemd/system/[email protected]; deshabilitado; valor preestablecido del proveedor:habilitado) Activo:activo (salido) desde el jueves 2020-12- 10 11:42:14 UTC; Hace 7 segundos Documentos:man:wg-quick(8) man:wg(8) https://www.wireguard.com/ https://www.wireguard.com/quickstart/ https://git.zx2c4.com/ wireguard-tools/about/src/man/wg-quick.8 https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8 Proceso:2173 ExecStart=/usr/bin/wg- quick up wg0 (código=salido, estado=0/ÉXITO) PID principal:2173 (código=salido, estado=0/ÉXITO) 10 de diciembre 11:42:14 ubuntu2004 systemd[1]:Inicio de WireGuard a través de wg-quick(8 ) para wg0... 10 de diciembre 11:42:14 ubuntu2004 wg-quick[2173]:[#] enlace IP agregar wg0 escriba wireguard10 de diciembre 11:42:14 ubuntu2004 wg-quick[2173]:[#] wg setconf wg0 /dev/fd/63Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] ip -4 dirección agregar 10.0.0.1/24 dev wg0Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[ #] ip link configurado mtu 1420 up dev wg0Dec 10 11:42:14 ubuntu2004 wg-quick[2173]:[#] iptables -A ADELANTE -i wg0 -j ACEPTAR; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEDec 10 11:42:14 ubuntu2004 systemd[1]:finalizó WireGuard a través de wg-quick(8) para wg0.

También puede verificar el estado de la interfaz wg0 con el siguiente comando:

wg mostrar wg0

Deberías obtener el siguiente resultado:

interfaz:wg0 clave pública:00Jsbppv/gVMy6oHMfFZ+T/eEFBAWVbiZo33HjQBSU4=clave privada:(oculto) puerto de escucha:51820

Puede obtener el estado de la dirección IP de la interfaz wg0 con el siguiente comando:

ip un show wg0

Deberías obtener el siguiente resultado:

13:wg0: mtu 1420 qdisc noqueue state DESCONOCIDO grupo predeterminado qlen 1000 enlace/ninguno inet 10.0.0.1/24 alcance global wg0 valid_lft forever prefer_lft forever

Una vez que haya terminado, puede continuar con el siguiente paso.

Habilitar reenvío de IP

A continuación, deberá habilitar el reenvío de IP en su servidor para enrutar paquetes entre clientes VPN e Internet. Puede habilitarlo editando el archivo /etc/sysctl.conf:

nano /etc/sysctl.conf

Cambie la siguiente línea:

net.ipv4.ip_forward=1

Guarde y cierre el archivo y luego ejecute el siguiente comando para aplicar los cambios de configuración:

sysctl-p

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar el cliente WireGuard

Primero, deberá instalar el paquete WireGuard en la máquina cliente. Puede instalarlo con el siguiente comando:

apt-get install wireguard -y

Después de instalar el paquete WireGuard, cree una clave privada y una clave pública con el siguiente comando:

wg genkey | camiseta /etc/wireguard/privatekey | pubkey wg | camiseta /etc/wireguard/publickey

Una vez creadas ambas claves, deberá crear un nuevo archivo de configuración.

Puedes crearlo con el siguiente comando:

nano /etc/wireguard/wg0.conf

Agregue las siguientes líneas:

[Interfaz]PrivateKey =client-private-keyAddress =10.0.0.2/24[Peer]PublicKey =server-public-keyEndpoint =server-ip-address:51820AllowedIPs =0.0.0.0/0

Guarde y cierre el archivo cuando haya terminado.

Dónde :

  • Dirección: Una dirección IP privada para la interfaz wg0.
  • Clave privada: Especifique la clave privada en la máquina cliente.
  • Clave pública: Especifique la clave pública en la máquina del servidor.
  • Punto final: Especifique la dirección IP del servidor.
  • IP permitidas: Especifique la lista de direcciones IP permitidas.

A continuación, deberá agregar la clave pública del cliente y la dirección IP en la máquina del servidor.

En la máquina del servidor, ejecute el siguiente comando para agregar ambos:

wg set wg0 peer client-public-key allow-ips 10.0.0.2

A continuación, deberá abrir la interfaz wg0 en la máquina cliente.

En la máquina cliente, ejecute el siguiente comando para abrir la interfaz:

wg-acelerar wg0

Deberías obtener el siguiente resultado:

[#] ip link agregar wg0 type wireguard[#] wg setconf wg0 /dev/fd/63[#] ip -4 dirección agregar 10.0.0.2/24 dev wg0[#] ip link establecer mtu 1420 up dev wg0 [#] wg establece wg0 fwmark 51820

En este punto, su máquina cliente está conectada al servidor VPN de WireGuard. Puede verificar el estado de la conexión con el siguiente comando:

wg

Deberías obtener el siguiente resultado:

Interface:WG0 Public Key:3fxbdpao4vado1tdjltvqt+jnoca+w2pileFyq8kyB4 =clave privada:(hidden) Puerto de escucha:388830 fwWmarmar:0XCA6CPEER:00JSBPPPV/GVMY6OHMFOHMFFZ+T/EFBAWVBIZOWVBIZO33333333333. /0 último protocolo de enlace:hace 41 segundos transferencia:5,27 KiB recibidos, 12,97 KiB enviados

Conclusión

¡Felicitaciones! Ha instalado y configurado con éxito el servidor y el cliente VPN de WireGuard en el servidor Ubuntu 20.04. Ahora, el tráfico de su máquina cliente debe enrutarse a través de su máquina servidor. Ahora puede navegar por Internet de forma anónima y mantener la privacidad de sus datos.


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

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

  3. Cómo configurar WireGuard en Ubuntu 22.04

  4. Ubuntu - ¿Cómo configurar una IP estática en Ubuntu?

  5. ¿Cómo instalo y configuro Git en Ubuntu?

Cómo configurar el clúster RabbitMQ en Ubuntu 20.04

Cómo configurar el servidor Pritunl VPN en Ubuntu 20.04

Cómo configurar una VPN en Ubuntu

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

Cómo configurar WireGuard VPN en Debian 11

Cómo configurar WireGuard VPN en Linux