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

J'utilise hostsblock avec dnsmasq sur Arch Linux pour 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 sur facebook.com (ou www.facebook.com ) renvoie 127.0.0.1. En outre, si j'habite sur ces sites Web de Midori, une page vierge est renvoyée (c'est un comportement attendu, car je suis en train d' utiliser le démon kwakd pour renvoyer des pages vierges sur localhost).

Seul Chromium semble contourner ma liste de blocs. L'accès à facebook.com à partir de cela me permet de passer directement à la page d'accueil de Facebook.

Après avoir nettoyé tout (Ctrl + Shift + Supprimer) depuis le début des temps et redémarré Chromium, j'obtiens le comportement désiré (= ne peut pas accéder à Facebook).

Bien que, après un certain temps (je ne sais pas exactement ce qui cause cela), Chromium ignore de nouveau mon DNS DNS local 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étraitement des requêtes DNS de Chromium, mais je ne suis pas sûr de la désactiver.

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

La majorité des références à propos de 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ù cette publication a été écrite: 33ème), voici ce que vous devriez faire:

  1. Accédez à chrome://settings
  2. Cliquez sur "Afficher les paramètres avancés …"
  3. Désélectionnez les actions Predict réseau pour améliorer la boîte de performance de chargement de page .
  4. Vérifiez si la prétraction DNS est vraiment désactivée en allant à chrome://dns . Vous devriez voir quelque chose comme la pré-résolution DNS et la pré-connexion TCP est désactivée. Si la prélecture n'est pas désactivée, vous verrez quelques tables là-bas.

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: Utiliser un service de prévision pour charger des pages plus rapidement .

Référence

Réponse mise à jour

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

 chrome://net-internals/#dns 

Ensuite, cliquez sur Clear host cache bouton du 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 icône à petite clé), puis sélectionnez Options.

  2. Cliquez sur l'onglet Sous le capot.

    3. Dans la section «Confidentialité», décochez la case à cocher pour Utiliser la pré-extraction DNS pour améliorer les performances de la charge de page.

    4. Cliquez sur le bouton Fermer.

    5. Rafraîchir pour recharger la page Web.

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 avez reçu un ordinateur dans un environnement d'entreprise et que le fichier * .pac indique à votre navigateur de passer un proxy pour résoudre l'URL. Cela prend la priorité sur votre fichier / etc / hosts et si le fichier * .pac contient une règle pour renvoyer PROXY si rien ne correspond, alors il semblera que Chrome ne respecte pas les hôtes / etc / hosts. Ce sera normalement le cas si votre ligne de commande fonctionne comme prévu, par exemple, creuser, faire 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 que Chrome utilise.

Si vous utilisez des extensions VPN Proxy pour Google Chrome (comme Betternet ), vous risquez de rencontrer ce problème. La désactivation de l'extension résout le problème.