Uso de WireGuard con protección de acceso a la web
Problema
Supongamos que la protección de acceso a la web (WAP) se combina con WireGuard mediante wg-quick de la línea de comandos o como un servicio. En ese caso, la conectividad a Internet puede perderse cuando las interfaces WAP y WireGuard están habilitadas. Esto es causado por una regla agregada 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, cadena 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 seguro, la regla nftables no debería ser necesaria. La configuración de 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.