Instalar y configurar WireGuard VPN en Ubuntu y derivados

Instalar y configurar WireGuard VPN en Ubuntu y derivados.

WireGuard es una aplicación VPN facil de usar, rápida y segura que utiliza las últimas novedades en criptografía. Si lo pruebas te darás cuenta que es el muco más rápido y ágil que otros protocolos VPN, como los afamados OpenVPN o IPSec.

WireGuard todavía no está en su version final, pero incluso en su actual estado es más potente que el resto.

La configuración de WireGuard es bastante simple mediante SSH. La conexión se establece mediante el intercambio de claves públicas entre el servidor y el cliente. Solo el cliente que tenga en su poder la clave pública en el archivo de configuración del servidor podrá conectarse. WireGuard se puede configurar en cualquier interfaz de red estándar, como ethernet o wireless.

Instalar y configurar WireGuard

Instalar y configurar WireGuard

 

Instalar y configurar WireGuard VPN en Ubuntu

Instalar WireGuard en Ubuntu

La instalación de WireGuard en Ubuntu y derivados es bastante simple. Tan solo debemos agregar el repositorio e instalar la herramienta.

sudo add-apt-repository ppa:wireguard/wireguard

sudo apt install wireguard

ejemplo…
sololinux # sudo apt install wireguard
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes adicionales:
  wireguard-dkms wireguard-tools
Se instalarán los siguientes paquetes NUEVOS:
  wireguard wireguard-dkms wireguard-tools
0 actualizados, 3 nuevos se instalarán, 0 para eliminar y 2 no actualizados.
Se necesita descargar 358 kB de archivos.
Se utilizarán 2.041 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n]

 

Configurar WireGuard

Lo primero que tenemos que hacer es generar una clave publica.

umask 077

wg genkey | tee privatekey | wg pubkey > publickey

Puedes ver las claves generadas con: cat privatekeycat publickey.

En nuestro ejemplo creamos el archivo de configuración wg0.conf.

nano /etc/wireguard/wg0.conf

Copia y pega lo siguiente (donde «Tu-KEY», agregas tu clave).
[Interface]
PrivateKey = <Tu-KEY>
Address = 10.0.0.1/24, fd86:ea04:1115::1/64
ListenPort = 51820
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
SaveConfig = true

Modifica las configuraciones según tus necesidades.
  • Address: define las direcciones IPv4 e IPv6 privadas para el servidor WireGuard.
  • ListenPort: especifica qué puerto utilizará WireGuard para las conexiones entrantes.
  • PostUp y PostDown: define los pasos que se ejecutarán después de encender o apagar la interfaz con respecto a las iptables.
  • SaveConfig: ordena al archivo de configuración que se actualice automáticamente cada vez que se agrega un nuevo par.

 

Configurar el cortafuegos

Abrimos el puerto ssh y el de WireGuard.

sudo ufw allow 22/tcp

sudo ufw allow 51820/udp

sudo ufw enable

Verificamos que los puertos están abiertos.
sudo ufw status verbose

 

Iniciar WireGuard

Iniciar el servicio (según el nombre que hayas definido dependiendo de tus interfaces).

wg-quick up wg0

Habilitamos el servicio para que inicie con el sistema.
sudo systemctl enable wg-quick@wg0

La VPN ya debería estar funcionado, puedes verificarlo con los siguientes comandos.
sudo wg show

ifconfig wg0

 

Instalar WireGuard cliente

La configuración de un cliente es similar a la del servidor. Si usas Ubuntu como sistema operativo cliente, la única diferencia entre el cliente y el servidor es el contenido del archivo de configuración.

Instalamos la aplicación como mencionamos anteriormente, después generamos las claves.

umask 077

wg genkey | tee privatekey | wg pubkey > publickey

Creamos el archivo de configuración.
nano /etc/wireguard/wg0.conf

Copia y pega lo siguiente.
[Interface]
PrivateKey = <archivo que contiene la clave>
Address = 10.0.0.2/24, fd86:ea04:1115::5/64

Guarda el archivo y cierra el editor.

 

Conectar el cliente con el servidor

La forma más sencilla de conectarnos al VPN es editar el archivo…

nano /etc/wireguard/wg0.conf

Ingresa tus datos reales.
[Peer]
PublicKey = <Server Public key>
Endpoint = <Server Public IP>:51820
AllowedIPs = 10.0.0.2/24, fd86:ea04:1115::5/64

Guarda y cierra el editor.

Podemos verificar la conexión con el siguiente comando.

sudo wg

La configuración de la red se agregara automáticamente al archivo *.conf. Si no te fias y quieres forzar el guardado puedes ejecutar el siguiente comando (con el nombre correspondiente).
wg-quick save wg0

Ahora y como punto final del articulo puedes verificar la conexión con…
ping 10.0.0.1

sudo wg

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

3 Comentarios

  1. salvador fernandez
    23/04/2020
    • Sergio G.B.
      23/04/2020
  2. Luis
    02/05/2020

Agregar comentario