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

1

Estou configurando um servidor de e-mail do Postfix, hostname 'letters', para manipular e-mails para o domínio 'example.net'. Eu tentei definir o nome de domínio das letras para example.net usando nis, mas estou obtendo resultados inconsistentes do hostname -f ('letters.stuff.comcast.net') e domainname ('example.net') Como faço para definir o nome do domínio para que o nome do host -f comando para relatórios 'example.net'? Quão importante é isso para a função adequada do Postfix?

As letras do host estão executando o Ubuntu e se conectam à Internet por modem a cabo para a 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 do domínio na saída do nome do host reflita o nome do 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 'letters' no servidor de nomes para example.net? Isso requer ainda a adição desse servidor de nomes àqueles listados no arquivo 'resolv.conf' das letras?

    
por chernevik 16.07.2009 / 19:16

4 respostas

2

Verifique se as entradas de /etc/hosts (ou NIS) estão corretas.

Eu tentaria explicar isso, mas a manpage conta a história melhor:

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.
    
por 16.07.2009 / 20:18
1

Eu encontrei esse problema ontem enquanto trabalhava em uma atualização de servidor que alguém iniciou ... O nome do host -f output nunca teve o domínio final correto (ausente .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 do nome do host -f parece ter vindo de uma entrada / etc / hosts para aquele host.  Depois que eu fixei o nome do host em / etc / hosts, o hostname -f estava retornando o domínio correto:

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

YMMV.

    
por 16.07.2009 / 20:18
1

Se o IP não for estático, o /etc/hosts nã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 o nome do seu domínio como example.net em /etc/resolv.conf
  3. verifique se o seu servidor de nomes pode resolver letters.example.net , eu 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 a minha resposta à sua pergunta é simplesmente "sim".

    
por 16.07.2009 / 20:44
0

Este é um problema comumente mal compreendido com "domainname". Aqui está o topo da página man no 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 do DNS!

    
por 20.07.2009 / 16:32