bloquer en dehors du DNS, corriger la fuite du DNS ubuntu 18.04


10

En utilisant le test de fuite DNS sous mon VPN, j'ai découvert qu'il fuyait. J'ai configuré mon VPN via NetworkManager et cela fonctionne correctement, sauf pour la fuite.

Tout d'abord, j'ai essayé d'ajouter block-outside-vpnau fichier de configuration, sauf que sous /etc/NetworkManager/system-connectionscelui-ci ne suit pas le même format. Je n'ai pas pu trouver le document sur la façon d'écrire correctement un pour les fuites DNS.

De plus, l'utilisation d'Ubuntu 18.04 resolv.conf ne fonctionne pas comme avant, toutes les autres réponses sont basées sur cela.

En bref, comment bloquer le DNS extérieur (fuite) à l'aide des fichiers de configuration de Network Manager ou de l'interface graphique?


block-outside-vpnn'est généralement qu'une option de connexion Windows OpenVPN. La correction de la «fuite» DNS serait d'utiliser un serveur DNS spécifique qui n'existe que de l'autre côté du VPN. Quels ont été les résultats du test de fuite DNS? (ils sont pertinents)
Thomas Ward

Réponses:


3

Je suggère d'utiliser dnscrypt.

Installez-le d'abord:

sudo apt install dnscrypt-proxy

Par défaut, il écoute le 127.0.2.1port 53.

Modifiez votre VPN ou toute autre connexion que vous aimez et définissez 127.0.2.1comme son serveur DNS, en utilisant 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 en cours:

sudo ufw deny out 53

Et assurez-vous que le pare-feu est activé:

sudo ufw enable

Mon DNS fuit toujours selon le test de fuite DNS. Il est également important de mentionner que la désactivation du VPN lorsque ufw est activé rendrait Internet indisponible (port bloqué 53).
Pobe

Exécutez cette commande: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesvoyez si cela aide.
Ravexina

3

Pour corriger les fuites DNS sur Ubuntu 18.04, vous pouvez modifier un fichier appelé /etc/dhcp/dhclient.conf. Selon la page de manuel, ce fichier "fournit un moyen de configurer une ou plusieurs interfaces réseau en utilisant le protocole de configuration d'hôte dynamique, le protocole BOOTP, ou si ces protocoles échouent, en attribuant statiquement une adresse".

Quant à la correction de vos fuites DNS, nous éditerons ce fichier. En l'ouvrant avec les autorisations appropriées, vous verrez une ligne commentée qui ressemble à ceci:

#prepend domain-name-servers 127.0.0.53;

Décommentez cette ligne et remplacez le serveur de 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.


Ou vous pouvez simplement modifier votre connexion dans une interface graphique et obtenir le même résultat: ouvrez la fenêtre d'édition pour votre connexion => Paramètres IPv4 / IPv6, changez "Méthode" en "Automatique, adresses uniquement" et ajoutez le vôtre "Serveurs DNS".
GoodGuyNick

La méthode de @GoodGuyNick via l'interface graphique n'a pas fonctionné pour moi. J'ai googlé ce problème toute la journée, et seule l'astuce "pré-ajouter les serveurs de noms de domaine" a fonctionné. Alléluia pour cette réponse. Tout le reste que j'ai essayé (y compris l'interface graphique pour les serveurs DNS) était écrasé et ne survivait pas au redémarrage.
pestophage

