Perché dovrei usare un nome di dominio completo anziché l'indirizzo IP del server?


29

Nel mio lavoro con i server mi sono imbattuto in file di configurazione in cui dovresti inserire l'indirizzo su un server esterno. Ho visto alcuni utilizzare direttamente l'indirizzo IP del server, ma ho sentito molti consigli per utilizzare invece un nome host nome di dominio completo (FQDN). Perché dovrei usare un nome host anziché l'indirizzo IP diretto?

Perché se si utilizza un nome host, è necessario un server DNS locale che colleghi ciascun nome host a un indirizzo IP. Qual è lo svantaggio tra l'utilizzo di un nome host o di un indirizzo IP?


5
se si dispone di IP dinamici, è probabilmente più semplice modificare il record DNS. e perché un server DNS locale? perché non rendere tutte le macchine dotate di IP risolvibili pubblicamente? un altro svantaggio degli IP è che, anche se non sono dinamici, probabilmente dipendono comunque dalla posizione fisica, rendendo più difficile la migrazione in una posizione diversa. fondamentalmente, sembra che ti stia chiedendo perché il DNS è stato inventato. questa domanda ha avuto risposta molte volte altrove.
Janus Troelsen,

1
È sempre stata una raccomandazione (in RFC, ad esempio) che a livello di applicazione uno si occupa solo di nomi host. Tuttavia, alcune applicazioni non funzioneranno nemmeno se non con IP. Tuttavia, io stesso sono colpevole di contattare spesso i miei dispositivi tramite IP anziché nome host, ma questa cattiva abitudine finirà sicuramente non appena saremo migrati completamente su IPv6 :)
Hagen von Eitzen

Perché, naturalmente, il server esterno proteggerà tutte le comunicazioni con SSL e i certificati SSL saranno firmati per il nome di dominio completo e l'applicazione non può verificare il server giusto se si utilizza l'indirizzo IP. Destra? : |
TessellatingHeckler,

1
@HagenvonEitzen Sicuro che non scriverai mai e poi mai ::1? :-)
un CVn

Risposte:


54

L'uso di un indirizzo IP garantisce che non si stia facendo affidamento su un server DNS. Ha anche il vantaggio di prevenire gli attacchi attraverso lo spoofing DNS.

L'uso di un nome di dominio completo anziché di un indirizzo IP significa che, se si dovesse migrare il servizio su un server con un indirizzo IP diverso, si sarebbe in grado di modificare semplicemente il record nel DNS piuttosto che cercare ovunque di trovare l'indirizzo IP .

Ciò è particolarmente utile quando si hanno molti server e servizi configurati da più persone.


1
Soprattutto se la conoscenza di quell'indirizzo IP è anche esterna, come se lo usassero clienti o partner o fornitori. Immagina se invece di stackoverflow.com, siamo tutti andati a un IP che conoscevamo come stackoverflow.com, e quindi dovevano cambiare l'IP? Come direbbero a ogni singolo utente possibile del sito che l'IP è cambiato? Da qui i nomi.
Brandon,

@Brandon sarebbe lo stesso che se avessero deciso di passare da stackoverflow.com a heapunderflow.com Il vantaggio originale dei nomi di dominio è che gli umani devono ricordare stackoverflow.cominvece di 151.101.1.69. Naturalmente oggigiorno ciò consente anche l'hosting virtuale, i sottodomini relativi ai loro genitori e altri benefici che ne sono derivati.
Ángel,

2
Penso che il nocciolo di questa risposta sia che un'organizzazione possiede il suo nome di dominio completo; ma potrebbe non possedere il suo indirizzo IP.
Pieter Geerkens,

1
Prova a eseguire HTTPS / Kerberos su IP vs FQDN.
Aron,

Questo è letteralmente lo scopo del DNS.
Lightness Races con Monica l'

40

DNS non è solo FQDN = IP

