Como sobrescrever as informações do ntp enviadas pelo dhcp no debian?

6

Eu tenho um servidor em uma rede recebendo todas as informações de rede de DHCP . O problema é que o ntp-server enviado não está definido como UTC. Eu quero usar a configuração para ntp encontrado em /etc/ntp.conf , mas a informação DHCP tem precedência. Como posso forçar o ntpd a usar a configuração em /etc/ntp.conf em vez da enviada por DHCP ? Qual é a maneira de Debian de fazer isso?

    
por Ricardo Marimon 10.11.2011 / 04:54

3 respostas

5

Eu sugiro que você edite / crie /etc/dhclient.conf e descomente a linha "request" com algo parecido com isto:

request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;

Especialmente, se "ntp-servers" estiver presente, remova-o. Sob alguma distribuição (aka Fedora) ele é enviado por padrão, então você tem que colocar esta linha explicitamente para que o padrão seja substituído.

Verifique man dhclient.conf para informações detalhadas.

    
por 10.11.2011 / 07:42
10

Não responde diretamente à pergunta, mas pode ser útil.

Comportamento do DHCP

No Debian (pelo menos) o cliente DHCP está sobrescrevendo a configuração do serviço ntp existente.

É controlado pelo script /etc/dhcp/dhclient-exit-hooks.d/ntp :

[contents from: /etc/dhcp/dhclient-exit-hooks.d/ntp]
NTP_CONF=/etc/ntp.conf
NTP_DHCP_CONF=/var/lib/ntp/ntp.conf.dhcp
...
[hundreds of lines of scripts]

O cliente DHCP recebe servidores ntp do servidor DHCP, pega a configuração atual do serviço ntp do caminho NTP_CONF e altera para incluir servidores ntp recebidos sobre o dhcp, gera um novo arquivo de configuração ntp no caminho NTP_DHCP_CONF e finalmente força o serviço ntp para usar este novo arquivo de configuração.

Isso resulta em sempre usar os servidores ntp anunciados sobre o dhcp. Ignorando a configuração do sistema.

Isso é difícil de depurar se não for conhecido, porque a configuração do serviço em '/etc/ntp.conf' não é afetada e está correta na inspeção visual. No entanto, ele é realmente ignorado e ignorado.

Você pode usar 'ntpq -pn' para depurar o que os servidores ntp estão realmente sendo usados pelo deamon.

Misturando as opções do DHCP ntp e a configuração específica do sistema

Se houver um servidor ntp em sua rede sendo anunciado pelo DHCP e você quiser ignorá-lo :

Você precisará reconfigurar o cliente dhcp em /etc/dhclient.conf para pular a opção ntp-servers dhcp. Consulte a resposta de @Oliver.

Depois, você pode personalizar a configuração do sistema em /etc/ntp.conf

Se houvesse um servidor ntp anunciado pelo DHCP em algum momento, mas não mais :

A configuração ntp do sistema ainda pode ser substituída pelo cliente dhcp, forçando servidores ntp obsoletos anunciados há muito tempo. Essa substituição de dhcp pode sobreviver por dias, entre ntp service restart e reboot .

Para acabar com isso, você precisará remover /var/lib/ntp/ntp.conf.dhcp e reiniciar o serviço ntp em todos os seus servidores.

Palavra final

Isso tudo é um comportamento não documentado, inesperado e difícil de depurar. Isso me causou muita dor de cabeça hoje e é por isso que estou documentando isso aqui.

    
por 23.06.2016 / 13:21
5

Você também pode simplesmente remover este arquivo: /etc/dhcp/dhclient-exit-hooks.d/ntp , em vez de editar suas solicitações DHCP. Este arquivo cria ntp.conf.dhcp .

No caso de ntp.conf.dhcp ter sido criado em uma inicialização anterior, lembre-se de removê-lo também.

    
por 20.11.2014 / 23:55

Tags