Ubuntu recebendo nome de host errado do DHCP

0

Ao provisionar novos servidores Ubuntu Precise (12.04), o nome do host que eles estão obtendo parece ser gerado a partir do caminho de pesquisa do DNS, não uma pesquisa inversa no nome do host.

Tome a seguinte configuração

O BIND é configurado com o nome do host e o nome reverso

Zona normal     $ TTL 600     $ ORIGIN srv.local.net.

@ IN SOA ns0.local.net.  hostmaster.local.net. (
        2014082101
        10800
        3600
        604800
        600 )

@               IN      NS      ns0.local.net.
@               IN      MX      5   mail.local.net.

my-new-server           IN      A       10.32.2.30

E reverter     @ IN SOA ns0.local.net. hostmaster.local.net. (       2014082101       10800       3600       604800       600)

@ IN NS ns0.local.net.

$ORIGIN 32.10.in-addr.arpa.

30.2  IN  PTR my-new-server.srv.local.net.

Em seguida, o DHCPD é configurado para distribuir concessões estáticas com base em endereços mac, como

subnet 10.32.2.0 netmask 255.255.254.0 {
    option subnet-mask 255.255.254.0;
    option routers 10.32.2.1;
    option domain-name-servers 10.32.2.1;
    option domain-name "util.of1.local.net of1.local.net srv.local.net";

    site-option-space "pxelinux";
    option pxelinux.magic f1:00:74:7e;
    if exists dhcp-parameter-request-list {
        option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
    }

    group {

        option pxelinux.configfile "pxelinux.cfg/pxeboot";

        host my-new-server {
            fixed-address my-new-server.srv.local.net;
            hardware ethernet aa:aa:aa:bb:bb:bb;
        }
    }
}

Portanto, o nome do host deve ser my-new-server.srv.local.net , no entanto, ao criar um nó do Ubuntu 12.04, o nome do host termina como my-new-server.util.of1.local.net

Ao construir hosts Lucid (10.04), o nome do host estará correto, é somente nos nós Precise / 12.04 que temos o problema.

Fazer uma pesquisa normal e inversa no host e no IP retorna o resultado correto

Sams-MacBook-Pro:~ sam$ host my-new-server
my-new-server.srv.local.net has address 10.32.2.30
Sams-MacBook-Pro:~ sam$ host my-new-server.srv.local.net
my-new-server.srv.local.net has address 10.32.2.30
Sams-MacBook-Pro:~ sam$ host 10.32.2.30
30.2.32.10.in-addr.arpa domain name pointer my-new-server.srv.local.net.

O conteúdo do arquivo hosts também está incorreto

127.0.0.1       localhost
127.0.1.1       my-new-server.util.of1.local.net of1.local.net srv.local.net       my-new-server

Portanto, parece que ao criar o arquivo hosts, ele coloca todo o conteúdo do caminho de pesquisa do DNS no endereço local, de modo que o FQDN de acordo com o servidor é o nome abreviado do host definido. .

Existe uma maneira de contornar este comportamento, ou consertar isso para obter o nome do host corretamente? Ele está pegando a primeira parte do nome do host, então o resto está errado.

    
por Smudge 21.08.2014 / 17:42

1 resposta

0

Corrigi-lo no seu arquivo /etc/hosts , é aí que está errado. Os nomes no arquivo hosts substituem o que está no DNS. Quanto ao local onde pegou o util.of1.local.net durante a instalação, está bem ali na configuração do seu DHCP:

option domain-name "util.of1.local.net of1.local.net srv.local.net";

Você pode vê-lo preso em verbatim no arquivo /etc/hosts , espaços e todos ...

Tenha em mente que a opção domain-name , por definição, deve conter apenas um nome de domínio, o domínio padrão. Mas aqui é onde as coisas ficam complicadas. Em plataformas Linux mais antigas, como testemunha aqui, ele pegaria a string na opção domain-name e a colocaria cegamente em locais, como /etc/hosts , e também colocaria em /etc/resolv.conf para o parâmetro de pesquisa que efetivamente lhe deu conjunto de listas de pesquisa. A maneira correta de transmitir isso hoje é usar a opção domain-search , por exemplo,

option domain-search "util.of1.local.net","of1.local.net","srv.local.net";

Infelizmente, isso será ignorado pela versão mais antiga do 12.04 e não fornecerá uma lista de pesquisa.

Então, acho que você está preso a apenas consertar o que está em /etc/hosts após cada instalação, já que é um ponto de contato único.

E você provavelmente sabe disso, mas a versão mais recente do Ubuntu LTS é 14.04.1 até o momento desta publicação. Há uma tonelada de correções de bugs na versão LTS em comparação com 12.04, você realmente deveria estar usando 14.04.1 se possível. Você pode configurar o cliente DHCP (em /etc/dhcp/dhclient.conf ) para solicitar o parâmetro de pesquisa de domínio e fazer as coisas corretas.

    
por 28.08.2014 / 08:04