it-swarm.com.de

Hostnamenänderung rückgängig machen / verhindern

Dies ist ein Schuss im Dunkeln hier ...

Ich benutze einen Dienst namens Strato-Server-Cloud, der im Grunde eine rudimentäre Version von AWS oder Google-Compute ist. Sie haben kürzlich ihre Benutzeroberfläche und/oder Engine geändert. Seitdem haben alle neuen Ubuntu 16-Instanzen, die ich erstelle, das Problem, dass ihr Hostname beim Neustart zurückgesetzt wird.

Folgendes mache ich normalerweise:

/ etc/hostname

www.example.com

/ etc/hosts

127.0.0.1 www.example.com www
[...]

Auf Ubuntu 16 zusätzlich:

hostnamectl set-hostname www

Nachdem Sie die obigen Schritte ausgeführt haben:

hostname -> www
hostname -f -> www.example.com

hostnamectl

Static hostname: www
Icon name: computer-vm
Chassis: vm
Machine ID: [ID]
Boot ID: [ID]
Virtualization: Microsoft
Operating System: Ubuntu 16.04.1 LTS
Kernel: Linux 4.4.0-59-generic
Architecture: x86-64

Nach dem Neustart Neustart

hostname -> XXX
hostname -f -> XXX.strato.net

hostname-ctl

Static hostname: www
Transient hostname: XXX
Icon name: computer-vm
Chassis: vm
Machine ID: [ID]
Boot ID: [ID]
Virtualization: Microsoft
Operating System: Ubuntu 16.04.1 LTS
Kernel: Linux 4.4.0-59-generic
Architecture: x86-64

Beachten Sie den vorübergehenden Hostnamen

Seltsamerweise sind die Hosts und Hostnamen-Dateien intakt.

Ich habe auch versucht, /etc/init/hostname.conf in Folgendes zu ändern

description     "set system hostname"

start on startup

task
exec hostname -b -F /etc/hostname.mod; full=$(cat /etc/hostname.mod);short=(${full//./ }); hostnamectl set-hostname $short

Ich habe den Hostnamen auch in /etc/hostname.mod eingetragen, um sicherzustellen, dass kein Überschreiben stattfindet. Das Ausführen der obigen exec-Anweisung behebt alles manuell, aber es scheint während der Startsequenz nicht effektiv zu sein ...

Leider bin ich hier ziemlich verloren ... Ich würde annehmen, dass die /etc/init/hostname.conf beim Booten ausgeführt wird, aber dann wird der Hostname von einem anderen Skript überschrieben? Hat jemand jemals ein solches Problem gehabt und weiß, wie man es behebt? Ich schätze, ich könnte in einer Linux-Version eines Dateispions nachschauen, der dokumentiert, welche Prozesse welche Dateien berühren, und auf diese Weise das fehlerhafte Skript findet ... Das klingt jedoch nach viel Arbeit ...

Wenn jemand zumindest auf den Live-Zyklus des Hostnamens hinweisen könnte, dann wären dies die Schritte, wie er bestimmt wird und wo man sich in diesen einklinken könnte, schon sehr hilfreich.

Vielen Dank im Voraus für Ihre Zeit und Mühe

Bearbeiten

Ich denke, es würde auch helfen, zu erklären, warum dies schlecht ist :-) OpenLDAP weigert sich, im STARTTLS-Modus korrekt zu funktionieren, wenn der Hostname nicht richtig konfiguriert ist. Da ich nie das Problem hatte, den Hostnamen nicht ändern zu können, weiß ich nicht, welcher andere Dienst möglicherweise ebenfalls fehlerhaft funktioniert. Eine minimale Lösung des Problems müsste daher wirksam werden, bevor ein Service wie OpenLDAP gestartet wird.

1
user3240383

Für Computer, die ihre IP-Adresse über dchp beziehen, ist die Standardclientdatei /etc/dhcp/dhclient.conf, beinhaltet die Frage nach dem, was der Host-name sollte in der Anfrage sein:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, Host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

Sie können das aus der Anfrage entfernen:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

Ich bin nicht sicher, ob: Es könnte unbeabsichtigte Nebenwirkungen geben; Der Domain-Name sollte auch aus der Anfrage gelöscht werden.

4
Doug Smythies

Alte Post, ich weiß, aber das hat mir geholfen, das gleiche Problem zu lösen. Ich aktualisiere dies für zukünftige Suchmaschinenbenutzer, bei denen das gleiche Problem auftritt.

Diesmal war es nicht Hostnamectls Schuld.

Wenn Sie versuchen, den Hostnamen auf einem VPS-Server zu ändern, und er sich einfach nicht ändern möchte, wird Ihr VM möglicherweise seinen Hostnamen vom Hostcomputer/Hypervisor abrufen.

In meinem Fall musste ich mich beim VPS-Provider-Dashboard anmelden und dort den Hostnamen ändern.

0
Taco Bob