J'ai commencé à avoir des problèmes sur mon Ubuntu 18.04 il y a quelques jours même si je n'ai modifié aucun paramètre de réseau.
Le problème est que lorsque je me connecte à mon VPN professionnel (OpenVPN), je ne peux résoudre aucun nom DNS sur ce réseau VPN si je sélectionne "Utiliser cette connexion uniquement pour les ressources de ce réseau". Si je désactive cette option, je peux résoudre le DNS à l'intérieur du réseau, mais ne peux naturellement pas me connecter à quoi que ce soit à l'extérieur.
Voici la sortie de systemd-resolve --status
si JE DÉSACTIVE "Utiliser cette connexion uniquement pour les ressources de ce réseau" et me connecter au VPN:
Link 10 (tun0)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.xxx.xx.xx
DNS Domain: ~.
Il montre donc en fait le serveur DNS. Mais une fois que j'ai réactivé "Utiliser cette connexion uniquement pour les ressources sur ce réseau":
Link 11 (tun1)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
Link 10 (tun0)
Current Scopes: none
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
J'ai essayé des solutions dans cette question buntu 18.04 pas de résolution DNS lorsqu'il est connecté à openvpn mais rien ne semblait fonctionner.
J'ai également essayé d'utiliser le package unbound
et cela n'a pas aidé non plus.
J'ai aussi trouvé ça Soudain, je n'arrive pas à accéder aux ressources sur le réseau VPN dans Ubuntu 18.04? donc je ne suis évidemment pas le seul, mais il n'a pas de solutions.
Un peu perdu quoi faire d'autre, je ne veux pas réinstaller tout le système à cause de cela.
Je l'ai peut-être résolu avec cette commande:
nmcli c modify <vpn-settings-name> ipv4.dns-search '<domain>'
Le <vpn-settings-name>
doit être le même que dans vos paramètres NetworkManager.
Pour l'instant, semble faire l'affaire, je n'ai rien modifié après le démarrage à part émettre la commande ci-dessus, et maintenant systemd-resolve --status
affiche le DNS correct pour le réseau VPN.
Je voulais publier une solution au cas où quelqu'un d'autre aurait du mal avec le même problème.
J'ai trouvé ce qui suit.
En cochant la case "Utiliser cette connexion uniquement pour les ressources de ce réseau", je n'avais pas de DNS selon la question.
Si elle n'était pas cochée, j'avais une route par défaut en double, qui une fois supprimée, tout, y compris DNS, fonctionnerait.
Comparaison de la sortie de systemd-resolve --status
de ces deux scénarios, j'ai trouvé ce qui suit:
Lorsque DNS fonctionnait mais que les options créaient la route en double, cela montrait ceci:
DNS Domain: ~.
corporate-network.local
Lorsque le DNS ne fonctionnait pas, cela montrait ceci:
DNS Domain: corporate-network.local
La solution consiste donc à cocher la case "Utiliser cette connexion uniquement pour les ressources de ce réseau" et à saisir ~.
comme domaine DNS supplémentaire.
Maintenant, la connexion fonctionne directement depuis le gestionnaire de réseau sans avoir à supprimer la passerelle par défaut parasite et tous les DNS internes sont résolus.
Essayez de réimporter votre fichier .ovpn d'origine si vous ne l'avez pas déjà fait. J'ai rencontré un problème similaire où le serveur DNS de mon VPN ne s'afficherait pas dans systemd-resolve --status
, mais une fois que j'ai réimporté mon fichier .ovpn dans Network Manager, le problème a été résolu.