Outils pour utilisateurs

Outils du site


kb:linux:generalites:faire_fonctionner_les_dns_d_openvpn_sous_ubuntu_20.04

Faire fonctionner les DNS d'OpenVPN sous Ubuntu 20.04

Ubuntu 20.04 a une configuration réseau assez particulièrement notament par l'usage de technologies très récente. Par défaut, c'est Network Manager qui gère la partie réseau ainsi que la partie VPN, et systemd-resolved qui gère la partie DNS. Le problème étant les interactions entre ces deux composants.

Il y a deux cas de fonctionnement, en CLI et en GUI. Les deux sont totalement indépendants.

En CLI

Pour faire fonctionner en CLI, il faut installer le packet suivant, qui est enfaite un script qui va interpreter les configurations DNS d'OpenVPN pour configurer systemd-resolved.

# apt install openvpn-systemd-resolved

Puis dans votre configuration OpenVPN, au minimum la configuration suivante :

script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved

Et pour finir il reste une option, qui peut-être ajouter manuellement dans le fichier de configuration ou bien push par le serveur OpenVPN :

dhcp-option DOMAIN-ROUTE .

Vous pouvez demander a systemd-resolved de n'envoyer que les requete ayant une racine spécifique en remplaçant le point par votre domaine.

En GUI

On est ici plus sur une bidouille que sur une solution propre, mais c'est la seule que j'ai trouvée faisant l'affaire. Pour expliquer, Network-Manager ne configurera votre DNS seulement si votre VPN est utilisé comme passerelle par défaut, ce qui n'est pas forcément judiciable dans tous les cas. Donc l'idée va être de supprimer automatiquement la passerelle au lancement du VPN en créant le fichier suivant :

/etc/NetworkManager/dispatcher.d/10-vpndns
#!/bin/bash
 
if [[ "$1" =~ ^tun[0-9] && "$2" == "up" ]]; then
        logger -t "dispatcher-network-manager" "Deleting default gateway"
        ip route delete default dev $1
        ip -6 route delete default dev $1
fi

Et pour finir de le rendre exécutable :

# chmod +x /etc/NetworkManager/dispatcher.d/10-vpndns
kb/linux/generalites/faire_fonctionner_les_dns_d_openvpn_sous_ubuntu_20.04.txt · Dernière modification: 2020/08/20 21:47 de beu