En utilisant test de fuite du DNS sous mon VPN, j’ai découvert qu’il fuyait. J'ai configuré mon VPN via NetworkManager et tout fonctionne correctement, sauf en cas de fuite.
Premièrement, j'ai essayé d'ajouter block-outside-vpn
au fichier de configuration, sauf que, sous /etc/NetworkManager/system-connections
, il ne suit pas le même format. Je ne pouvais pas trouver le doc sur la façon d'écrire correctement un pour les fuites DNS.
De plus, l'utilisation de Ubuntu 18.04 resolv.conf ne fonctionne pas comme avant, toutes les autres réponses sont basées sur cela.
En bref, comment bloquer les DNS extérieurs (fuite) à l'aide des fichiers de configuration de Network Manager ou de l'interface graphique?
Je suggère d'utiliser dnscrypt
.
Tout d'abord l'installer:
Sudo apt install dnscrypt-proxy
Par défaut, il écoute 127.0.2.1
port 53
.
Modifiez votre VPN ou toute autre connexion de votre choix et définissez 127.0.2.1
en tant que serveur DNS. À l'aide de la CLI, vous pouvez exécuter:
nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1
Et juste au cas où bloquer les requêtes DNS sortantes:
Sudo ufw deny out 53
Et assurez-vous que le pare-feu est activé:
Sudo ufw enable
Si vous avez une fuite DNS comme indiqué en vérifiant sur browserleaks.com ou dnsleaktest.com ,
Fermez votre connexion VPN
Essayez d'annuler les modifications apportées au fichier .conf que vous avez déjà perdu du temps. Si vous avez essayé de nombreuses suggestions, votre meilleure chance pourrait être de faire une nouvelle installation et de vous assurer que vous avez également installé networkmanager-openvpn-gnome, car Ubuntu ne dispose pas d'une importation de configuration VPN par défaut.
Installer Dnsmasq
Sudo apt update
Sudo apt install dnsmasq
Désactiver résolu
Sudo systemctl disable systemd-resolved.service
Sudo systemctl stop systemd-resolved.service
Supprimez/etc/resolv.conf
et créez-en un nouveau:
Sudo rm /etc/resolv.conf
Sudo nano /etc/resolv.conf
Entrez dans votre fichier .conf
vide:
nameserver 127.0.0.1` that's all!
Presse Ctrl+x pour quitter l'éditeur. Entrer y pour enregistrer, puis appuyez sur Enter pour écraser votre nouveau fichier resolv.conf
.
Editez votre fichier NetworkManager.conf
Sudo nano /etc/NetworkManager/NetworkManager.conf
et ajoutez ce qui suit:
dns=dnsmasq
sous les lignes (navigation à l'aide des touches fléchées), [main] et plugins = ifupdown, le fichier de clés est exactement comme ceci avec la nouvelle ligne ajoutée.
[main]
plugins=ifupdown, keyfile
dns=dnsmasq
Presse Ctrl+x pour quitter l'éditeur. Entrer y pour enregistrer, puis appuyez sur Enter pour écraser le fichier.
Quittez le terminal, redémarrez le système et vérifiez les résultats de votre site de test dnsleak.
Merci à Anonymous VPN dont les solutions pour Leaks sur Ubuntu/Network Manager semblent bien documentées et couronnées de succès. Ils travaillent et quand aucune autre solution ne fonctionnait pour moi, ils ont fait. La solution indiquée ci-dessus fonctionne pour Ubuntu 17.x et 18.04 LTS . Voir son autre solution pour 16.04 LTS .
Pour réparer les fuites DNS sur Ubuntu 18.04, vous pouvez éditer un fichier nommé /etc/dhcp/dhclient.conf
. Selon la page de manuel, ce fichier "fournit un moyen de configurer une ou plusieurs interfaces réseau à l'aide du protocole BOOTP du protocole de configuration d'hôte dynamique ou, en cas d'échec de ces protocoles, en attribuant une adresse de manière statique".
En ce qui concerne la réparation de vos fuites DNS, nous allons éditer ce fichier. En l'ouvrant avec les autorisations appropriées, vous verrez une ligne commentée ressemblant à ceci:
#prepend domain-name-servers 127.0.0.53;
Décommentez cette ligne et remplacez le nom de domaine par un autre, tel que OpenDNS: 208.67.222.222. En utilisant cette adresse OpenDNS, cette ligne ressemblerait maintenant à ceci:
prepend domain-name-servers 208.67.222.222;
Après avoir enregistré le fichier et redémarré votre système, cela devrait corriger les fuites DNS sur Ubuntu 18.04.
Essayez d'utiliser le script update-systemd-resolved
qui n'apporte aucune modification au resolv.conf
et utilise plutôt le service systemd-resolved
à l'aide de son API DBus.
Obtenez-le de git et installez-le en:
git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make
Maintenant, éditez nsswitch.conf
par:
Sudo nano /etc/nsswitch.conf
puis changez la ligne commençant par hosts:
pour dire
hosts: files resolve dns myhostname
Activez le service et assurez-vous qu'il s'exécute automatiquement:
Sudo systemctl enable systemd-resolved.service
Sudo systemctl start systemd-resolved.service
NOTE: Si vous ne voulez pas suivre les étapes ci-dessus et que vous acceptez l'utilisation du terminal, la fuite DNS ne se produit que lors de l'utilisation de NetworkManager, jusqu'à présent, selon mon expérience, cela ne se produit pas lorsque vous lancez openvpn à partir du terminal avec
Sudo openvpn --config config.ovpn
J'ai essayé à peu près toutes les solutions que je pouvais trouver en ligne pour résoudre le problème des fuites de DNS. Openvpn a très bien commencé, mais a montré que cela fuyait lorsque je me suis rendu sur les sites de test. Après que je n'ai plus eu de joie à essayer tous les remèdes, je suis entré dans mes paramètres wifi et ethernet et j'ai utilisé les serveurs DNS d'OpenVPN au lieu de ceux de mon FAI et tout allait bien à partir de ce moment-là. Je suis sûr que vous avez vu les adresses IP un peu partout, mais les voici si vous ne les avez pas déjà: 208.67.222.222 et 208.67.220.220.