Frage Warum sollte ich einen FQDN anstelle der IP-Adresse des Servers verwenden?


Bei meiner Arbeit mit Servern bin ich in Konfigurationsdateien geraten, wo man die Adresse auf einen externen Server eintragen sollte. Ich habe gesehen, dass einige die IP-Adresse des Servers direkt verwenden, aber ich habe viele Empfehlungen gehört, einen Hostnamen zu verwenden vollqualifizierter Domänenname (FQDN) statt. Warum sollte ich einen Hostnamen anstelle der direkten IP-Adresse verwenden?

Wenn Sie einen Hostnamen verwenden, benötigen Sie einen lokalen DNS-Server, der jeden Hostnamen mit einer IP-Adresse verknüpft. Was ist der Nachteil zwischen der Verwendung eines Hostnamens oder einer IP-Adresse?


23
2017-07-09 10:29


Ursprung


Wenn Sie dynamische IP-Adressen haben, ist es wahrscheinlich einfacher, den DNS-Eintrag zu ändern. und warum ein lokaler DNS-Server? warum nicht alle Maschinen öffentlich auflösbare IPs haben? Ein weiterer Nachteil von IPs ist, dass sie, selbst wenn sie nicht dynamisch sind, wahrscheinlich immer noch vom physischen Standort abhängen, was es schwieriger macht, an einen anderen Ort zu migrieren. Im Grunde klingt es so, als würden Sie sich fragen, warum DNS erfunden wurde. Diese Frage wurde viele Male anderswo beantwortet. - Janus Troelsen
Es war immer eine Empfehlung (in RFCs zum Beispiel), dass auf Anwendung Stufe eins behandelt nur Hostnamen. Einige Anwendungen funktionieren jedoch nur mit IP. Trotzdem bin ich selbst schuldig, meine Geräte oft per IP anstelle von Hostname zu kontaktieren - aber diese Unsitte wird mit Sicherheit enden, sobald wir vollständig auf IPv6 migriert sind :) - Hagen von Eitzen
Da der externe Server natürlich die gesamte Kommunikation mit SSL sichert und die SSL-Zertifikate für den FQDN signiert werden, kann Ihre Anwendung den richtigen Server nicht überprüfen, wenn Sie die IP-Adresse verwenden. Recht? : | - TessellatingHeckler
@HagenvonEitzen Sicher wirst du nie, nie tippen ::1? :-) - α CVn


Antworten:


Die Verwendung einer IP-Adresse stellt sicher, dass Sie sich nicht auf einen DNS-Server verlassen. Es hat auch den Vorteil, Angriffe durch DNS-Spoofing zu verhindern.

Die Verwendung eines FQDN anstelle einer IP-Adresse bedeutet, dass Sie den DNS-Eintrag ändern könnten, wenn Sie Ihren Dienst auf einen Server mit einer anderen IP-Adresse migrieren, anstatt zu versuchen, überall dort zu finden, wo die IP-Adresse verwendet wird .

Dies ist besonders nützlich, wenn Sie viele Server und Dienste von mehreren Personen konfiguriert haben.


48
2017-07-09 10:40



Vor allem, wenn das Wissen über diese IP-Adresse auch extern ist, etwa wenn Kunden oder Partner oder Anbieter es verwenden. Stellen wir uns vor, dass wir statt stackoverflow.com alle zu einer IP gehen, die wir als stackoverflow.com kennen, und dann die IP ändern müssen? Wie würden sie jedem einzelnen möglichen Benutzer der Website sagen, dass sich die IP geändert hat? Daher Namen. - Brandon
@Brandon es wäre das gleiche, als ob sie jetzt beschlossen, von stackoverflow.com zu heapunderflow.com zu wechseln Der ursprüngliche Vorteil von Domain-Namen ist für Menschen zu erinnern stackoverflow.com anstatt 151.101.1.69. Natürlich erlaubt das heutzutage auch virtuelles Hosting, Subdomains in Bezug auf ihre Eltern und andere Vorteile, die daraus entstanden sind. - Ángel
Ich denke, der Kern dieser Antwort ist, dass eine Organisation ihren FQDN besitzt. aber möglicherweise nicht seine IP-Adresse. - Pieter Geerkens
Versuchen Sie, HTTPS / Kerberos über IP vs. FQDN auszuführen. - Aron
Dies ist buchstäblich der Zweck von DNS. - Lightness Races in Orbit


DNS ist nicht nur FQDN = IP

