Uso de WireGuard con protección de acceso a la web
Problema
Supongamos que protección de acceso a la web (WAP) se combina con WireGuard desde la línea de comandos wg-quick o como servicio. En ese caso, es posible que se pierda la conectividad a Internet cuando se habilitan las interfaces WAP y WireGuard. Esto se debe a una regla añadida a nftables por wg-quick, cuando se abre una interfaz. Supongamos que la interfaz es wg0, con una dirección IP 10.10.10.2. La regla se agrega a la tabla wg-quick-wg0, encadena preraw y se ve así:
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
El propósito de esta regla es proporcionar cierta protección contra problemas de configuración y paquetes maliciosos.
Solución
En un sistema correctamente configurado y protegido, la regla nftables no debería ser necesaria. Configurar wg-quick para no dejar esa regla en su lugar debería solucionar los problemas de conexión. Por ejemplo, puede editar el archivo de configuración de la interfaz afectada y, en la sección [Interfaz], agregar la siguiente acción PostUp:
PostUp = nft flush chain wg-quick-wg0 preraw |
Tenga en cuenta que el nombre wg-quick-wg0 se aplica solo a la interfaz “wg0” y debe cambiarse en consecuencia para otras interfaces. Si aún desea obtener algún nivel de protección, puede reemplazar la regla por una más débil, como esta:
PostUp = nft flush chain wg-quick-wg0 preraw; nft 'add rule wg-quick-wg0 preraw iifname != "wg0" iif != "lo" ip daddr 10.10.10.2 fib saddr type != local drop' |
Recuerde que todas las menciones de "wg0" deben actualizarse si la interfaz no es "wg0". Además, es necesario actualizar la dirección IP si no es 10.10.10.2.