Jak ustawić nazwę domeny w systemie GNU / Linux?

27

Podobnie jak nazwa hosta, którą można zmienić na różne sposoby:

  • tymczasowo za pomocą hostnamepolecenia
  • trwale wykorzystujące /etc/hostname(lub /etc/sysconfig/networklub /etc/HOSTNAMEte pliki są używane przez skrypty init)

Chcę zmienić nazwę mojej domeny. Mogę użyć tego domainnamepolecenia, ale czy istnieje sposób, aby był on stały podczas ponownego uruchamiania? Myślę, że to może być skonfigurowany /etc/resolv.confale ten plik jest zazwyczaj generowane i nie wiem dokładnie różnicę pomiędzy searchi domaindyrektyw. A kiedy dokładnie informacje są przekazywane do domainnameprogramu w celu ustawienia nazwy domeny?

Czy masz na to jakieś pomysły?

Chciałbym być w większości kompatybilny we wszystkich dystrybucjach. Jeśli więc ktoś ma wskazówki na temat różnych smaków dystrybucji, chętnie je zaakceptuję.

Mildred
źródło
Każda dystrybucja robi to inaczej. Których jesteś zainteresowany? Czy czytałeś ich dokumentację?
Michael Hampton
Głównie smaki RedHat i Debian. I nie mogłem znaleźć odpowiednich informacji w dokumentacji. Ale może nie spojrzałem wystarczająco mocno, przyznaję, że nie wiem dokładnie, gdzie może być w dokumentacji (a nawet jeśli jest w dokumentacji).
Mildred
1
To uczciwe. W dokumentacji Red Hata jest on ukryty w dodatku . W Debianie nie jest on ukryty w dodatku , ale jest mylący ...
Michael Hampton
1
@Michael Ten link na liście dyskusyjnej Debiana jest najbardziej przydatny, szczególnie Aby w końcu odpowiedzieć na twoje pytanie, konfigurujesz swoją FQDN wszędzie tam, gdzie chcesz zmienić nazwy. Jeśli chcesz to w plikach na samym pudełku, to idzie do / etc / hosts. Jeśli prowadzisz własny serwer nazw, tak jak ja (uruchamiam dnsmasq dla uproszczenia), musisz tylko zapisać informacje w
Mildred
W systemie Red Hat 7 i systemach pochodnych należy użyć nazwy hosta do skonfigurowania nazwy hosta. cyberciti.biz/faq/rhel-redhat-centos-7-change-hostname-command/…
Xavy

Odpowiedzi:

42

Ustaw FQDN

Używam Debian 7 i to właśnie działało dla mnie; dzięki Fernando Ribeiro .

sudoedit / etc / hostname

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

aktywuj nazwę hosta

nazwa hosta sudo -F / etc / nazwa hosta

dodaj nazwę domeny i adres do serwera

sudoedit / etc / hosts

192.168.1.2   server.domain server

ZWERYFIKOWAĆ

> hostname --short
server

> hostname --domain
domain

> hostname --fqdn
server.domain

> hostname --ip-address
192.168.1.2
Jason
źródło
po zmianie nazwy serwera /etc/hostnameedycja może być niemożliwa /etc/hosts. W takim przypadku musisz użyć, xauth addjak podano w tej odpowiedzi stackoverflow.com/questions/20611783/…
Junior M
1
nie powinieneś używać sudo vim. ustaw $EDITORi użyj sudoedit.
törzsmókus
5

Kiedy używasz redhat-basesystemów, Linux używa /etc/sysconfig/networkpliku i powinieneś ustawić zmienną HOSTNAMEna FQDN, kiedy używasz FQDN, linuxsama określa nazwę domeny.

Na przykład:

HOSTNAME=web.mydomain.com

Ale kiedy używasz debian-basesystemów, powinieneś wypełnić /etc/hostnameplik FQDN:

web.mydomain.com

UWAGA: jeśli chcesz ustawić, domain nameupewnij się, że jest ustawiony FQDN(w pełni kwalifikowana nazwa domeny)

Po ustawieniu hostname -dpokazuje domain name.

Zatoka Perska
źródło
1
Dziękuję, ale miałem wrażenie, że te pliki powinny zawierać tylko nazwę hosta bez części domeny. Jeśli zrobię to, co sugerujesz, nazwa hosta zwróci bezpośrednio fqdn (bez różnicy między hostnamei hostname -f).
Mildred
och tak przy okazji, zapomniałem powiedzieć, że powinieneś ręcznie ustawić nazwę hosta hostname web.mydomain.compo skonfigurowaniu plików. ponieważ podczas konfigurowania pamięci plików nie można zastosować zmian. (jeśli było to przydatne, nie zapomnij o użytecznej fladze)
PersianGulf 23.03.13
4

man hostname, cytowany od końca do początku

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.

Powiedziałbym, że dokładnie opisuje to wszystko.

poige
źródło