¿Cómo configurar el nombre de dominio en GNU / Linux?

27

De manera similar al nombre de host que se puede cambiar de diferentes maneras:

  • usando temporalmente el hostnamecomando
  • uso permanente /etc/hostname(o /etc/sysconfig/networko /etc/HOSTNAME, estos archivos son utilizados por los guiones de inicio)

Quiero cambiar mi nombre de dominio. Puedo usar el domainnamecomando, pero ¿hay alguna manera de hacerlo permanente en los reinicios? Creo que se puede configurar en /etc/resolv.confpero este archivo se genera en general, y no sé exactamente la diferencia entre searchy domaindirectivas. ¿Y a qué hora exactamente se pasa la información al domainnameprograma para configurar el nombre de dominio?

¿Tienes alguna idea sobre eso?

Me gustaría ser principalmente compatible en todas las distribuciones. Entonces, si alguien tiene indicadores sobre los diferentes sabores de distribución, con gusto los aceptaría.

Mildred
fuente
Cada distribución hace esto de manera diferente. ¿En cuáles estás interesado? ¿Y leíste su documentación?
Michael Hampton
Principalmente sabores RedHat y Debian. Y no pude encontrar información relevante en la documentación. Pero tal vez no he buscado lo suficiente, admito que no sé exactamente en qué parte de la documentación podría estar (o incluso si está en los documentos).
Mildred
1
Eso es justo. En la documentación de Red Hat, está enterrado en un apéndice . Mientras que en Debian's no está enterrado en un apéndice , pero es confuso ...
Michael Hampton
1
@Michael Este enlace en la lista de correo de Debian es sobre todo útil, especialmente Para responder finalmente a su pregunta, configure su FQDN donde quiera que se renueven los nombres. Si lo desea en archivos en el cuadro en sí, entonces va en / etc / hosts. Si ejecuta su propio servidor de nombres como yo (corro dnsmasq para simplificar), después, sólo tiene que registrar la información en
Mildred
En Red Hat 7 y sistemas derivados, debe usar hostnamectl para configurar el nombre de host. cyberciti.biz/faq/rhel-redhat-centos-7-change-hostname-command/...
Xavy

Respuestas:

42

Establecer FQDN

Estoy usando Debian 7 y esto es lo que funcionó para mí; Gracias a Fernando Ribeiro .

sudoedit / etc / hostname

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

activar hostname

sudo hostname -F / etc / hostname

agregar nombre de dominio y dirección al servidor

sudoedit / etc / hosts

192.168.1.2   server.domain server

VERIFICAR

> hostname --short
server

> hostname --domain
domain

> hostname --fqdn
server.domain

> hostname --ip-address
192.168.1.2
jason
fuente
después de cambiar el nombre del servidor, /etc/hostnamees posible que no pueda editar /etc/hosts. En este caso, debe usar xauth addcomo se indica en esta respuesta stackoverflow.com/questions/20611783/…
Junior M
1
No deberías usar sudo vim. establecer $EDITORy usar sudoedit.
törzsmókus
5

Cuando usa redhat-basesistemas, Linux usa /etc/sysconfig/networkarchivos y debe establecer la variable HOSTNAMEen FQDN, cuando lo usa FQDN, linuxdetermina el nombre de dominio.

Por ejemplo:

HOSTNAME=web.mydomain.com

Pero cuando usa debian-basesistemas, debe llenar el /etc/hostnamearchivo con FQDN:

web.mydomain.com

NOTA: si desea establecer domain nameasegúrese de establecer FQDN(Nombre de dominio completo)

Cuando configura, le hostname -dmuestra el domain name.

Golfo pérsico
fuente
1
Gracias, pero tenía la impresión de que estos archivos solo deberían contener el nombre de host sin la parte de dominio. Si hago lo que sugiere, hostname devolverá el fqdn directamente (no hay diferencia entre hostnamey hostname -f).
Mildred
Ah, por cierto, me olvido de decir que debe configurar el nombre de host a mano hostname web.mydomain.comdespués de configurar sus archivos. porque cuando configura la memoria de su archivo no se pueden aplicar cambios (si fue útil, no olvide el indicador útil)
PersianGulf
4

man hostname, siendo citado de principio a fin

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.

Yo diría que describe todo el asunto a fondo.

poige
fuente