0

Routes permanentes {avec,malgré} NetworkManager

Pour accéder à Internet je route tout mon traffic dans un tunnel VPN. Malheureusement à mon kot j'ai deux access points WiFi et passer de l'un à l'autre fait disparaître certaines routes nécessaires au bon fonctionnement de ce tunnel.

Je me suis rendu compte que ces routes pourraient être présentes en permanence sur mon ordinateur et les ai donc scriptées dans NetworkManager.

/etc/NetworkManager/dispatch.d/

Tous les scripts que vous mettrez dans le dossier /etc/NetworkManager/dispatch.d/ seront exécutés à chaque fois qu'une interface se connecte.

/etc/NetworkManager/dispatch.d/02-EthylixRoutes.sh
#!/bin/sh
GATEWAY=$(/sbin/ip route | awk '/default/ { print $3 }')
ip route add 42.42.144.113 via $GATEWAY
ip route add 42.42.153.16 via $GATEWAY

À noter que si vous avez besoin de l'interface qui vient d'être up, elle est récupérable en premier argument (variable $1).
N'oubliez pas de chmod +x le script.

DNS Google

J'en ai profité pour forcer l'utilisation des DNS Google. Je suis conscient que cela peut poser problème dans certains environnements étranges (comme par exemple un hotspot) mais ça vaut le coup :

/etc/NetworkManager/dispatch.d/03-DNS.sh
#!/bin/sh
echo "nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844"
> /etc/resolv.conf

Conclusion

Je vous laisserai savoir à l'usage l'efficacité de ces routes mais pour l'instant ça m'évite de relancer OpenVPN au moindre changement d'AP WiFi !