expirou, nada recebido

9

Eu tentei tudo e pesquisei muito no Google! Mas não consigo fazer o trabalho NTP no meu servidor. Este post é a última esperança! Eu instalei o ntp no servidor debian com esta configuração ( /etc/ntp.conf):

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1 noserve nomodify
restrict ::1

Agora, quando eu tento:

ntpq -pn
127.0.0.1: timed out, nothing received
***Request timed out

Quando tento:

ntpdate -q
9 Mar 18:08:01 ntpdate[27896]: no servers can be used, exiting

Mas com:

ntpdate -d 0.it.pool.ntp.org

Recebo pacotes recebidos e defino o deslocamento de tempo. Isso me levou à configuração incorreta do ntp.conf .

Alguma pista de por que isso está acontecendo.

Teste
fonte
Que arquivo você está mostrando? É isso /etc/ntp.conf? Você tem certeza sobre esses servidores NTP? Experimente o Debian, meu (trabalho) ntp.conf está aqui .
terdon
Sim, é ntp.conf. Vou tentar com os servidores do debian. Obrigado
Teste
Não, sempre os mesmos erros.
Teste
Supondo que você reiniciou o ntpd após fazer essas alterações, está correto? service ntpd restart.
Slm
1
Além disso, suas linhas restritas são estranhas ... Veja support.ntp.org/bin/view/Support/AccessRestrictions
derobert

Respostas:

3

Se nenhum dos servidores NTP que você está tentando parecer responder, é provável que um firewall esteja bloqueando solicitações de saída ou respostas de entrada.

O NTP usa a porta UDP 123. Você pode verificar se as solicitações de saída estão sendo bloqueadas executando o traceroute nessa porta. Dependendo da sua implementação do traceroute, isso pode ser algo como traceroute -p 123 0.it.pool.ntp.org(o Debian inclui várias implementações do traceroute, verifique traceroute --helpou man tracerouteno seu sistema). Se as solicitações de entrada estiverem bloqueadas, mas não forem concluídas, acho que não será possível diagnosticar onde elas estão bloqueadas sem acesso a uma máquina fora da sua rede (se você tiver acesso a essa máquina, execute traceroute -p 123 your.ip.address). Observe que, se você tiver um endereço IP privado , a capacidade de usar o NTP exige a cooperação do administrador da rede (especificamente, o suporte ao NTP no dispositivo NAT ).

Se você configurou um firewall em sua máquina, verifique se está deixando o NTP passar. A maneira mais simples é permitir todo o tráfego na porta UDP 123:

iptables -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT

(Você pode adicionar -d/ -sdiretivas para restringir a um endereço IP específico ou a um conjunto de endereços IP. Observe que, se você fizer isso, precisará atualizar essas regras se os servidores NTP no pool que você estiver usando alterar endereços IP .)

Se o tráfego NTP estiver bloqueado em algum lugar entre sua máquina e a Internet, entre em contato com o administrador da rede. É provável que exista uma máquina de retransmissão que você possa usar como servidor NTP.

Gilles 'SO- parar de ser mau'
fonte
O tráfego NTP externo provavelmente está sendo bloqueado pelo provedor de hospedagem / ISP. Essa é uma abordagem pesada para evitar o DDOS. Pergunte ao seu ISP a quais servidores NTP internos você pode se conectar.
dfc
1
@dfc Na minha experiência, os firewalls corporativos bloqueiam o NTP como parte do bloqueio de todos os UDP ou como uma conseqüência natural do NAT, mas os ISPs não (exceto os que usam NAT). Mas, de fato, se o seu ISP bloquear o NTP recebido, ele deverá fornecer um servidor NTP em sua rede.
Gilles 'SO- stop be evil'
Eu já havia adicionado essas regras ao iptables, mas ainda assim mesmo erro. Estranhamente com: ntpdate -d 0.it.pool.ntp.org, ele funciona. Então eu acredito que é ntp.conf.
Teste
@Gilles é "sua experiência", levando em consideração a recente onda de ataques DDoS que usam o ntp? Há um ano, eu concordo com o seu comentário. No entanto, após as recentes ondas de ataques, a filtragem ntp de saída é muito mais comum do que você pensa.
dfc
@BojanVidanovic Não faz sentido que funcione com ntpdate e não com ntp. Quando funciona com o ntpdate, você deve anotar o endereço IP que retornou a resposta ann e tentar colocá-lo no ntp.conf. A resposta do DNS para o endereço pool.ntp.org variará dependendo de quantos servidores as coisas do monitor de pool estão atualmente saudáveis, além de algumas pseudo-randomizações no daemon dns.
dfc
3

Tanto quanto posso dizer, sua pergunta é "Por que ntpq -pnnão funciona como eu esperava?"