3

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 de fichier .conf que vous avez déjà perdues. 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 n'a pas d'importation de configuration VPN fournie 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.confet créez-en un nouveau:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Entrez dans votre .conffichier vide :

    nameserver 127.0.0.1`         that's all!
    
  7. Appuyez sur Ctrl+ x pour quitter l'éditeur. Entrez ypour enregistrer, puis appuyez sur Enterpour remplacer votre nouveau resolv.conffichier.

  8. Modifiez votre fichier NetworkManager.conf

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    et ajoutez ce qui suit:

    dns=dnsmasq 
    

    sous les lignes (naviguer à l'aide des touches fléchées), [main] et plugins = ifupdown, fichier de clés exactement comme ceci avec la nouvelle ligne ajoutée.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Appuyez sur Ctrl+ xpour quitter l'éditeur. Entrez y pour enregistrer, puis appuyez sur Enterpour écraser le fichier.

  9. Sortez du terminal, redémarrez le système et vérifiez les résultats de votre site de test dnsleak.

Merci à VPN anonyme dont les solutions pour les fuites sur Ubuntu / Network Manager semblent bien étudiées et réussies. ILS FONCTIONNENT et lorsqu'aucune autre solution n'a fonctionné pour moi, ils l'ont fait. La solution présentée ci-dessus fonctionne pour Ubuntu 17.x et 18.04 LTS . Voir son autre solution pour 16.04 LTS .


J'ai testé cette solution sur une machine virtuelle et tout a fonctionné. Ensuite, j'ai essayé sur une machine principale et j'ai vu des DNS provenant de VPN et des fuites de DNS. Sur une machine virtuelle nameserverchangé depuis 127.0.2.1à 192.168.122.1et quand je me connecte à VPN dans un resolv.confje vois deux nameserverlignes, une avec 192.168.122.1et l'autre avec RPV dns , mais sur une machine principale , je vois toujours deux lignes search lan nameserver 127.0.1.1.
GoodGuyNick

comment faire quoi sans gestionnaire de réseau? il suffit de mettre le DNS dans / etc / network / interfaces?
Mehdi

1

Je me bats avec ce problème exact depuis 2 jours avant de trouver la solution qui a fonctionné pour moi ici: /unix//a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

C'est là que les connexions créées avec Network Manager sont stockées.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

Commande simple pour modifier le fichier de configuration de connexion. Cela pourrait également être fait manuellement, mais de cette façon, je pense que c'est plus facile.

$ sudo service network-manager restart

Apportez les modifications à votre système.

Copie collée à partir du lien ci-dessus, crédit à l'auteur original.

Si votre système ne connaît pas nmcli, ou l'ajout de connexions à l'aide de l'interface graphique de Network Manager génère une erreur, je recommande ce lien

Maintenant, pour ce qui est moins d'une explication et plus d'un commentaire (plutôt désemparé moi-même).

J'ai essayé de nombreuses solutions, y compris resolv.conf, dnsmasq et dnscrypt, qui conduisent toutes à un blocage total de mon Internet ou à la désactivation de la connexion VPN. Aucun d'entre eux n'a résolu la fuite DNS, selon dnsleaktest.com . Si l'une de ces tentatives est tentée, chaque étape du processus doit être suivie afin de pouvoir les inverser en cas de résultat indésirable. Il ne m'a pas fallu peu de temps pour réparer mon Internet cassé maintes et maintes fois sans, devinez quoi, Internet. Je ne prétends pas que ces solutions ne fonctionnent pas période, j'ai très probablement fait une erreur quelque part.
Cependant, la solution à laquelle j'ai lié présente l'énorme avantage de ne pas déranger les paramètres réseau généraux, mais uniquement avec la connexion que vous modifiez.

Ensuite, block-outside-dns, comme mentionné ci-dessus, est une solution Windows uniquement et a jeté une sorte d'erreur d'option non reconnue sur mon système Ubuntu.

L'utilisation des commandes ovpn cli n'a pas non plus résolu la fuite pour moi.

Le lien que j'ai fourni mentionne une explication ( ici ) sur certaines incohérences de version qui sont corrigées dans Ubuntu 18.10, peut-être que quelqu'un avec plus d'expertise sur ce sujet se soucie d'expliquer davantage. Si c'est vrai, les utilisateurs de LTS devront attendre avril prochain afaik.

Enfin, je tiens à souligner que pour les résidents des pays où la censure Internet est présente, la fuite DNS pose un problème important, car autoriser l'accès du FAI local à votre trafic peut et entraînera le blocage des domaines censurés malgré la connexion à un VPN. Donc, pour les futures visites en Chine, etc., c'est quelque chose que vous souhaitez prendre en charge à l'avance.

J'espère que cela t'aides.


0

Essayez d'utiliser le update-systemd-resolvedscript qui n'apporte pas de modifications à la resolv.conf, et utilise à la place le systemd-resolvedservice à l'aide de son API DBus

Obtenez-le depuis git et installez-le en:

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

Maintenant éditez nsswitch.confpar:

sudo nano /etc/nsswitch.conf

puis changez la ligne en commençant par hosts: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

REMARQUE: si vous ne voulez pas suivre les étapes ci-dessus et que vous êtes d'accord avec l'utilisation du terminal, la fuite DNS ne se produit que lorsque vous utilisez NetworkManager, jusqu'à présent, selon mon expérience, ne se produit pas lorsque vous exécutez openvpn à partir du terminal avecsudo openvpn --config config.ovpn


Quelle serait la ligne dans config.ovpn qui bloquerait la fuite? En avez-vous un exemple? (La solution ci-dessus n'a pas fonctionné pour moi).
Pobe

0

J'ai essayé à peu près toutes les solutions que j'ai pu trouver en ligne pour résoudre le problème de fuite DNS. Openvpn a très bien démarré mais a montré qu'il fuyait lorsque je suis allé sur les sites de test. Après que je n'ai eu aucune joie à essayer tous les remèdes, je suis allé 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. Je suis sûr que vous avez vu les adresses IP partout mais les voici si vous ne les avez pas: 208.67.222.222 et 208.67.220.220.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.