Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
dns [Le 25/05/2025, 21:40] krodelabestiole [Choix d'un serveur DNS alternatif] censure par la FDN ? / suppr nombreux projets et liens morts / pas de namebench dans les paquets, dernière version en 2017 |
dns [Le 25/05/2025, 23:37] (Version actuelle) krodelabestiole + pi-hole / corrections |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>serveur réseau entreprise}} | + | {{tag>noble jammy serveur réseau entreprise}} |
====== DNS - Système des noms de domaine ====== | ====== DNS - Système des noms de domaine ====== | ||
- | Le **[[wpfr>Domain Name System]]** (ou DNS, **système de noms de domaine**) est un service permettant d'établir une correspondance entre une adresse IP et un nom de domaine. | + | Le **[[wpfr>Domain Name System]]** (ou DNS, **système de noms de domaine**) est un service permettant d'établir une correspondance entre une adresse IP et un [[:web#nom de domaine]]. |
- | {{ https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/DNS_iterations.svg/663px-DNS_iterations.svg.png?300|Fonctionnement du système des noms de domaine (Source: Wikipedia)}} | + | {{ https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/DNS_iterations.svg/663px-DNS_iterations.svg.png?300|Fonctionnement du système des noms de domaine (Source: Wikipedia)}} |
Les réseaux informatiques sont composés d'ordinateurs qui communiquent entre eux à l'aide d'adresses numériques uniques, appelées adresses IP. Chaque adresse IP identifie un ordinateur (clients et serveurs). L'adresse numérique facilite grandement le traitement pour l'ordinateur. Or, pour un être humain, il est beaucoup plus facile de se souvenir d'une série de lettres et de mots que d'une suite de chiffres. | Les réseaux informatiques sont composés d'ordinateurs qui communiquent entre eux à l'aide d'adresses numériques uniques, appelées adresses IP. Chaque adresse IP identifie un ordinateur (clients et serveurs). L'adresse numérique facilite grandement le traitement pour l'ordinateur. Or, pour un être humain, il est beaucoup plus facile de se souvenir d'une série de lettres et de mots que d'une suite de chiffres. | ||
- | + | Le système des [[:web#nom de domaine|noms de domaine]] a été inventé pour pallier ce problème : il fait correspondre une adresse alphanumérique (ex. : ''%%www.ubuntu-fr.org%%'') à une adresse IP numérique (ex. : ''88.191.119.240''). Cette correspondance -- appelée //résolution// -- s'effectue à l'intérieur d'un serveur spécialisé dédié à résoudre des noms de domaine, dit serveur DNS. | |
- | Le système des noms de domaine a été inventé pour pallier ce problème : il fait correspondre une adresse alphanumérique (ex : //%%www.ubuntu-fr.org%%//) à une adresse IP numérique (ex : //88.191.119.240//). Cette correspondance -- appelée //résolution// -- s'effectue à l'intérieur d'un serveur spécialisé dédié à résoudre des noms de domaine, dit serveur DNS. | + | |
===== Utiliser un serveur DNS ===== | ===== Utiliser un serveur DNS ===== | ||
- | ==== Choix d'un serveur DNS alternatif ==== | + | ==== Choix d'un serveur DNS ==== |
Voici une liste de serveurs DNS que vous pouvez librement utiliser : | Voici une liste de serveurs DNS que vous pouvez librement utiliser : | ||
Centralisé : | Centralisé : | ||
- | * [[https://www.fdn.fr/actions/dns/|Résolveurs DNS ouverts du FDN]] : DNS français contre la censure de l'association French Data Network | + | * [[https://www.fdn.fr/actions/dns/|Résolveurs DNS ouverts du FDN]] : DNS français contre la censure de l'association //French Data Network//, association bien connue et de confiance. |
* [[https://blog.uncensoreddns.org/|UncensoredDNS]] : DNS danois contre la censure | * [[https://blog.uncensoreddns.org/|UncensoredDNS]] : DNS danois contre la censure | ||
- | * [[https://opennicproject.org/|OpenNIC Project]] est une organisation qui dirige un réseau alternatif de DNS. OpenNIC est détenu et exploité par la communauté OpenNIC. L'adhésion est ouverte à tous ceux qui partagent un intérêt à garder DNS gratuit pour tous les utilisateurs. L'objectif est de vous fournir des services DNS rapides, neutres et fiables et l'accès à des domaines qui ne sont pas administrés par l'ICANN. OpenNIC offre une résolution à tous les domaines de l'ICANN ainsi que les TLDs propres à OpenNIC comme : .bit, .chan, .geek, .parody, .oss, .null... | + | * [[https://opennicproject.org/|OpenNIC Project]] est une organisation qui dirige un réseau alternatif de DNS. OpenNIC est détenu et exploité par la communauté OpenNIC. L'adhésion est ouverte à tous ceux qui partagent un intérêt à garder DNS gratuit pour tous les utilisateurs. L'objectif est de vous fournir des services DNS rapides, neutres et fiables et l'accès à des domaines qui ne sont pas administrés par l'ICANN. OpenNIC offre une résolution à tous les domaines de l'ICANN ainsi que les TLDs propres à OpenNIC comme : ''.bit'', ''.chan'', ''.geek'', ''.parody'', ''.oss'', ''.null''... |
Décentralisé : | Décentralisé : | ||
* [[http://www.cs.cornell.edu/people/egs/beehive/codons.php|CoDoNS]] Cooperative Domain Name System | * [[http://www.cs.cornell.edu/people/egs/beehive/codons.php|CoDoNS]] Cooperative Domain Name System | ||
- | ==== Configuration d'un DNS alternatif graphiquement ==== | + | ==== Configuration d'un DNS graphiquement ==== |
- | Pour modifier les DNS d'une version desktop d'Ubuntu (Unity, KDE etc.), il est préférable de passer par [[:network-manager|NetworkManager]]. Il est à noter que NetworkManager, //écrase// (en créant une copie tout de même) la configuration du fichier /etc/network/interfaces. Il prend donc le dessus vis-à-vis de ce qui aurait pu être configuré en ligne de commande. NetworkManager gère la manière dont le PC se connecte à la box, par défaut il est paramétré pour envoyer une requête DHCP au modem/box (attribution IP), dans la foulée ce sont les DNS par défaut du routeur/box qui sont utilisés. Les configurations qui auraient pu être faites au préalable en ligne de commande seront donc irrémédiablement //écrasées//. | + | La configuration d'un DNS se fait dans les [[:gnome-control-center|paramètres système]]. |
- | Avec NetworkManager pour modifier les DNS, procéder comme suit : | + | {{:captures:reseaux.png?direct&400|Capture sélection réseau}} |
+ | {{:captures:dns.png?direct&400|Capture IPv4}} | ||
- | * Clic droit sur l’icône de NetworkManager puis : cliquez sur //Modification des connexions//. | + | - Dans la section **//Réseau//** cliquez sur l'engrenage à droite de la connexion active -- //Connectée// (ou celle dont vous souhaitez personnaliser les DNS). |
- | * Choisir quelle connexion est à modifier (Paramètres filaire ou Paramètres Wifi), puis cliquer sur le bouton représentant un engrenage. | + | - Dans l'onglet **//IPv4//**, désélectionnez //DNS Automatique// et entrez les adresses des serveurs DNS [[wpfr>IPv4]] de votre choix, séparées par des virgules. |
- | * Cliquer sur l'onglet //Paramètres IPv4//. | + | - Vous pouvez en faire de même avec l'onglet **//IPv6//** si les serveurs DNS proposent aussi des résolveurs [[wpfr>IPv6]]. |
- | * Dans //Méthode// sélectionner **//Adresse automatique uniquement (DHCP)//**. | + | |
- | * Dans la case //Serveurs DNS//, entrer la ou les adresses DNS souhaitées (si plusieurs adresses, mettre une virgule entre chaque adresse). | + | |
- | * Basculer le sélecteur Automatique sur off (comme sur l'image) | + | |
- | {{:administration:ethernet:dns_network-manager_dns-alternatif_.png?direct|}} | + | |
- | * Cliquer sur //Appliquer//. | + | |
- | * Si connecté en wi-fi : se déconnecter puis se reconnecter. | + | |
- | FIXME : en affectant l'entrée **//Adresse automatique uniquement (DHCP)//** il doit ensuite être possible de modifier les DNS en ligne de commande sans qu'ils soient écrasées par NetworkManager. | + | <note tip> |
+ | Il est aussi possible de définir des DNS personnalisés au niveau du serveur [[wpfr>DHCP]]. Il s'agit généralement de la //box// Internet, à condition que le FAI le permette (c'est le cas de Free, mais pas de Orange par exemple). C'est toujours le cas sur un routeur dédié. | ||
- | ==== Configuration d'un DNS alternatif avec le terminal === | + | On définit ainsi des DNS personnalisés pour tout son réseau local (sauf pour les appareils Android qui utilisent par défaut les DNS de Google, et les appareils iOS qui utilisent ceux d'Apple, il faudra pour ceux-ci les changer manuellement et indépendamment). |
+ | </note> | ||
- | À partir d'Ubuntu 12.04 les versions serveurs et les versions desktop d'Ubuntu utilisent resolvconf((http://askubuntu.com/questions/368435/how-do-i-fix-dns-resolving-which-doesnt-work-after-upgrading-to-ubuntu-13-10-s/368935#368935)). | + | ==== Configuration d'un DNS avec le terminal === |
- | Les méthodes en lignes de commande sont à effectuer sur les versions serveur d'Ubuntu, pour les versions desktop il est préférable de passer par l'utilitaire graphique (voir la section [[:dns#Par_interface_graphique|Par interface graphique]]). | + | |
- | === A partir d'Ubuntu 18.04 (ligne de commande) === | + | <note warning> |
- | <note warning>Cette page ne présente pas [[:netplan]] qui est la méthode de configuration par défaut à partir de 18.04.</note> | + | Les méthodes en lignes de commande sont à effectuer sur les versions [[:serveur]] d'Ubuntu, pour les versions desktop il est préférable de passer par l'utilitaire graphique (voir la section //[[#Configuration d'un DNS graphiquement]]//). |
- | + | </note> | |
- | === A PARTIR d'Ubuntu 12.04 (ligne de commande) === | + | La configuration des DNS peut se faire en éditant la connexion correspondante de **[[:netplan]]**.\\ |
- | + | Par exemple pour utiliser les DSN du [[https://www.fdn.fr/actions/dns/|FDN]] : | |
- | Il faut modifier les fichiers de configuration des interfaces réseau. La modification se reportera directement par l’intermédiaire de l'utilitaire [[resolvconf]] au redémarrage du service réseau. | + | nameservers: |
- | + | addresses: [80.67.169.12, 80.67.169.40] | |
- | il faut donc modifier le fichier /etc/network/interfaces | + | |
- | + | ||
- | On crée au préalable une copie : | + | |
- | + | ||
- | <code bash> | + | |
- | sudo cp /etc/network/interfaces /etc/network/interfaces.copie | + | |
- | </code> | + | |
- | + | ||
- | Puis : | + | |
- | + | ||
- | <code bash> | + | |
- | sudo nano /etc/network/interfaces | + | |
- | </code> | + | |
- | + | ||
- | Vous devez avoir un contenu du type : | + | |
- | <code> | + | |
- | /etc/network/interfaces# This file describes the network interfaces available o$ | + | |
- | # and how to activate them. For more information, see interfaces(5). | + | |
- | + | ||
- | # The loopback network interface | + | |
- | auto lo | + | |
- | iface lo inet loopback | + | |
- | + | ||
- | auto eth0 | + | |
- | iface eth0 inet static | + | |
- | address 91.121.0.1 | + | |
- | netmask 255.255.255.0 | + | |
- | network 91.121.0.0 | + | |
- | broadcast 91.121.0.255 | + | |
- | gateway 91.121.0.254 | + | |
- | dns-nameservers 8.8.8.8 8.8.4.4 | + | |
- | </code> | + | |
- | + | ||
- | La ligne importante dans notre cas est la dernière ligne. Si elle n'existe pas il suffit juste de la rajouter. Ici les adresses IP des serveurs DNS public de Google 8.8.8.8 et 8.8.4.4 sont utilisées. | + | |
- | + | ||
- | Ne pas oublier ensuite de relancer le service réseau : | + | |
- | <code bash> | + | |
- | sudo service networking restart | + | |
- | </code> | + | |
===== Gérer son propre serveur DNS ===== | ===== Gérer son propre serveur DNS ===== | ||
Si vous avez la gestion d'une grosse infrastructure, vous pouvez être amené à installer et administrer vous-même un serveur DNS. Voici une liste de logiciels jouant le rôle de serveur DNS installables sur Ubuntu : | Si vous avez la gestion d'une grosse infrastructure, vous pouvez être amené à installer et administrer vous-même un serveur DNS. Voici une liste de logiciels jouant le rôle de serveur DNS installables sur Ubuntu : | ||
- | * [[Bind9]] voir comme exemple [[configuration_serveur_dns_bind9_pour_son_poste_de_travail|Configurer un serveur DNS Bind9 pour son poste de travail]] | + | * [[:Bind9]] voir comme exemple //[[configuration_serveur_dns_bind9_pour_son_poste_de_travail|Configurer un serveur DNS Bind9 pour son poste de travail]]// |
- | * Dnsmasq voir comme exemple [[configuration_serveur_dns_pour_son_poste_de_travail|Configurer un serveur DNS pour son poste de travail]] ou [[configuration_serveur_dns_dhcp|Configurer un serveur DNS avec un serveur DHCP]] | + | * [[https://thekelleys.org.uk/dnsmasq/doc.html|Dnsmasq]] voir comme exemple //[[:configuration_serveur_dns_pour_son_poste_de_travail|Configurer un serveur DNS pour son poste de travail]]// ou //[[:configuration_serveur_dns_dhcp|Configurer un serveur DNS avec un serveur DHCP]]// |
- | * [[pdns|PowerDNS]] | + | * [[:pdns|PowerDNS]] |
- | * [[Unbound]] | + | * [[:Unbound]] |
+ | |||
+ | <note tip>Voir aussi certains projets d'OS indépendants dont c'est le rôle exclusif, tels que [[https://pi-hole.net/|Pi-hole]].</note> | ||
- | ===== Problèmes connus===== | + | ===== Problèmes connus===== |
- | ==== Utilisation d'un serveur DNS local ==== | + | ==== Vider le cache DNS ==== |
- | Depuis Ubuntu 12.04, [[network-manager|Network-Manager]] intègre [[configuration_serveur_dns_dhcp|Dnsmasq]], ce qui provoque des perturbations dans la résolution DNS pour un réseau local reposant sur [[bind9|Bind9]] par exemple. Le symptôme est simple, parfois l'infrastructure DNS fonctionne, parfois non. La solution ici est de désactiver Dnsmasq dans Network-Manager: | + | Même en tant qu'utilisateur, Ubuntu mémorise un cache DNS pour accélérer les accès aux sites. Lors d'un changement de serveur d'un site (surtout si vous administrez des sites web), ce cache peut ne pas se mettre à jour aussi vite que vous en avez besoin. |
- | <note> | + | |
- | Tout le monde n'a pas de soucis avec bind9 et dnsmasq | + | |
- | </note> | + | |
- | <code bash>sudo nano /etc/NetworkManager/NetworkManager.conf</code> | + | |
- | Et de commenter la ligne "dns=dnsmasq" de cette façon: | + | |
- | <code>#dns=dnsmasq</code> | + | |
- | + | ||
- | Il faut aussi désactiver le service dnsmasq au démarrage: | + | |
- | <code bash>sudo update-rc.d -f dnsmasq remove</code> | + | |
- | et redémarrer Network-manager | + | |
- | <code bash>sudo service network-manager restart</code> | + | |
- | + | ||
- | ==== Vider le cache ==== | + | |
- | + | ||
- | Même en tant qu'utilisateur, ubuntu mémorise un cache DNS pour accélérer les accès aux sites. Lors d'un changement de serveur d'un site (surtout si vous administrez des sites web), ce cache peut ne pas se mettre à jour aussi vite que vous en avez besoin.\\ | + | |
- | Pour le vider manuellement, lancer cette commande avec les [[:sudo|droits d'administration]]((source: https://www.techrepublic.com/article/how-to-flush-the-dns-cache-on-linux/)): | + | |
- | <code bash>systemd-resolve --flush-caches</code> | + | |
- | + | ||
- | A partir de la version 20.04, la commande((source: https://manpages.ubuntu.com/manpages/focal/en/man1/resolvectl.1.html)) serait: | + | |
- | <code bash>resolvectl flush-caches</code>\\ | + | |
+ | Pour le vider manuellement, lancer cette commande : | ||
+ | <code bash>resolvectl flush-caches</code> | ||
La commande: | La commande: | ||
- | <code bash>systemd-resolve --statistics</code> | ||
- | ou | ||
<code bash>resolvectl statistics</code> | <code bash>resolvectl statistics</code> | ||
avant et après le //flush// peut-être intéressante pour vérifier que le //Current Cache Size// est passé à 0. | avant et après le //flush// peut-être intéressante pour vérifier que le //Current Cache Size// est passé à 0. | ||
+ | ==== Utilisation d'un serveur DNS local ==== | ||
+ | Ubuntu intègre [[:configuration_serveur_dns_dhcp|Dnsmasq]], un cache DNS qui peut provoquer des perturbations dans la résolution DNS pour un réseau local reposant sur [[:Bind9]] par exemple. Le symptôme est simple, parfois l'infrastructure DNS fonctionne, parfois non. La solution peut être de désactiver Dnsmasq. | ||
- | =====Voir aussi ===== | + | ===== Voir aussi ===== |
- | * **(en)** [[https://evolvingtrends.wordpress.com/2006/09/02/kill-verisign-p2p-dns-for-firefox/|P2P DNS for Firefox]] | + | * **(//en//)** [[https://evolvingtrends.wordpress.com/2006/09/02/kill-verisign-p2p-dns-for-firefox/|P2P DNS for Firefox]] |
- | * **(en)** [[http://www.advogato.org/article/1033.html|Proposal to extend DNS with Peer to Peer server-independence]] | + | * **(//en//)** [[http://www.advogato.org/article/1033.html|Proposal to extend DNS with Peer to Peer server-independence]] |
- | * **(en)** [[https://www.cambus.net/free-public-dns-servers-list/|Free public DNS servers list]] | + | * **(//en//)** [[https://www.cambus.net/free-public-dns-servers-list/|Free public DNS servers list]] |
- | * **(en)** [[http://code.google.com/intl/fr/speed/public-dns/|Google public DNS]] peut remplacer vos DNS actuels (**lien mort**). | + | * **(//en//)** [[http://www.opennicproject.org/|Opennic project DNS]] |
- | * **(en)** [[http://www.opennicproject.org/|Opennic project DNS]] | + | |
- | * [[http://www.planet-libre.org/|Sécuriser les échanges entre deux serveurs DNS (maitre/esclave)]] | + | |
* //[[https://zestedesavoir.com/tutoriels/2789/les-reseaux-de-zero/reprenons-du-service/dns/|DNS arrive à point nommé]]// : présentation du service DNS sur zestedesavoir | * //[[https://zestedesavoir.com/tutoriels/2789/les-reseaux-de-zero/reprenons-du-service/dns/|DNS arrive à point nommé]]// : présentation du service DNS sur zestedesavoir | ||
Ligne 152: | Ligne 90: | ||
{{backlinks>dns}} | {{backlinks>dns}} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | //Contributeurs : [[:utilisateurs:krodelabestiole]]...// |