Mude esta linha:

restrict 127.0.0.1 noserve nomodify

de volta ao que era originalmente:

restrict 127.0.0.1

agora ntpq -pnvai funcionar.

FYI: ::1é a versão IPv6 do127.0.0.1

Configuração atualizada:

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1
restrict ::1
dfc
fonte
127.0.0.1: tempo limite excedido, nada recebido *** Pedido expirou
teste
Você atualizou seu /etc/ntp.conf para o que é mostrado acima e reiniciou o ntp e recebeu a mensagem de tempo limite? qual é a saída netstat -laun?
dfc
Muito obrigado! Tenho também acrescentou "restringir localhost" no final de restrições
Vagner do Carmo
1

Seu problema parece estar na seleção desses 2 servidores nessas 2 linhas do seu arquivo de configuração:

server ntp1.inrim.it iburst
server ntp2.inrim.it iburst

Quando tento consultar um deles, também recebo seu erro:

$ sudo ntpq -p ntp1.inrim.it
ntp1.inrim.it: timed out, nothing received
***Request timed out

$ sudo ntpq -p ntp2.inrim.it
ntp2.inrim.it: timed out, nothing received
***Request timed out

Eu tentaria selecionar alguns servidores diferentes para iniciantes.

Esses servidores?

Quando eu pesquiso seus nomes no Google, me deparei com esta página intitulada: Venha configurar o seu NTP . Havia outro servidor que também não funcionava:

$ sudo ntpq -p host2.miaditta.it 
host2.miaditta.it: timed out, nothing received
***Request timed out

Esses servidores parecem ser o problema.

Criptografia?

Se você olhar mais para baixo na URL acima que mencionei, eles discutem o uso de criptografia, talvez seja necessário habilitar isso para acessar esses servidores NTP.

Dicas de depuração

Consegui conectar-me com sucesso aos dois iburstservidores usando este comando:

$ ntpdate -d <server>
Exemplo
$ ntpdate -d ntp1.inrim.it
 9 Mar 21:01:37 ntpdate[20739]: ntpdate [email protected] Tue Apr  2 17:47:01 UTC 2013 (1)
Looking for host ntp1.inrim.it and service ntp
host found : ntp1.inrim.it
transmit(193.204.114.232)
receive(193.204.114.232)
...
server 193.204.114.232, port 123
stratum 1, precision -22, leap 00, trust 000
refid [CTD], delay 0.19319, dispersion 0.00084
transmitted 4, in filter 4
reference time:    d6c78d79.f0206119  Sun, Mar  9 2014 21:01:45.937
originate timestamp: d6c78d7e.55ab5b4b  Sun, Mar  9 2014 21:01:50.334
transmit timestamp:  d6c78d77.7e9b8296  Sun, Mar  9 2014 21:01:43.494
filter delay:  0.19460  0.19710  0.19453  0.19319 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 6.755368 6.757349 6.755239 6.756265
         0.000000 0.000000 0.000000 0.000000
delay 0.19319, dispersion 0.00084
offset 6.756265

 9 Mar 21:01:43 ntpdate[20739]: step time server 193.204.114.232 offset 6.756265 sec

Parece que seu problema é realmente algo errado com seu ntp.confarquivo. Confirme que este é o caso e podemos continuar a depuração.

slm
fonte
Sim, não usarei esses servidores, mas adicionei o debian.pool.ntp.org e ainda recebo: o tempo limite expirou. Ou it.pool.ntp.org, que funciona, gera o mesmo erro. Neste ponto, acho que algo está bloqueando o NTP.
Teste
se eu tentar: ntpdate 0.debian.pool.ntp.org, ele funciona.
Teste
Sim, com: ntpdate -d ntp1.inrim.it, vejo os mesmos resultados que o seu. Então provavelmente é o ntp.conf.
Teste
1
@BojanVidanovic - sim, sim, o problema provavelmente é o seu ntp.confentão. Portanto, este é um bom progresso. Eu tiraria a maior parte das linhas, exceto as do servidor, para depurar isso ainda mais.
slm
1
As opções para ntpdadicionar -dopções adicionarão mais e -D levelhabilitarão INFO, TRACE, DEBUG etc.
slm
0

No meu caso, o adaptador de loopback foi desativado no sistema. Depois de habilitá-lo, o problema foi resolvido. Veja o arquivo / etc / network / interfaces.

lehab
fonte
0

Pelo que vejo, você configurou um NTP SERVER, mas está apontando para uma POOL

server 0.pool.ntp.org

Tentar:

pool 0.pool.ntp.org

em vez disso, ou use "server" com um servidor dedicado, não com um pool.

ronador
fonte