Skip to main content

Fonctionnement

DNS fonctionne principalement avec le protocole UDP au port 53. Une requête contenant le sous-domaine ou FQDN et le type d’enregistrement demandé est envoyée à un serveur DNS. 

Si celui-ci est autoritaire du domaine en question (c’est-à-dire que ce domaine est géré par lui-même) nous répondra directement avec l’information correspondant à la requête, soit le domaine référé par un CNAME, l’adresse IP référée par une entrée A, le serveur de courriel correspondant à l’entrée MX, etc.

S’il n’est pas autoritaire du domaine demandé, il acheminera notre requête à un autre serveur DNS. Si vous utilisez votre routeur comme serveur DNS à la maison, tous les domaines mis à part votre domaine local seront acheminés à un serveur DNS public. Il vous mentionnera alors qu’il n’est pas autoritaire du domaine demandé en vous remettant l’information concernant le domaine demandé lorsque la réponse lui sera acheminée.

Un serveur DNS a généralement une mémoire temporaire pour éviter de questionner son serveur en amont ou “upstream” à chaque requête. Pour cette raison, lorsqu’on enregistre un nouveau domaine public, il est fort probable que notre domaine ne soit pas immédiatement accessible.

Les serveurs publics les plus populaires sont 8.8.8.8 (Google), 1.1.1.1 (Cloudflare), 9.9.9.9 (Quad9) mais tous ces serveurs publics se réfèrent ultimement à “root-servers.org” qui une organisation d’opérateurs indépendants connaissant l’ensemble des domaines publics. Ces “root-servers” sont essentiels au fonctionnement d’Internet tel qu’on le connaît. Sans ce service, il faudrait accéder aux différentes ressources par leur adresse IP.

Tout comme le protocole Telnet, les requêtes et réponses DNS sont visibles en texte clair dans une capture de paquets. Depuis peu, il est maintenant possible d’acheminer ces requêtes de façon encryptée par DNS-over-TLS et DNS-over-HTTPS.