Raspberry Pi : Internet plus rapide grâce à la mise en cache des DNS

Si la résolution DNS est un sujet auquel la plupart des gens ne pensent probablement pas, le processus qui permet de résoudre une adresse IP à partir d'un domaine a pourtant un impact important sur la vitesse de navigation. Un cache DNS sur un Raspberry Pi peut apporter un certain soulagement.

Après avoir changé de fournisseur d'accès à Internet et disposer d'une ligne VDSL avec une synchronisation de 51,4 Mbit/s en aval et 10 Mbits/s en amont, j'ai entrepris de desserrer les derniers freins.

Logo Raspberry Pi
Logo Raspberry Pi
Tout d'abord, j'ai remarqué qu'après avoir saisi une URL, il faut une petite seconde pour charger la page web.

Une approche de la solution : un Raspberry Piconnectée directement à la Fritzbox (j'utilise une Fritz!Box 7490) fonctionne comme un système d'alarme. Cache DNS (avec pdnsd) et Serveur DHCP (car aucun serveur DNS alternatif ne peut être saisi dans la Fritzbox pour la distribution via DHCP).

Raspberry Pi comme cache DNS

Si vous utilisez Raspbian (Debian) et que vous ne souhaitez pas utiliser un serveur DNS complet comme bind, le paquet pdnsd est un bon choix. pdnsd a l'avantage que les données du cache ne sont pas seulement dans la RAM, mais aussi sur la carte SD du Pi. Les entrées DNS en cache sont donc conservées même après un redémarrage du Pi. La configuration de pdnsd est simple, les ajustements les plus importants dans l'onglet /etc/pdnsd.confJ'ai laissé la plupart des valeurs à leurs normes :

perm_cache=8192 ; // Taille du cache en kilo-octets (ici : 8 méga-octets)
cache_dir="/var/cache/pdnsd" ; // Répertoire du cache
server_ip = 0.0.0.0 ; // IP sur laquelle l'écoute a lieu : 0.0.0.0 signifie sur toutes les IPs

Pour pouvoir répondre aux demandes qui ne sont pas encore dans le cache, les serveurs DNS doivent également être configurés pour pdnsd. Par défaut, le programme resolvconf les serveurs de noms doivent ensuite être configurés via le fichier /etc/network/interfaces peuvent être configurés. Là, à l'entrée d'une interface, la ligne dns-nameservers 8.8.8 8.8.4.4 ajouté :

auto eth0
iface eth0 inet static
adresse 192.168.0.10
masque de réseau 255.255.255.0
réseau 192.168.0.0
passerelle 192.168.0.1
dns-nameservers 217.0.43.161 217.0.43.177 8.8.8 8.8.4.4

Avec cette configuration, le Raspberry Pi obtient l'adresse IP 192.168.0.10, utilise la Fritzbox (192.168.0.1) comme passerelle et la Telekom-DNS-Server 217.0.43.161 et 217.0.43.177 ainsi que les serveurs DNS publics de Google (8.8.8.8 et 8.8.4.4). Runs pdnsdvous pouvez commencer par sudo /etc/init.d/pdnsd status trouver l'état du cache :

État du cache :
=============
8192 kB taille maximale du cache disque.
613647 des 8398848 octets (7.31%) de mémoire cache utilisés dans 2275 entrées.

DHCP sur Raspberry Pi

Pour que les paramètres soient également adoptés par tous les clients sans effort de configuration supplémentaire, vous devez désactiver le serveur DHCP de la Fritzbox et configurer un serveur DHCP alternatif sur l'ordinateur de la Fritzbox. Raspberry Pi Installer :

sudo aptitude install isc-dhcp-server

La configuration s'effectue ensuite via le fichier /etc/dhcp/dhcpd.conf réalisé. Comme ce point est également bien documenté par des commentaires, je n'aborderai ici que les points les plus importants :

option domain-name-servers 192.168.0.10 ; // IP de notre cache DNS
subnet 192.168.0.0 netmask 255.255.255.0 {
plage 192.168.0.70 192.168.0.100 ;
option domain-name-servers 192.168.0.10 ;
option nom de domaine "fritz.box" ;
option routeurs 192.168.0.1 ;
option adresse de diffusion 192.168.0.255 ;
default-lease-time 600 ;
max-lease-time 7200 ;
}

Cela donne à tous les clients DHCP une IP entre 192.168.0.70 et 192.168.0.100 et les données correctes nécessaires pour utiliser le cache DNS sur le Raspberry Pi. La résolution DNS des domaines déjà visités s'effectue en 2 millisecondes (ce qui correspond à deux fois le ping dans mon réseau).

Cache DNS sur Raspberry Pi - Conclusion

Cela peut ne pas sembler important pour la plupart des gens, mais pour un gros utilisateur comme moi, cela fait une différence si la résolution DNS est plus rapide de quelques millisecondes. Le plus grand avantage : la navigation est plus "vive", en particulier sur les sites web que vous visitez plus souvent et où les données DNS sont en sécurité dans le cache. J'ai fixé la durée minimale du cache à un jour et la durée maximale à une semaine. Si un site web change d'adresse IP, ce qui est le cas lorsqu'un serveur est déplacé, par exemple. Dans ce cas, le cache de pdnsd doit être réinitialisé.

Découverte incidente : le Raspberry Pi peut fonctionner de manière stable sur le port USB de la Fritz!Box 7490, de sorte qu'un bloc d'alimentation séparé pour le petit ordinateur n'est pas nécessaire pour cette configuration. Une autre utilisation ou extension possible de cette configuration est la Utilisation du Raspberry Pi comme serveur Privoxy dans le réseau domestique.

NinkBox Raspberry Pi 4 Model B 4GB RAM + 64 GB carte mémoire, Raspberry Pi Starter Kit avec Cortex A72 1.5GHz, Ultimate Kit supporte le double affichage 4K/1000Mbps/Bluetooth 5.0
1 496 évaluations
NinkBox Raspberry Pi 4 Model B 4GB RAM + 64 GB carte mémoire, Raspberry Pi Starter Kit avec Cortex A72 1.5GHz, Ultimate Kit supporte le double affichage 4K/1000Mbps/Bluetooth 5.0
  • 【4 Go de RAM + carte mémoire de 64 Go】 Ce Raspberry Pi 4 est équipé de 4 Go de mémoire vive. Il dispose d'un espace de stockage caché sur la carte mémoire. Le Raspberry Pi 4B intègre un processeur quadricœur 64 bits à 1,5 GHz, un WLAN bi-bande 2.4/5.0 et un Bluetooth 5.0. Il passe à 1,5 G, ce qui est plus rapide et plus puissant que le Raspberry Pi 3B+. Sous Windows, l'espace de stockage de 64 Go n'est pas affiché, mais vous pouvez quand même l'utiliser. Ne t'inquiète donc pas.
  • 【Matériel mis à jour】Ce dernier modèle de Raspberry Pi 4 offre des améliorations révolutionnaires en termes de vitesse de processeur, de performances multimédia, de connectivité, de mémoire et plus encore ! Le Raspberry Pi 4G mis à jour ajoute le PoE Ethernet indépendant pour plusieurs méthodes d'alimentation et améliore la vitesse de transmission et la stabilité du réseau.Les performances de bureau de ce modèle sont comparables à celles des systèmes PC x86 d'entrée de gamme.
  • 【Design pratique】 Ce kit contient un adaptateur secteur USB-C compatible Raspberry Pi 4 et un interrupteur marche/arrêt facile à utiliser, spécialement conçu pour ce modèle afin de simplifier son utilisation.
  • 【Large utilisation】Raspberry Pi est un petit ordinateur adaptable qui peut remplacer votre ordinateur de bureau. Et Raspberry Pi 4B prend en charge l'intégration et l'extension de systèmes tiers tels que Ubuntu, W10 et IOT. Satisfais tes créations dans différents domaines comme l'intelligence artificielle, la programmation robotique, la reconnaissance vocale, etc. Ses fonctions vont du pratique au nostalgique, puisqu'il peut faire fonctionner un serveur bloquant la publicité aussi facilement qu'une configuration de jeu traditionnelle.
  • 【Super Kit】Il y a 21 composants : 1 x Raspberry Pi 4 modèle B 4 GB, 1 x alimentation 5V 3A avec interrupteur, 1 x carte mémoire 64 GB préinstallée avec NOOBS, 1 x boîtier noir pour Pi, 1 x ventilateur actif, 3 x dissipateurs thermiques en cuivre, 1 x lecteur de carte mémoire (USB C & USB A), 1 x câble HDMI à HDMI, 1 x tournevis , 5 x vis et 5 x écrous. Le kit Raspberry Pi 4 contient le Raspberry Pi 4 et tout ce dont vous avez besoin.

Letzte Aktualisierung am 2022-08-08 at 02:45 / Affiliate Links / Bilder von der Amazon Product Advertising API

12 réflexions sur "Raspberry Pi: Schnelleres Internet mit DNS-Caching

  1. Est-il possible d'écraser des entrées DNS individuelles ? Je voudrais que le Raspberry résolve certains domaines avec des IP locales. Les Fritz!Box sont toutes confrontées à des problèmes de performance lorsque la cible renvoie vers elle-même (bouclage NAT).

  2. Merci pour ces brèves instructions. Le DNS fonctionne à merveille. Qu'en est-il du DHCP ? Dois-je toujours me connecter au routeur ? Comment le Raspberry Pi reconnaît-il que je dois utiliser le DHCP dès que je me connecte au routeur (j'ai un vieux Speedport) ?

    1. Vous devez configurer le routeur pour qu'il distribue le Raspberry Pi comme serveur DNS dans la réponse DHCP pour les clients. Je ne laisserais pas le Pi lui-même fonctionner via DHCP, mais je lui donnerais une adresse IP fixe comme le routeur lui-même.

      L'adresse IP vers "l'extérieur" est toujours dynamique de toute façon, vous ne pouvez pas la définir. Mais ça n'a pas d'importance avec cette configuration.

  3. Est-il possible d'utiliser le logiciel Fritz!Box avec votre routeur ? Cela est probablement possible avec certains modèles plus anciens. Alors vous pourriez le mettre en place. C'est l'une des raisons qui m'ont poussé à passer du routeur Speedport de Telekom loué à la Fritzbox.

  4. Bonjour !

    J'ai configuré pdnsd comme indiqué. Cependant, j'ai observé le phénomène suivant.
    Si je déclenche une résolution dns avec "dig domain", j'obtiens généralement un résultat entre 150-300ms comme première valeur. Si je résous à nouveau le même domaine en utilisant "dig domain", la valeur est de 5-10 ms, comme je l'espérais.
    Jusqu'à présent, tout va bien !
    Mais si je saisis maintenant un nom de domaine dans le navigateur et que je le résous avec "dig domain", la valeur est à nouveau de 150 à 300 ms. Pourquoi ça ? La résolution par le navigateur aurait dû être mise en cache ????.

    Merci d'avance !

    1. C'est exact, en fait les requêtes du navigateur doivent aussi passer par le serveur DNS. Quoi d'autre pourrait être : vous "creusez" domain.de, mais dans le navigateur vous appelez http://www.domain.de techniquement parlant, ce sont deux choses différentes, http://www.domain.de pourrait pointer vers une autre IP.

  5. Max Mustermann

    Qu'est-ce que c'est censé faire exactement ? Les entrées DNS dans le serveur de noms ont des TTL de 3600 secondes (1h) pour la plupart. Comme la plupart des gens ne vident pas leur cache DNS plus fréquemment (par exemple en redémarrant le système), un cache sur la carte SD ne sert à rien. Et si vous ignorez le TTL et que vous le mettez en cache plus longtemps, vous courez le risque de mettre en cache des adresses IP périmées. L'objectif des TTL est précisément d'avoir une date d'expiration pour les entrées DNS.
    Quiconque possède un routeur raisonnablement moderne dispose également d'un cache DNS et quiconque mesure le temps de résolution constatera qu'une deuxième requête identique reçoit une réponse inférieure ou égale à 1 msec, c'est-à-dire directement à partir du cache du routeur.
    La seule raison pour laquelle vous voudriez utiliser un serveur DNS sur le Raspberry Pi serait d'avoir un résolveur compatible DNSSEC à la maison ou de gérer votre propre zone DNS, pour laquelle je n'utiliserais certainement pas un Raspberry Pi 😉 .

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée.

fr_FRFrançais
Retour haut de page