En el post anterior aprendimos como instalar y configurar Wireguard en Debian GNU/Linux y como establecer una comunicación segura entre 2 nodos con direcciones IP fijas o sea cuando cada nodo “ve” la dirección IP del otro nodo. En el día de hoy aprenderemos a como enrutar el tráfico a través Wireguard, esta configuración es útil para acceder a recursos bloqueados para nuestra región, también podemos usarla para evitar la censura y vigilancia de nuesto proveedor de Internet o del proveedor del servicio al cual accedemos, para ello debemos tener un VPS accesible vía SSH.
El procedimiento de instalación y configuración es el mismo que el descrito en el post anterior, solo debemos hacer pequeños ajustes para que nuestra PC o laptop pueda conectarte a la VPN.
Antes de continuar recomiendo ver el video:
Paso 1: Modificar la configuración del nodo destino
Aúnque Wireguard no maneja el concepto cliente/servidor, asumiremos el nodo destino como servidor para darle claridad al ejemplo.
Nos conectamos al nodo destino vía SSH, luego modificamos la configuración de Wireguard, la sección [Interface] y agregamos estás 2 líneas
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
La primera línea se ejecuta cuando iniciamos la interfaz de red de Wireguard (PostUp) mientras que la segunda cuando detenemos/quitamos la interfaz de red de Wireguard (PostDown). La primera crea una regla en el muro cortafuegos iptables que permite enrutar y enmascarar todo el tráfico proveniente desde el cliente (nuestra PC) mientras que la segunda elimina dicha regla.
Luego debemos buscar la configuración de nuestro [Peer] y comentar o eliminar la directiva EndPoint.
Paso 2: Habilitar ip_forward
Este paso debemos ejecutarlo tanto en el cliente como en el servidor, si la salida del comando:
# cat /proc/sys/net/ipv4/ip_forward
es:
- 1 ip_foward habilitado
- 0 inhabilitado, debe activarlo, consulte Linux IP forwarding.
Paso 3: Enrutar tráfico
En la configuración Wireguard cliente, buscamos la sección [Peer] del nodo servidor y modificamos la directiva AllowedIPs y establecemos su valor a:
AllowedIPs = 0.0.0.0/0
Paso 4: Reiniciar Wireguard
Debemos reiniciar la interfaz de Wirguard tanto en el servidor con el cliente con el siguiente comando.
# systemctl restart wg-quick@wg0.service
wg0 es el nombre de la interfaz de red Wireguard en caso de que haya usado otro nombre sustitúyalo por wg0.