Cómo evitar que Wireguard enrute el tráfico LAN hacia la conexión VPN

white switch hub turned on

En mis últimos experimentos con Wireguard, todo parecía bien. La instalación del cliente fue exitosa y sin demasiadas complicaciones… Hasta hoy.

Recordemos que el cliente lo instalé en un servidor Openmediavault con una gran cantidad de contenedores Docker. En las pruebas comprobé que todo el tráfico del servidor y los contenedores, tanto LAN como Internet salía hacia la conexión VPN, aunque no le di gran importancia puesto que desde la LAN seguía pudiendo acceder a esos servicios sin necesidad de conectar la VPN.

El error fue no darle importancia, porque en realidad sí que había algún servicio que tenía que llegar hacia la LAN, concretamente, el UniFi Controller. Este contenedor tiene que llegar hacia los dispositivos Ubiquiti de mi red para poder controlarlos y, puesto que vivo en un edificio con alta densidad de redes WiFi, es muy importante que el controlador pueda analizar las redes cada noche y elegir el mejor canal de cara al día siguiente.

La clave es una sencilla configuración en los Peers de Wireguard

El cambio de configuración no es necesario hacerlo en el servidor, solo en los clientes, y es tan sencillo como cambiar una línea del fichero de configuración.

Si recordáis el artículo de la instalación del cliente, aparece una línea «AllowedIPs» en el apartado «Peer» del fichero. Por defecto, Wireguard Easy genera esa línea con la subred 0.0.0.0/0, y esto no quiere decir otra cosa que todo el tráfico es enrutado a través de la VPN.

Vamos a modificar esa línea y, en lugar de 0.0.0.0/0, lo que vamos a hacer es usar la subred de la VPN. De esta forma, solo el tráfico destinado hacia la VPN se enrutará hacia ella. En mi caso, será 10.8.0.0/24.

AllowedIPs = 10.8.0.0/24

Recuerda que para modificar este archivo, en Linux, solo tienes que usar el siguiente comando:

sudo nano /etc/wireguard/wg0.conf

Mientras que en Windows, tenemos que abrir el cliente Wireguard, pulsar con el botón secundario sobre el túnel y pulsar en «Edit selected tunnel».

La conexión se reiniciará automáticamente. En el caso de Linux, tendremos que reiniciar la conexión manualmente con estos comandos:

wg-quick down wg0
wg-quick up wg0

Si ahora hacemos PING a un destino de nuestra VPN y de la LAN veremos que son alcanzables correctamente.

,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *