Pourquoi devrais-je utiliser un nom de domaine complet au lieu de l'adresse IP du serveur?

29

Dans mon travail avec les serveurs, je suis tombé sur des fichiers de configuration où vous devez entrer l'adresse d'un serveur externe. J'ai vu certains utiliser directement l'adresse IP du serveur, mais j'ai entendu de nombreuses recommandations pour utiliser à la place un nom de domaine complet (FQDN). Pourquoi devrais-je utiliser un nom d'hôte au lieu de l'adresse IP directe?

Parce que si vous utilisez un nom d'hôte, vous aurez besoin d'un serveur DNS local qui relierait chaque nom d'hôte à une adresse IP. Quel est l'inconvénient entre l'utilisation d'un nom d'hôte ou d'une adresse IP?

Emil Rowland
la source
5
si vous avez des IP dynamiques, il est probablement plus facile de simplement changer l'enregistrement DNS. et pourquoi un serveur DNS local? pourquoi ne pas simplement faire en sorte que toutes les machines aient des IP résolvables publiquement? un autre inconvénient des IP est que, même si elles ne sont pas dynamiques, elles dépendent probablement de l'emplacement physique, ce qui rend plus difficile la migration vers un emplacement différent. Fondamentalement, il semble que vous demandiez pourquoi le DNS a été inventé. cette question a reçu de nombreuses réponses ailleurs.
Janus Troelsen
1
Il a toujours été recommandé (dans les RFC, par exemple) qu'au niveau de l' application , on ne traite que des noms d'hôte. Cependant, certaines applications ne fonctionneront même pas avec IP. Néanmoins, je suis moi-même coupable de contacter souvent mes appareils par IP au lieu du nom d'hôte - mais cette mauvaise habitude prendra fin dès que nous aurons entièrement migré vers IPv6 :)
Hagen von Eitzen
Parce que bien sûr, le serveur externe sécurisera toutes les communications avec SSL, et les certificats SSL seront signés pour le FQDN, et votre application ne peut pas vérifier le bon serveur si vous utilisez l'adresse IP. Droite? : |
TessellatingHeckler
1
@HagenvonEitzen Êtes-vous sûr de ne jamais taper ::1? :-)
un CVn le

Réponses:

54

L'utilisation d'une adresse IP garantit que vous ne comptez pas sur un serveur DNS. Il a également l'avantage de prévenir les attaques par usurpation DNS.

L'utilisation d'un nom de domaine complet au lieu d'une adresse IP signifie que, si vous deviez migrer votre service vers un serveur avec une adresse IP différente, vous seriez simplement en mesure de modifier l'enregistrement dans DNS plutôt que d'essayer de trouver partout que l'adresse IP est utilisée .

Cela est particulièrement utile lorsque vous disposez de nombreux serveurs et services configurés par plusieurs personnes.

Joshua Griffiths
la source
1
Surtout si la connaissance de cette adresse IP est également externe, comme si des clients, des partenaires ou des fournisseurs l'utilisent. Imaginez que si au lieu de stackoverflow.com, nous allions tous vers une adresse IP que nous connaissions sous le nom de stackoverflow.com, puis qu'ils devaient changer l'adresse IP? Comment diraient-ils à chaque utilisateur possible du site que l'IP a changé? D'où les noms.
Brandon
@Brandon ce serait la même chose que si elles décidé de changer de stackoverflow.com à heapunderflow.com L'avantage initial des noms de domaine est pour l' homme de se rappeler au stackoverflow.comlieu de 151.101.1.69. Bien sûr, de nos jours, cela permet également l'hébergement virtuel, les sous-domaines liés à leurs parents et d'autres avantages qui en ont découlé.
Ángel
2
Je pense que le cœur de cette réponse est qu'une organisation possède son nom de domaine complet; mais peut ne pas posséder son adresse IP.
Pieter Geerkens
1
Essayez d'exécuter HTTPS / Kerberos sur IP vs FQDN.
Aron
C'est littéralement l'objectif du DNS.
Courses de légèreté avec Monica
40

DNS n'est pas seulement FQDN = IP

