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

9

Eu tenho um servidor em uma rede que recebe todas as suas informações de rede DHCP. O problema é que o ntp-serverenvio não está definido como UTC. Eu quero usar a configuração para ntpencontrada em, /etc/ntp.confmas as DHCPinformações têm precedência. Como forçar o ntpduso da configuração em /etc/ntp.confoposição à enviada por DHCP? Qual é a Debianmaneira de fazer isso?

Ricardo Marimon
fonte
Qual daemon ntp você está usando? Qual é o conteúdo atual do seu ntp.conf? O pacote ntpdate está instalado? Qual cliente DHCP você está usando? Qual versão do Debian?
precisa
1
1. Sever no DHCP 2. O servidor NTP não está "definido" para UTC o_O
Chris S
Debian aperto, ntp.conf padrão (aquele que vem depois de aptitude install ntp)
Ricardo Marimon

Respostas:

7

Sugiro que você edite / crie /etc/dhclient.conf e descomente a linha "request" com algo como 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 (também conhecida como Fedora), ela é enviada por padrão, então você deve colocar essa linha explicitamente para que o padrão seja anulado.

Verifique se man dhclient.confhá informações estendidas.

Olivier S
fonte
Isso funcionou perfeitamente ... há algo que se pode fazer em debian que vai mais ao longo das linhas de / etc / default ...
Ricardo Marimon
14

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

Comportamento do DHCP

No Debian (pelo menos), o cliente DHCP está substituindo 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, captura a configuração atual do serviço ntp no caminho NTP_CONF e altera-o para incluir servidores ntp recebidos sobre dhcp, gera um novo arquivo de configuração ntp no caminho NTP_DHCP_CONF e, finalmente, força o serviço ntp para usar esse novo arquivo de configuração.

Isso resulta em sempre usar os servidores ntp anunciados pelo 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' permanece intocada e está correta na inspeção visual. No entanto, é realmente ignorado e substituído furtivamente.

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

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

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

Você precisará reconfigurar o cliente dhcp /etc/dhclient.confpara ignorar a ntp-serversopção dhcp. Consulte a resposta do @Oliver.

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

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

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

Para encerrar, você precisará remover /var/lib/ntp/ntp.conf.dhcpe reiniciar o serviço ntp em todos os seus servidores.

Palavra final

Tudo isso é 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.

user5994461
fonte
7

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

Caso ntp.conf.dhcptenha sido criado em uma inicialização anterior, remova-o também.

Tuinslak
fonte