La cosa importante di DNS è che fornisce più di un semplice record A (nome host = IP). DNS fornisce diversi tipi di record come MX, CNAME, TXT, ecc ... che possono essere richiesti da alcuni software, a volte. Consente più record di indirizzi, record IPv4 + IPv6, indirizzi dinamici, bilanciamento del carico, risoluzione basata sulla posizione geografica, failover / ridondanza, ecc ... DNS ti dice cosa sono (www.google.com è il servizio web di Google, 172.217 .4.110? Che cos'è?) Ti consente di modificare queste impostazioni / registrazioni e farle raccogliere dai clienti senza apportare modifiche a tutti i client. Il DNS può fare cose complesse.

C'è spesso un chiaro vantaggio nell'uso del DNS su un indirizzo IP diretto.

I nomi di dominio completi possono essere un requisito

Alcune cose come i server web che usano l'hosting virtuale basato sul nome o il bilanciamento del carico, ecc ... richiedono assolutamente di indirizzarli tramite un nome di dominio completo o un nome host. Determinano come rispondere alla tua richiesta in base al nome di dominio completo a cui ti stai connettendo. La connessione tramite un IP potrebbe non funzionare affatto.

I certificati SSL vengono emessi in base ai nomi di dominio, quindi potresti non essere in grado di utilizzare alcuni servizi abilitati SSL (correttamente) senza DNS.

Questa è una query di ricerca per il dominio google.com per darti un'idea della complessità del DNS

google.com. 299 IN A 172.217.0.174
google.com. 299 IN AAAA 2607: f8b0: 400b: 807 :: 200e
google.com. 599 IN MX 10 aspmx.l.google.com.
google.com. 599 IN MX 40 alt3.aspmx.l.google.com.
google.com. 59 IN 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 IN NS ns2.google.com.
google.com. 599 IN MX 20 alt1.aspmx.l.google.com.
google.com. 599 IN MX 50 alt4.aspmx.l.google.com.
google.com. 21599 IN NS ns1.google.com.
google.com. 3599 IN TXT "v = spf1 include: _spf.google.com ~ all"
google.com. 21599 IN CAA 0 problema "symantec.com"
google.com. 21599 IN NS ns3.google.com.
google.com. 21599 IN NS ns4.google.com.

Yahoo risponde con 3 indirizzi IP

$ host -ta yahoo.ca
yahoo.ca ha l'indirizzo 77.238.184.24
yahoo.ca ha l'indirizzo 74.6.50.24
yahoo.ca ha l'indirizzo 98.137.236.24

Vantaggio di usare un indirizzo IP

Per me è di solito quando il DNS potrebbe interferire in qualche modo o non è disponibile. In generale, utilizzerei il DNS per la maggior parte delle cose.

Un esempio di dove un indirizzo IP potrebbe essere migliore sarebbe quando si hanno due macchine con un collegamento diretto tra loro (senza switch) con indirizzi di rete privati ​​(diciamo 192.168.1.1 e 192.168.1.2) e lo stanno usando per comunicazioni ad alta disponibilità o DRBD o un altro servizio molto specifico. In questo caso, impostare cose nel DNS probabilmente non ha alcun senso. Non è necessario, aggiungerebbe complessità, problemi di prestazioni e potrebbe introdurre un punto di errore.

Un altro esempio è il routing. Le tabelle di routing registrano gli indirizzi IP per vari motivi.

Un altro è fare riferimento ai server dei nomi (come in /etc/resolv.conf). Dal momento che senza un server dei nomi, non è possibile risolvere nulla.


Questa è un'ottima risposta, ma probabilmente dovrebbe anche dire qualcosa sui servizi ospitati; IP⟷FQDN è un mapping molti-a-molti, non molti-a-uno.
soffice

Grazie e d'accordo. Il DNS è molto utile per l'hosting virtuale basato sul nome, se è quello a cui ti riferisci.
Ryan Babchishin,

Sì, è quello a cui mi riferivo.
soffice

Ottima risposta che ottiene effettivamente il DNS giusto: il bookmarking per riferimento futuro. Una piccola lamentela che ho è il tuo commento "Le tabelle di routing registrano gli indirizzi IP per vari motivi". Quali sono le varie ragioni a cui ti riferisci? Le tabelle di routing non hanno altra scelta che utilizzare gli IP perché il routing avviene a livello di Internet, mentre DNS utilizza il livello di applicazione ed è quindi necessariamente dipendente dal routing.
gardenhead

@gardenhead Grazie. Esatto sull'instradamento, non volevo proprio entrarci. Perdona la mia scelta di parole.
Ryan Babchishin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.