L'important à propos du DNS est qu'il fournit plus que de simples enregistrements A (nom d'hôte = IP). DNS fournit différents types d'enregistrements tels que MX, CNAME, TXT, etc ... qui peuvent parfois être requis par certains logiciels. Il permet plusieurs enregistrements d'adresses, enregistrements IPv4 + IPv6, adresses dynamiques, équilibrage de charge, résolution basée sur la géolocalisation, basculement / redondance, etc. .4.110? Qu'est-ce que c'est?) Il vous permet de modifier ces paramètres / enregistrements et de les faire ramasser par les clients sans apporter de modifications à tous les clients. Le DNS peut faire des choses complexes.

Il y a souvent un net avantage à utiliser DNS sur une adresse IP directe.

Les noms de domaine complets peuvent être une exigence

Certaines choses comme les serveurs Web qui utilisent l'hébergement virtuel basé sur le nom ou les équilibreurs de charge, etc ... nécessitent absolument que vous les adressiez via un nom de domaine complet ou un nom d'hôte. Ils déterminent comment répondre à votre demande en fonction du FQDN auquel vous vous connectez. La connexion via une adresse IP peut ne pas fonctionner du tout.

Les certificats SSL sont émis en fonction des noms de domaine, il est donc possible que vous ne puissiez pas utiliser certains services compatibles SSL (correctement) sans DNS.

Il s'agit d'une requête de fouille pour le domaine google.com pour vous donner un aperçu de la complexité du DNS

google.com. 299 DANS UN 172.217.0.174
google.com. 299 EN AAAA 2607: f8b0: 400b: 807 :: 200e
google.com. 599 DANS MX 10 aspmx.l.google.com.
google.com. 599 EN MX 40 alt3.aspmx.l.google.com.
google.com. 59 DANS SOA ns2.google.com. dns-admin.google.com. 126990955 900 900 1800 60
google.com. 599 IN MX 30 alt2.aspmx.l.google.com.
google.com. 21599 EN NS ns2.google.com.
google.com. 599 EN MX 20 alt1.aspmx.l.google.com.
google.com. 599 IN MX 50 alt4.aspmx.l.google.com.
google.com. 21599 EN NS ns1.google.com.
google.com. 3599 IN TXT "v = spf1 comprend: _spf.google.com ~ all"
google.com. 21599 IN CAA 0 numéro "symantec.com"
google.com. 21599 EN NS ns3.google.com.
google.com. 21599 EN NS ns4.google.com.

Yahoo répond avec 3 adresses IP

$ host -ta yahoo.ca
yahoo.ca a l'adresse 77.238.184.24
yahoo.ca a l'adresse 74.6.50.24
yahoo.ca a l'adresse 98.137.236.24

Avantage d'utiliser une adresse IP

Pour moi, c'est généralement lorsque le DNS peut gêner ou n'est pas disponible. En général, j'utiliserais DNS pour la plupart des choses.

Un exemple où une adresse IP pourrait être meilleure serait lorsque vous avez deux machines avec une liaison directe entre elles (pas de commutateur) avec des adresses de réseau privé (par exemple 192.168.1.1 et 192.168.1.2) et qu'elles l'utilisent pour des communications à haute disponibilité ou DRBD ou un autre service très spécifique. Dans ce cas, la configuration de choses dans DNS n'a probablement aucun sens. Ce n'est pas nécessaire, ajouterait de la complexité, des problèmes de performances et pourrait introduire un point d'échec.

Un autre exemple est le routage. Les tables de routage enregistrent les adresses IP pour diverses raisons.

Un autre fait référence aux serveurs de noms (comme dans /etc/resolv.conf). Puisque sans serveur de noms, vous ne pouvez rien résoudre.

Ryan Babchishin
la source
C'est une excellente réponse, mais elle devrait aussi probablement dire quelque chose sur les services hébergés; IP⟷FQDN est un mappage plusieurs-à-plusieurs, pas plusieurs-à-un.
moelleux
Merci et d'accord. Le DNS est très utile pour l'hébergement virtuel basé sur le nom, si c'est à cela que vous faites référence.
Ryan Babchishin
Oui, c'est à cela que je faisais référence.
moelleux
Excellente réponse qui fait vraiment DNS correctement - bookmarking pour référence future. Un petit reproche que j'ai est votre commentaire "Les tables de routage enregistrent les adresses IP pour diverses raisons." Quelles sont les différentes raisons auxquelles vous vous référez? Les tables de routage n'ont pas d'autre choix que d'utiliser des adresses IP car le routage se produit au niveau de la couche Internet, tandis que DNS utilise la couche application et dépend donc nécessairement du routage.
gardenhead
@gardenhead Merci. C'est vrai à propos du routage, je ne voulais tout simplement pas y entrer. Pardonnez mon choix de mots.
Ryan Babchishin