Wie stelle ich den Domainnamen unter GNU / Linux ein?

27

Ähnlich wie der Hostname, der auf verschiedene Arten geändert werden kann:

  • vorübergehend mit dem hostnameBefehl
  • permanent using /etc/hostname(oder /etc/sysconfig/networkoder /etc/HOSTNAME, diese Dateien werden von den Init-Skripten verwendet)

Ich möchte meinen Domainnamen ändern. Ich kann den domainnameBefehl verwenden, aber gibt es eine Möglichkeit, ihn über Neustarts hinweg dauerhaft zu machen? Ich denke, es kann in konfiguriert werden, /etc/resolv.confaber diese Datei wird im Allgemeinen generiert und ich weiß nicht genau, den Unterschied zwischen searchund domainDirektiven. Und zu welchem ​​Zeitpunkt werden genau die Informationen an das domainnameProgramm übergeben, um den Domainnamen festzulegen?

Hast du irgendwelche Ideen dazu?

Ich würde gerne über Distributionen hinweg größtenteils kompatibel sein. Wenn also jemand Hinweise auf die verschiedenen Distributionsvarianten hat, würde ich diese gerne akzeptieren.

Mildred
quelle
Jede Distribution macht das anders. Welche interessieren Sie? Und hast du ihre Dokumentation gelesen?
Michael Hampton
Hauptsächlich RedHat- und Debian-Aromen. Und ich konnte keine relevanten Informationen in der Dokumentation finden. Aber vielleicht habe ich nicht genau genug nachgesehen, ich gebe zu, ich weiß nicht genau, wo in der Dokumentation es sein könnte (oder auch wenn es in den Dokumenten ist).
Mildred
1
Das ist fair. In der Dokumentation von Red Hat ist es in einem Anhang vergraben . Während in Debian ist es nicht in einem Anhang begraben , aber es ist verwirrend ...
Michael Hampton
1
@Michael Dieser Link auf der Debian-Mailingliste ist hauptsächlich nützlich, insbesondere . Um Ihre Frage endgültig zu beantworten, konfigurieren Sie Ihren FQDN, wo immer Sie Namen ändern möchten. Wenn Sie es in Dateien auf der Box selbst wollen, dann geht es in / etc / hosts. Wenn Sie Ihren eigenen Nameserver wie ich betreiben (ich führe der Einfachheit halber dnsmasq aus), müssen Sie nur die Informationen in
Mildred
Auf Red Hat 7 und abgeleiteten Systemen sollten Sie hostnamectl verwenden, um den Hostnamen einzurichten. cyberciti.biz/faq/rhel-redhat-centos-7-change-hostname-command/…
Xavy

Antworten:

42

Stellen Sie den FQDN ein

Ich benutze Debian 7 und das hat bei mir funktioniert; danke an fernando ribeiro .

sudoedit / etc / hostname

server # here's where you put the server's host name

aktiviere den Hostnamen

sudo Hostname -F / etc / Hostname

Fügen Sie den Domainnamen und die Adresse zum Server hinzu

sudoedit / etc / hosts

192.168.1.2   server.domain server

ÜBERPRÜFEN

> hostname --short
server

> hostname --domain
domain

> hostname --fqdn
server.domain

> hostname --ip-address
192.168.1.2
Jason
quelle
Nach dem Ändern des Servernamens in können /etc/hostnameSie möglicherweise keine Änderungen vornehmen /etc/hosts. In diesem Fall müssen Sie xauth addwie in dieser Antwort angegeben stackoverflow.com/questions/20611783/…
Junior M
1
Sie sollten nicht verwenden sudo vim. einstellen $EDITORund verwenden sudoedit.
Törzsmókus
5

Wenn Sie redhat-baseSysteme, Linux verwendet /etc/sysconfig/networkDatei und Sie sollten Setvariable HOSTNAMEauf FQDN, wenn Sie verwenden FQDN, linuxbestimmt sich Domain - Namen.

Beispielsweise:

HOSTNAME=web.mydomain.com

Wenn Sie jedoch debian-baseSysteme verwenden, sollten Sie die /etc/hostnameDatei mit FQDNfolgendem Inhalt füllen :

web.mydomain.com

ANMERKUNG: Wenn Sie festlegen möchten, stellen Sie domain namesicher, dass Sie FQDN(Vollständig qualifizierter Domänenname) festgelegt haben.

Wenn Sie einstellen, hostname -dzeigt Ihnen die domain name.

Persischer Golf
quelle
1
Vielen Dank, aber ich hatte den Eindruck, dass diese Dateien nur den Hostnamen ohne den Domain-Teil enthalten sollten. Wenn ich tue, was Sie vorschlagen, gibt hostname die fqdn direkt zurück (kein Unterschied zwischen hostnameund hostname -f).
Mildred
ach übrigens, ich vergesse zu sagen, dass Sie den Hostnamen von Hand einstellen sollten, hostname web.mydomain.comnachdem Sie Ihre Dateien konfiguriert haben. Denn wenn Sie Ihren Dateispeicher konfigurieren, können Sie keine Änderungen vornehmen. (Wenn es nützlich war, vergessen Sie das nützliche Flag nicht.)
PersianGulf
4

man hostname, von Anfang bis Ende zitiert

FILES
       /etc/hostname  Historically  this file was supposed to only contain the hostname and not the full canonical
       FQDN. Nowadays most software is able to cope with a full FQDN here. This file is read at boot time  by  the
       system initialization scripts to set the hostname.

       /etc/hosts Usually, this is where one sets the domain name by aliasing the host name to the FQDN.

   THE FQDN
       The  FQDN (Fully Qualified Domain Name) of the system is the name that the resolver(3) returns for the host
       name, such as, ursula.example.com.  It is usually the hostname followed by the DNS domain  name  (the  part
       after the first dot).  You can check the FQDN using hostname --fqdn or the domain name using dnsdomainname.

       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.

Ich würde sagen, es beschreibt die ganze Sache gründlich.

Poige
quelle