it-swarm.com.de

Wie stelle ich den Hostnamen und den Domainnamen richtig ein?

Ich miete einen Server, auf dem Ubuntu 16.04 bei einer Firma ausgeführt wird. Nennen wir ihn company.org.

Derzeit ist mein Server folgendermaßen konfiguriert:

  • hostname: server737263
  • domainname: company.org

Hier ist mein FQDN:

[email protected]:~ $ hostname --fqdn
server737263.company.org

Das ist nicht überraschend.

Ich miete auch einen Domainnamen, nennen wir ihn domain.org. Ich möchte meinen Server in server1.domain.org Umbenennen.

Dies bedeutet, dass ich meinen Hostnamen als server1 Und meinen Domainnamen als domain.org Konfiguriere.

Wie kann ich das richtig machen?

In der Tat ist die Manpage für hostname nicht klar. Zumindest für mich:

HOSTNAME (1)

[...]

NAME EINSETZEN

  • Beim Aufruf mit einem Argument oder mit der Option --file legen die Befehle den Hostnamen oder den NIS/YP-Domänennamen fest. Hostname verwendet die Funktion sethostname (2), während alle drei Domänennamen, ypdomainname und nisdomainname setdomainname (2) verwenden. Beachten Sie, dass dies nur bis zum nächsten Neustart wirksam ist. Bearbeiten Sie/etc/hostname für eine dauerhafte Änderung.

[...]

DER FQDN

  • Sie können den vollqualifizierten Domänennamen nicht mit dem Hostnamen oder dem DNS-Domänennamen ändern.

[...]

Es scheint also, dass das Bearbeiten von /etc/hostname Nicht ausreicht? Denn wenn es den Hostnamen wirklich geändert hätte, hätte es den vollqualifizierten Domänennamen geändert. Es gibt auch einen Trick, den ich gelesen habe, um den Hostnamen mit dem Befehl sysctl kernel.hostname=server1 Zu ändern, aber nichts sagt aus, ob dies der richtige Weg oder ein hässlicher Trick ist.

Damit:

  1. Wie kann der Hostname richtig eingestellt werden?

  2. Wie wird der Domainname richtig eingestellt?

35
titsou

Festlegen Ihres Hostnamens:

  • Sie möchten /etc/hostname Mit Ihrem neuen Hostnamen bearbeiten.

  • Führen Sie dann Sudo hostname $(cat /etc/hostname) aus.

Festlegen Ihrer Domain:

  • Dann fügen Sie in /etc/resolvconf/resolv.conf.d/head Die Zeile domain your.domain.name Hinzu (nicht Ihren FQDN, sondern nur den Domainnamen).

  • Führen Sie dann Sudo resolvconf -u Aus, um Ihren /etc/resolv.conf Zu aktualisieren (alternativ reproduzieren Sie einfach die vorherige Änderung in Ihren /etc/resolv.conf).

Beide:

Aktualisieren Sie abschließend Ihre /etc/hosts - Datei. Es sollte mindestens eine Zeile geben, die mit einer Ihrer IP-Adressen (Loopback oder nicht), Ihrem vollqualifizierten Domänennamen und Ihrem Hostnamen beginnt. Wenn Sie IPv6-Adressen herausgreifen, könnte Ihre Hosts-Datei folgendermaßen aussehen:

127.0.0.1 localhost
1.2.3.4 service.domain.com service
36
SYN

Sudo nano/etc/hostname

hostname.domain.com

Sudo nano/etc/hosts

127.0.0.1   hostname.domain.com hostname localhost

REBOOT!

MUSS EINEN EINZIGEN HOSTNAME nach FQDN in der Datei/etc/hosts haben. Funktioniert gut unter Ubuntu 18.04.1 und allen anderen Versionen. Auf EC2 und anderswo.

Hat sich nicht mit der Auflösungsdatei oder irgendetwas anderem angelegt.

Das zeigt den Hostnamen in der Shell an und hat dann den FQDN, wenn Sie ihn brauchen.

8

~ $ man Hostname

[…]
       You cannot change the FQDN with hostname or dnsdomainname.

       The  recommended  method  of  setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts,
       DNS, or NIS. For example, if the hostname was "ursula", one might have a line in /etc/hosts which reads

              127.0.1.1    ursula.example.com ursula

       Technically: The FQDN is the name getaddrinfo(3) returns for the Host name returned by gethostname(2).  The DNS  domain  name  is
       the part after the first dot.

       Therefore  it  depends  on the configuration of the resolver (usually in /etc/Host.conf) how you can change it. Usually the hosts
       file is parsed before DNS or NIS, so it is most common to change the FQDN in /etc/hosts.

       If a machine has multiple network interfaces/addresses or is used in a mobile environment,  then  it  may  either  have  multiple
       FQDNs/domain  names  or  none at all. Therefore avoid using hostname --fqdn, hostname --domain and dnsdomainname.  hostname --ip-
       address is subject to the same limitations so it should be avoided as well.

[…]

Dies wurde freundlicherweise von poige in einem anderen Thread hervorgehoben und ist genau das, was Lutz hier vorgeschlagen hat.

Sie sollten Ihr fqdn nicht in /etc/hostname Einfügen.

1
karlsebal

Anweisungen gegen Ubuntu 18.04.3 LTS (bionisch)

Ändern Sie den Hostnamen:

Sudo hostnamectl set-hostname server1

Überprüfen Sie das Ergebnis, indem Sie hostnamectl ausführen:

[email protected]:/# hostnamectl
   Static hostname: server1       <-- Check this value
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 202c4264b06d49e48cfe72599781a798
           Boot ID: 43654fe8bdbf4387a0013ab30a155872
    Virtualization: xen
  Operating System: Ubuntu 18.04.3 LTS
            Kernel: Linux 4.15.0-65-generic
      Architecture: x86-64

Ändern Sie die Domäne über den neuen Netzwerkmanager Netplan , indem Sie /etc/netplan/01-netcfg.yaml Bearbeiten und den Parameter search ändern:

sudoedit /etc/netplan/01-netcfg.yaml

Beispielkonfiguration:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      nameservers:
          search: [ domain.org ]

Testen Sie Änderungen, indem Sie sich ein zweites Mal anmelden und Sudo netplan try In einer der Sitzungen ausführen und die Einstellungen in der anderen überprüfen:

# netplan try
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration


Changes will revert in  97 seconds
Configuration accepted.
# systemd-resolve --status
...
Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
          DNS Domain: domain.org      <-- Check this value
# cat /etc/resolv.conf
...
nameserver 127.0.0.53
options edns0
search domain.org    <-- Check this value
# hostname -f
server1.domain.org

Es ist alles in Ordnung, drücken Sie ENTER an der Eingabeaufforderung Sudo netplan try, Um die Dinge dauerhaft zu machen.

1
RobM

Ich habe versucht, meinen Domain-Eintrag von myhome.local In myhome.lan Zu ändern. Ich musste die Datei /etc/hosts Und die Datei /etc/network/interfaces Bearbeiten. Meine /etc/hosts Datei sieht jetzt so aus:

127.0.0.1   localhost
192.168.3.2 server.myhome.lan   server

und meine /etc/network/interfaces Datei sieht jetzt so aus:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp2s0
iface enp2s0 inet static
    address 192.168.3.2
    netmask 255.255.255.0
    network 192.168.3.0
    broadcast 192.168.3.255
    gateway 192.168.3.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.3.1
    dns-search myhome.lan

Es funktioniert gut für mich.

0
Lutz