Mir ist aufgefallen, dass sich die "bevorzugte" Methode zum Festlegen des Systemhostnamens zwischen Red Hat / CentOS- und Debian / Ubuntu-Systemen grundlegend unterscheidet.
In der CentOS-Dokumentation und im RHEL-Bereitstellungshandbuch heißt es, dass der Hostname der vollqualifizierte Domänenname sein sollte :
HOSTNAME=<value>
, wo<value>
sollte der Fully Qualified Domain Name (FQDN) sein, wiehostname.example.com
, kann aber sein, welcher Hostname erforderlich ist.
Die RHEL-Installationsanleitung ist etwas mehrdeutiger:
Setup fordert Sie auf, einen Hostnamen für diesen Computer anzugeben, entweder als vollqualifizierten Domänennamen (FQDN) im Format hostname.domainname oder als kurzen Hostnamen im Format hostname .
Die Debian-Referenz besagt, dass der Hostname den vollqualifizierten Domänennamen nicht verwenden sollte :
3.5.5. Der Hostname
Der Kernel behält den Hostnamen des Systems bei . Das Init-Skript in Runlevel S, das mit " /etc/init.d/hostname.sh " verknüpft ist, setzt den System-Hostnamen beim Booten (mithilfe des Befehls hostname ) auf den in " / etc / hostname " gespeicherten Namen . Diese Datei sollte nur den Systemhostnamen enthalten, keinen vollständig qualifizierten Domänennamen.
Ich habe keine konkreten Empfehlungen von IBM für die Verwendung gesehen, aber manche Software scheint eine Vorliebe zu haben.
Meine Fragen:
- Ist es in einer heterogenen Umgebung besser, die Herstellerempfehlung zu verwenden oder eine auszuwählen und über alle Hosts hinweg konsistent zu sein?
- Auf welche Software ist Sie gestoßen, bei der es darauf ankommt, ob der Hostname auf den vollqualifizierten Domänennamen oder den Kurznamen festgelegt ist?
quelle
hostname
FQDN erforderlich ist . Nur drin zu haben,/etc/hosts
ist nicht gut genug. Das hat meine Konstanz durcheinandergebracht./etc/sysconfig/network
enthalten Zeilen wie:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
auf jedem Linux-Computer.Fast jede Software reagiert empfindlich auf die korrekte Einstellung des Hostnamens. Während ich bei Digg gearbeitet habe, habe ich einmal die gesamte Site für 2 Stunden heruntergefahren, da sich eine scheinbar harmlose Änderung auf
/etc/hosts
die Vorstellung des Hostnamens des Systems ausgewirkt hat. Leicht treten. Das heißt, Sie können hier ein wenig verwirrt sein. Ich glaube nicht, dass dieHOSTNAME=
Einstellung direkt der Verwendung von Debian-basierten Distributionen entspricht/etc/hostname
.Was für mich in einem heterogenen Umfeld funktioniert, ist:
hostname
Befehl, um den vom Kernel usw. verwendeten Hostnamen festzulegen.In
/etc/hosts
:Diese Konfiguration hat mich noch nicht enttäuscht.
quelle
Sie werden sicherlich kein Problem damit haben, Referenzen online zu finden, die Ihnen sagen, dass Sie es auf die eine oder andere Weise tun müssen. Es scheint mir jedoch, dass ein kurzer Name als Hostname und ein vollständig qualifizierter Name in / etc / hosts mit Sicherheit viel häufiger vorkommen. Sinnvoller erscheint dies, da dann Dienste, die einen voll qualifizierten Namen benötigen, für den Anruf angepasst
hostname --fqdn
werden können.Ich bin in letzter Zeit nur auf eine Software gestoßen, für
hostname
die unbedingt eine fqdn zurückgegeben werden muss , nämlich ganeti. Sie dokumentieren dies hier . Ich sehe jedoch keinen Grund, an den sie sich nicht anpassenhostname --fqdn
können.quelle
hostname --fqdn
" wird im ersten Absatz unter "Warum ein vollqualifizierter Hostname" beantwortet - es sind Rätselraten und ein funktionierender Resolver erforderlich. Den Kernel zu fragen ist die sicherste und zuverlässigste Option.10.0.0.1 hostname.example.com hostname
) enthält und /etc/nsswitch.conf die lokale Auflösung vor DNS (hosts: files dns
) angibt , wird ein funktionierender Resolver von der lokalen Hosts-Datei ausgeführt. Daher ist dieses Argument für die Verwendung eines FQDN anstelle eines Hostnamens nur selten zutreffend. Ein weiteres Beispiel für Software, diehostname
zur Rückgabe eines vollqualifizierten Domänennamens unbedingt erforderlich ist , ist das Zimbra-Mailserverpaket.Etwas tangential, während ich diese Frage recherchierte, war ich verrückt genug, den Quellcode von "hostname" zu überprüfen und ein Skript zu schreiben, um Untersuchungsergebnisse auszudrucken (Fedora 19). Was fehlt, ist ein Blick auf "/ etc / hosts", was meiner bescheidenen Meinung nach von vornherein verdammt noch mal ausgeschlossen werden sollte.
Die Ausgabe auf einer Amazon EC2-VM, auf der Fedora 19 ausgeführt wird , nach dem manuellen Festlegen der Kernel-Werte und dem Füllen
/etc/hostname
, aber ohne Änderungen an,/etc/hosts
könnte dann folgendermaßen aussehen:Der ausfallsichere Weg, den vollqualifizierten Hostnamen in Perl zu erhalten, wäre dann:
und in bash wäre es:
Anmerkungen
Hinweis 1: HOSTNAME ist eine Shell-Variable, die von bash bereitgestellt wird ("Automatisch auf den Namen des aktuellen Hosts gesetzt."), Aber es gibt keinen Hinweis darauf, dass bash bei diesem Wert eintrifft.
Hinweis 2: Vergessen Sie niemals / etc / hostname in /boot/initrams-FOO.img ...
quelle
Die Optionen / etc / hosts funktionieren gut.
Sie möchten jedoch sicherstellen, dass alle richtigen Dateien aktualisiert werden, indem Sie das Setup- Tool ausführen
quelle
Hm ... Wenn Sie auf den Linux-Hosts HOSTNAME und FQDN ändern möchten, müssen Sie drei Schritte ausführen (neuer Host ist beispielsweise rizzo.ifp.com ):
Schritt 1: Ändern Sie den HOST-Wert in der Konfiguration der NETWORK-Eigenschaften:
Zeichenfolge ändern oder hinzufügen:
Schritt 2 Bearbeiten Sie Ihre Hosts-Konfiguration
Schritt 3 Starten Sie Ihren Host neu. Gut gemacht, überprüfen Sie einfach die neue Konfiguration
quelle
Die Reihenfolge stimmt nicht. Es muss sein:
Das Beispiel könnte also so aussehen:
quelle