Utilisation de WireGuard avec la protection de l'accès web
Problème
Supposons que la protection de l'accès web (WAP, Web Access Protection) soit combinée avec WireGuard en utilisant wg-quick à partir de la ligne de commande ou en tant que service. Dans ce cas, la connectivité internet peut être perdue lorsque les interfaces de la protection de l'accès web et WireGuard sont toutes deux activées. Cela est dû à une règle ajoutée à nftables par wg-quick, lorsqu'une interface est mise en place. Supposons que l'interface soit wg0, avec une adresse IP 10.10.10.2. La règle est ajoutée à la table wg-quick-wg0 et ressemble à ce qui suit :
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
Le but de cette règle est d'offrir une protection contre les problèmes de configuration et les paquets malveillants.
Solution
Sur un système correctement configuré et sécurisé, la règle nftables ne devrait pas être nécessaire. Configurer wg-quick pour ne pas laisser cette règle en place devrait résoudre les problèmes de connexion. Par exemple, vous pouvez modifier le fichier de configuration de l'interface affectée et, dans la section [Interface], ajouter l'action suivante PostUp :
PostUp = nft flush chain wg-quick-wg0 preraw |
Notez que le nom wg-quick-wg0 s'applique uniquement à l'interface “wg0” et doit être modifié en conséquence pour les autres interfaces. Si vous souhaitez toujours mettre en place un certain niveau de protection, vous pouvez remplacer la règle par une règle plus faible, par exemple :
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' |
N'oubliez pas que toutes les mentions de « wg0 » doivent être mises à jour si l'interface n'est pas « wg0 ». En outre, il est nécessaire de mettre à jour l'adresse IP si elle ne correspond pas à 10.10.10.2.