Boostez votre réseau domestique avec la mise en cache DNS en périphérie


  • FrançaisFrançais


  • Si vous avez beaucoup entendu parler de « le cloud » au cours des dernières années, vous avez peut-être aussi entendu parler de quelque chose appelé « la périphérie ».

    Le terme informatique de pointe reflète la reconnaissance que le cloud a des limites. Pour atteindre ces limites, vos données doivent se connecter à l’un des centres de données physiques alimentant le cloud. L’acheminement des données de l’ordinateur d’un utilisateur vers un cluster de serveurs peut être rapide dans certains contextes, mais cela dépend fortement de l’emplacement géographique et de l’infrastructure du réseau. Le cloud lui-même peut être aussi rapide et puissant que possible, mais il ne peut pas faire grand-chose pour compenser le temps nécessaire à l’aller-retour que vos données doivent effectuer.

    [ What’s the latest in edge? See Red Hat’s news roundup from Mobile World Congress 2022. ]

    La réponse est d’utiliser le bord des frontières des réseaux régionaux et du cloud. Lorsque les services ou le calcul initiaux se produisent sur des serveurs à la périphérie, cela accélère les interactions d’un utilisateur avec le cloud.

    Selon le même principe, vous pouvez créer votre propre avantage en exécutant certains services sur votre serveur domestique afin de minimiser les temps de latence aller-retour. Ne laissez pas la terminologie spéciale vous intimider. L’informatique de périphérie peut être aussi simple qu’un appareil IoT ou exécuter un serveur connecté à des services fédérés.

    Un changement particulièrement utile et facile que vous pouvez apporter à votre réseau domestique ou professionnel pour lui donner un coup de pouce consiste à exécuter un service de mise en cache DNS.

    Qu’est-ce que le DNS ?

    Le système de noms de domaine (DNS) nous permet de traduire les adresses IP des serveurs, qu’ils soient dans le cloud ou à l’autre bout de la ville, en noms de sites Web conviviaux comme opensource.com.

    Derrière chaque nom de domaine se trouve un numéro – les noms sont simplement une commodité pour les humains, qui sont plus susceptibles de se souvenir de quelques mots qu’une chaîne de chiffres. Lorsque vous tapez example.com dans un navigateur Web, votre navigateur Web envoie silencieusement une demande sur le port 53 à un serveur DNS pour faire référence au nom example.com avec son registre, puis renvoie la dernière adresse IP connue attribuée à ce nom.

    C’est un aller-retour de votre ordinateur à Internet.

    Armé du bon numéro, votre navigateur Web effectue une deuxième requête, cette fois avec le numéro au lieu du nom, directement vers votre destination.

    C’est un autre aller-retour.

    Pour aggraver les choses, votre ordinateur (selon votre configuration) peut également envoyer des requêtes aux serveurs DNS pour des périphériques nommés sur votre réseau local.

    Vous pouvez supprimer tout ce trafic supplémentaire en utilisant un cache local. Avec un service de mise en cache DNS exécuté sur votre réseau, une fois qu’un appareil de votre réseau obtient un numéro attribué à un site Web, ce numéro est stocké localement, de sorte qu’aucune demande de votre réseau n’a besoin de redemander ce numéro.

    En prime, l’exécution de votre propre serveur de mise en cache DNS vous permet également de bloquer les publicités et de contrôler généralement la façon dont n’importe quel appareil de votre réseau interagit avec certaines des technologies de bas niveau d’Internet.

    Installer Dnsmasq sur Linux

    Installez Dnsmasq à l’aide de votre gestionnaire de packages.

    Sur Fedora, CentOS, Mageia et similaires :

    $ sudo dnf install dnsmasq dnsmasq-utils

    Sur les systèmes Debian et basés sur Debian, utilisez apt au lieu de dnf.

    Configurer Dnsmasq

    Il existe de nombreuses options dans le fichier de configuration par défaut de Dnsmasq.

    Il est situé à /etc/dnsmasq.conf par défaut, et il est bien commenté, vous pouvez donc le lire et choisir ce que vous préférez pour votre réseau.

    Voici quelques-unes des options que j’aime.

    Gardez vos domaines locaux locaux :

    # Never forward plain names (without a dot or domain part)
    domain-needed
    # Never forward addresses in the non-routed address spaces
    bogus-priv

    Ignorez le contenu des sites publicitaires courants. Cette syntaxe remplace la chaîne entre les premières barres obliques par l’adresse de fin :

    # replace ad site domain names with an IP with no ads
    address=/double-click.net/127.0.0.1

    Définissez la taille du cache. La suggestion par défaut est de 150, mais je n’ai jamais pensé que 150 sites Web semblaient suffisants.

    # Set the cachesize here
    cache-size=1500

    Trouver resolv.conf

    Sur la plupart des systèmes Linux, le systemd resolved service gère le /etc/resolv.conf qui régit les serveurs de noms DNS que votre ordinateur contacte pour la résolution du nom en adresse IP.

    Vous pouvez désactiver resolved et courir dnsmasq seul, ou vous pouvez les exécuter tous les deux, en pointant dnsmasq à son propre fichier de résolution.

    Pour désactiver resolved:

    $ sudo systemctl disable --now systemd-resolved

    Alternativement, pour les exécuter tous les deux :

    $ cat << EOF >> /etc/resolvmasq.conf
    # my network name
    domain home.local
    # local hosts
    enterprise 10.0.170.1
    yorktown 10.0.170.4
    # nameservers
    nameserver 208.67.222.222
    nameserver 208.67.220.220
    EOF

    Dans cet exemple, home.local est un nom de domaine que je donne, soit via le protocole DHCP (Dynamic Host Configuration Protocol), soit localement, à tous les appareils de mon réseau. Les ordinateurs enterprise et yorktown sont mes serveurs domestiques, et en les listant ici avec leurs adresses IP locales, je peux les contacter par leur nom via dnsmasq. Finalement, le nameserver les entrées pointent vers de bons serveurs de noms connus sur Internet. Vous pouvez utiliser les serveurs de noms répertoriés ici, ou vous pouvez utiliser les serveurs de noms fournis par votre FAI ou tout serveur de noms public que vous préférez.

    Dans votre dnsmasq.conf fichier, définissez le resolv-file valeur à resolvmasq.conf:

    resolv-file=/etc/resolvmasq.conf

    Démarrer dnsmasq

    Certaines distributions ont peut-être déjà commencé dnsmasq automatiquement lors de l’installation. D’autres vous permettent de le démarrer vous-même lorsque vous êtes prêt. Dans tous les cas, vous pouvez utiliser systemd pour démarrer le service :

    $ sudo systemd enable --now dnsmasq

    Testez-le avec le dig commander.

    Lorsque vous contactez un serveur pour la première fois, le temps de requête peut être compris entre 50 et 500 millisecondes (espérons pas plus que cela) :

    $ dig example.com | grep Query\ time
    ;; Query time: 56 msec

    La prochaine fois que vous l’essayez, cependant, le temps de requête est considérablement réduit :

    $ dig example.com | grep Query\ time
    ;; Query time: 0 msec

    Bien mieux !

    Activez dnsmasq pour l’ensemble de votre réseau

    Dnsmasq est un outil utile sur un seul appareil, mais c’est encore mieux lorsque vous laissez tous les appareils de votre réseau en bénéficier.

    Voici comment ouvrir le dnsmasq service jusqu’à l’ensemble de votre réseau local :

    1. Obtenez l’adresse IP du serveur exécutant le dnsmasq service

    Sur l’ordinateur en cours d’exécution dnsmasqobtenez l’adresse IP locale :

    $ dig example.com | grep Query\ time
    ;; Query time: 0 msec

    Dans cet exemple, l’adresse IP du Raspberry Pi que j’utilise dnsmasq le est 10.0.170.170. Parce que ce Pi est maintenant une partie importante de mon infrastructure réseau, son adresse est attribuée de manière statique par mon routeur DHCP. Si je lui permettais d’obtenir une adresse IP dynamique, il Probablement ne changerait pas (DHCP est conçu pour être utile de cette façon) mais si c’était le cas, tout mon réseau serait privé des avantages de dnsmasq.

    2. Modifiez le pare-feu du serveur pour autoriser le trafic sur le port 53

    Ouvrez un port dans le pare-feu de votre serveur à l’aide de firewall-cmd afin qu’il autorise les requêtes DNS et envoie des réponses.

    $ sudo firewall-cmd --add-service dns --permanent

    3. Ajoutez l’adresse IP du serveur au nameserver entrée de votre routeur domestique

    Sachant que l’adresse de mon serveur DNS local est 10.0.170.170 (rappelez-vous qu’elle est presque certainement différente sur votre propre réseau), je peux l’ajouter en tant que serveur de noms principal sur mon routeur domestique.

    Il existe de nombreux routeurs et il n’y a pas d’interface unique.

    Cependant, la tâche est la même et le flux de travail est généralement relativement similaire d’un modèle à l’autre.

    Dans mon routeur Turris Omnia, l’interface avancée permet le transfert DNS, qui envoie des requêtes DNS à un serveur de mon choix.

    Entrer 10.0.170.170 (l’IP de mon dnsmasq server) force ici tout le trafic DNS à être acheminé via Dnsmasq pour la mise en cache et la résolution.

    Dans mon routeur TP-Link, en revanche, les paramètres DNS sont configurés dans le panneau DHCP.

    Cela peut prendre un peu d’exploration, alors n’ayez pas peur de regarder autour de vous dans l’interface de votre routeur pour les paramètres du serveur DNS. Lorsque vous le trouvez, entrez l’adresse de votre serveur Dnsmasq, puis enregistrez les modifications.

    Certains modèles nécessitent que le routeur redémarre lorsque des modifications sont apportées.

    Tous les appareils de votre réseau héritent des paramètres du routeur, donc maintenant tout le trafic DNS passant d’un appareil à Internet passe par votre serveur Dnsmasq.

    Près du bord

    Au fur et à mesure que de plus en plus de sites Web sont ajoutés au cache DNS de votre serveur, le trafic DNS devra de moins en moins souvent aller plus loin que votre serveur Dnsmasq local.

    Le principe de calcul local et rapide dans la mesure du possible est le moteur de l’informatique de pointe. Vous pouvez imaginer à quel point il est important, rien qu’en faisant cet exercice, que les technologies utilisent des emplacements géographiques stratégiques pour accélérer les interactions sur Internet.

    Que vous travailliez sur l’edge computing à la maison, au travail ou en tant qu’architecte cloud, la périphérie est un composant important du cloud, et vous pouvez l’utiliser à votre avantage.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

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