web-dev-qa-db-fra.com

Pourquoi Chromium contourne-t-il / etc / hosts et Dnsmasq?

J'utilise hostsblock avec dnsmasq sur Arch Linux pour en bloquer certains sites Web, l’un d’eux est facebook.com et www.facebook.com.

Je sais que tout fonctionne correctement car un simple ping à facebook.com (ou www.facebook.com) renvoie 127.0.0.1. De plus, si j'accède à ces sites depuis Midori, une page vierge est renvoyée (il s’agit d’un comportement attendu, car j’utilise toujours le démon kwakd pour retourne les pages vierges sur localhost).

Seul le chrome semble contourner ma liste de blocage. Accéder à facebook.com à partir de ce site me fait aller directement à la page d'accueil de facebook.

Après avoir tout nettoyé (Ctrl + Maj + Suppr) depuis le début du temps et redémarré Chromium, j'obtiens le comportement souhaité (= impossible d'accéder à Facebook).

Bien que, après un certain temps (je ne suis pas tout à fait sûr de ce qui cause cela), Chromium ignore à nouveau mon DNS local Dnsmasq et accède avec succès à la page d'accueil de Facebook.

J'ai lu quelque chose sur la mise en cache et la pré-extraction de requêtes DNS de Chromium, mais je ne sais pas comment le désactiver.

La question est: pourquoi Chromium contourne-t-il mon DNS local et que puis-je faire pour l'arrêter?

48
thiagowfx

La majorité des références sur ce sujet sont anciennes. Si vous avez une ancienne version de Chromium, suivez la réponse edvinas.me .

Pour les versions actuelles de Chromium (au moment où cet article a été écrit: 33ème), voici ce que vous devez faire:

  1. Aller au chrome://settings
  2. Cliquez sur "Afficher les paramètres avancés ..."
  3. Désélectionnez la case Prédisez les actions réseau pour améliorer les performances de chargement de page .
  4. Vérifiez si le prélecture DNS est vraiment désactivé en allant à chrome://dns. Vous devriez y voir quelque chose comme la pré-résolution DNS et la pré-connexion TCP est désactivée. Si le préchargement n’est pas désactivé, vous y verrez quelques tables. .

Mettre à jour

Pour les versions plus récentes de Chrome (au moment de cette mise à jour: 55ème), le troisième élément est libellé comme suit: Utilisez un service de prédiction pour charger les pages plus rapidement .

Référence

41
thiagowfx

Réponse mise à jour

Assurez-vous de nettoyer le cache de Chrome. Tapez ceci dans la barre d'adresse:

chrome://net-internals/#dns

Puis cliquez sur le bouton Clear Host cache.

Ancienne réponse

Chromium utilise le DNS interne de Google par défaut (8.8.8.8 et 8.8.4.4)

Pour le désactiver:

  1. Cliquez sur le menu Outils (une petite icône représentant une clé), puis allez dans Options.

  2. Cliquez sur l'onglet Sous le capot.

    3 Dans la section "Confidentialité", décochez la case Utiliser le prélecture DNS pour améliorer les performances de chargement des pages.

    4 Cliquez sur le bouton Fermer.

    5 Actualisez pour recharger la page Web.

26
phoops

Une autre possibilité obscure est que votre système est configuré pour utiliser un fichier proxy * .pac automatique. Ce serait normalement le cas si vous aviez un ordinateur dans un environnement d'entreprise et que le fichier * .pac indique à votre navigateur de passer par un proxy pour résoudre l'URL. Cela a priorité sur votre fichier/etc/hosts et si le fichier * .pac contient une règle pour renvoyer PROXY si rien ne correspond, il apparaîtra que Chrome ne respecte pas le fichier/etc/hosts. Ce sera normalement le cas si votre ligne de commande fonctionne comme prévu, par exemple. Creusez, ping etc.

Si vous avez essayé les autres solutions et qu'elles ne fonctionnent pas, vérifiez que vous ne disposez pas d'une configuration de proxy automatique utilisée par Chrome.

2
Elijah Lynn