Outils pour utilisateurs

Outils du site


kb:linux:generalites:faire_fonctionner_les_dns_d_openvpn_sous_ubuntu_20.04
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


kb:linux:generalites:faire_fonctionner_les_dns_d_openvpn_sous_ubuntu_20.04 [2020/08/20 19:47] (Version actuelle) – créée beu
Ligne 1: Ligne 1:
 +====== 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**.
 +
 +<code bash>
 +# apt install openvpn-systemd-resolved
 +</code>
 +
 +Puis dans votre configuration OpenVPN, au minimum la configuration suivante : 
 +
 +<code>
 +script-security 2
 +up /etc/openvpn/update-systemd-resolved
 +down /etc/openvpn/update-systemd-resolved
 +</code>
 +
 +Et pour finir il reste une option, qui peut-être ajouter manuellement dans le fichier de configuration ou bien **push** par le serveur OpenVPN :
 +
 +<code>
 +dhcp-option DOMAIN-ROUTE .
 +</code>
 +
 +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 :
 +
 +<code bash /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
 +</code>
 +
 +Et pour finir de le rendre exécutable :
 +
 +<code bash>
 +# chmod +x /etc/NetworkManager/dispatcher.d/10-vpndns
 +</code>
kb/linux/generalites/faire_fonctionner_les_dns_d_openvpn_sous_ubuntu_20.04.txt · Dernière modification : 2020/08/20 19:47 de beu