Nomes de domínio inconsistentes de hostname -f e domainname

Nomes de domínio inconsistentes de hostname -f e domainname

Estou configurando um servidor de e-mail Postfix, nome de host 'letters', para lidar com e-mails para o domínio 'example.net'. Tentei definir o nome de domínio das letras para example.net usando nis, mas estou obtendo resultados inconsistentes de hostname -f ('letters.stuff.comcast.net') e domainname ('example.net') Como faço para definir o nome de domínio para o comando hostname -f para relatar 'example.net'? Quão importante é isso para o funcionamento adequado do Postfix?

As cartas host rodam Ubuntu e se conectam à internet por modem a cabo para Comcast, através de um roteador openwrt. O servidor de nomes para o domínio example.net está em um computador Debian remoto, que ainda não foi configurado para criar um host ou um alias para letras.

Suponho que o nome de domínio na saída do nome do host reflita o nome de domínio obtido do servidor comcast pelo cliente dhcp da caixa e reflita a ideia de que a caixa é um cliente nessa rede. A solução é criar o host de 'letras' no servidor de nomes para example.net? Isso exige ainda a adição desse servidor de nomes aos listados no arquivo resolv.conf das letras?

Responder1

Certifique-se de que suas /etc/hostsentradas (ou NIS) estejam corretas.

Eu ia tentar explicar, mas a página de manual conta melhor a história:

THE FQDN
    You can't change the FQDN (as returned by hostname --fqdn) or  the  DNS
    domain  name (as returned by dnsdomainname) with this command. The FQDN
    of the system is the name that the resolver(3)  returns  for  the  host
    name.

    [..]

    Therefore  it  depends on the configuration (usually in /etc/host.conf)
    how you can change it. Usually (if the hosts file is parsed before  DNS
    or NIS) you can change it in /etc/hosts.

Responder2

Encontrei esse problema ontem enquanto trabalhava em uma atualização de servidor que outra pessoa iniciou... A saída hostname -f nunca teve o domínio final correto (falta .org).

# hostname foobar.example.org
# hostname -f
foobar.example
#

# cat /etc/hosts
10.20.11.244    foobar.example foobar

A solução:

A parte do domínio hostname -f parece ter vindo de uma entrada /etc/hosts para esse host. Depois de corrigir o nome do host em/etc/hosts, hostname -f estava retornando o domínio correto:

# hostname foobar
# hostname
foobar
# hostname -f
foobar.example.org

YMMV.

Responder3

Se o seu IP não for estático, então /etc/hostsnão funcionará para você (ou funcionará apenas temporariamente até você obter um novo IP). Não tenho certeza se isso funcionará, mas aqui está algo para tentar:

  1. configure seu cliente DHCP para não solicitar o nome de domínio do servidor DHCP. Ou apenas diga para não tocar no resolv.conf, o que você já pode ter feito se tiver servidores de nomes personalizados.
  2. Defina seu nome de domínio para example.net em/etc/resolv.conf
  3. certifique-se de que seu servidor de nomes possa resolver letters.example.net, acho que você precisará usar algum tipo de serviço de DNS dinâmico, já que esta solução é para IPs não estáticos.

O que pode significar que minha resposta à sua pergunta seja simplesmente “sim”.

Responder4

Este é um problema comumente mal compreendido com “nome de domínio”. Aqui está o topo da página de manual do meu sistema Mac OS X, mas o seu será semelhante:

DOMAINNAME(1)             BSD General Commands Manual            DOMAINNAME(1)

NAME
     domainname -- set or print the name of the current NIS domain

Este comando não é usado para configuração de DNS!

informação relacionada