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 usando wg-quick en la línea de comandos 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 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, en la cadena preraw y tiene este formato:
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
El propósito de esta regla es ofrecer protección contra problemas de configuración y paquetes malintencionados.
Solución
En un sistema correctamente configurado y protegido, la regla nftables no debería ser necesaria. Al configurar wg-quick para no dejar esa regla establecida deberían solucionarse 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 solo se aplica a la interfaz “wg0” y debe modificarse en consecuencia para otras interfaces. Si aún desea contar con cierto 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.