Das Wichtigste an DNS ist, dass es mehr als nur A-Einträge (Hostname = IP) bietet. DNS stellt verschiedene Arten von Datensätzen wie MX, CNAME, TXT usw. zur Verfügung, die manchmal von irgendeiner Software benötigt werden. Es ermöglicht mehrere Adressdatensätze, IPv4 + IPv6-Datensätze, dynamische Adressen, Load Balancing, geo-standortbasierte Auflösung, Failover / Redundanz, etc ... DNS sagt Ihnen, was die Dinge sind (www.google.com ist der Webservice von Google, 172.217 .4.110? Was ist das?) Es erlaubt Ihnen, diese Einstellungen / Aufzeichnungen zu ändern und sie von Kunden aufnehmen zu lassen, ohne Änderungen an allen Clients vorzunehmen. DNS kann komplexe Dinge tun.

Es ist oft ein klarer Vorteil, DNS über eine direkte IP-Adresse zu verwenden.

FQDNs können eine Anforderung sein

Einige Dinge wie Webserver, die auf Namen basierende virtuelle Hosting- oder Load-Balancer verwenden, usw. erfordern unbedingt, dass Sie sie über einen FQDN oder Hostnamen ansprechen. Sie legen fest, wie auf Ihre Anfrage basierend auf dem FQDN reagiert werden soll, mit dem Sie eine Verbindung herstellen. Die Verbindung über eine IP-Adresse funktioniert möglicherweise überhaupt nicht.

SSL-Zertifikate werden basierend auf Domänennamen ausgestellt. Daher können Sie möglicherweise einige SSL-aktivierte Dienste (ordnungsgemäß) ohne DNS nicht verwenden.

Dies ist eine Suchabfrage für die Domain google.com, um einen Einblick in die Komplexität von DNS zu geben

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

Yahoo antwortet mit 3 IP-Adressen 

$ host -a yahoo.ca
yahoo.ca hat die Adresse 77.238.184.24
yahoo.ca hat Adresse 74.6.50.24
yahoo.ca hat die Adresse 98.137.236.24

Vorteil der Verwendung einer IP-Adresse

Für mich ist es normalerweise, wenn DNS irgendwie in die Quere kommen könnte oder nicht verfügbar ist. Im Allgemeinen würde ich DNS für die meisten Dinge verwenden.

Ein Beispiel, wo eine IP-Adresse besser sein könnte, wäre, wenn Sie zwei Maschinen mit einer direkten Verbindung zwischen ihnen (keine Vermittlung) mit privaten Netzwerkadressen (sagen 192.168.1.1 und 192.168.1.2) haben und sie für Hochverfügbarkeitskommunikationen verwenden oder DRBD oder ein anderer sehr spezifischer Dienst. In diesem Fall macht die Einrichtung von DNS wahrscheinlich keinen Sinn. Es ist nicht notwendig, würde Komplexität, Leistungsprobleme hinzufügen und könnte eine Fehlerquelle darstellen.

Ein anderes Beispiel ist Routing. Routing-Tabellen zeichnen IP-Adressen aus verschiedenen Gründen auf.

Ein anderer verweist auf Nameserver (wie in /etc/resolv.conf). Da Sie keinen Nameserver haben, können Sie nichts lösen.


36
2017-07-09 15:06



Dies ist eine großartige Antwort, aber es sollte auch etwas über vhosted-Dienste sagen; IP⟷FQDN ist ein Viele-zu-Viele-Mapping, nicht Viele-zu-Eins. - fluffy
Danke und einverstanden. DNS ist sehr hilfreich für namensbasiertes virtuelles Hosting, wenn Sie sich darauf beziehen. - Ryan Babchishin
Ja, darauf habe ich mich bezogen. - fluffy
@fluffy Ich habe ein paar Infos dazu hinzugefügt, danke! - Ryan Babchishin
Große Antwort, die tatsächlich DNS richtig macht - bookmarken für zukünftige Referenz. Ein kleiner Fehler, den ich habe, ist Ihr Kommentar "Routing-Tabellen zeichnen IP-Adressen aus verschiedenen Gründen auf." Was sind die verschiedenen Gründe, auf die Sie sich beziehen? Routing-Tabellen haben keine andere Wahl, als IPs zu verwenden, da das Routing auf der Internetschicht stattfindet, während DNS die Anwendungsschicht verwendet und daher notwendigerweise vom Routing abhängig ist. - gardenhead