web-dev-qa-db-fra.com

bloquer en dehors de dns, réparer une fuite de DNS ubuntu 18.04

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?

9
Pobe

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
3
Ravexina

Si vous avez une fuite DNS comme indiqué en vérifiant sur browserleaks.com ou dnsleaktest.com ,

  1. Fermez votre connexion VPN

  2. 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.

  3. Installer Dnsmasq

    Sudo apt update
    Sudo apt install dnsmasq  
    
  4. Désactiver résolu

    Sudo systemctl disable systemd-resolved.service
    Sudo systemctl stop systemd-resolved.service 
    
  5. Supprimez/etc/resolv.conf et créez-en un nouveau:

    Sudo rm /etc/resolv.conf
    Sudo nano /etc/resolv.conf  
    
  6. Entrez dans votre fichier .conf vide:

    nameserver 127.0.0.1`         that's all!
    
  7. Presse Ctrl+x pour quitter l'éditeur. Entrer y pour enregistrer, puis appuyez sur Enter pour écraser votre nouveau fichier resolv.conf.

  8. 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.

  9. 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 .

3
Dosenfleisch

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.

1
Stone

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

0
Amith KK

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.

0
John LaFramboise