Configurando um servidor NTP para minha LAN

1

Estou tentando configurar minha máquina Debian 6 (Squeeze) para atuar como um servidor de horário local para minha rede. Eu tenho que definir para sincronizar com tock.usno.navy.mil , que é um servidor de estrato 1.

Estou tendo alguns problemas para encontrar qualquer informação sobre como configurar o daemon ntp para servir o tempo para os clientes que solicitam o tempo. Eu olhei através da man page do ntpd e esse foi provavelmente o melhor doc que encontrei. support.ntp.org foi praticamente inútil para mim, a documentação que encontrei estava falando mais sobre como o NTP funciona não como configurar um servidor.

Também percebi que não estou recebendo nada em meus registros sobre a sincronização com o servidor listado.

Qualquer ajuda que alguém possa oferecer seria ótima, não tenho certeza do que está errado. Tenho certeza de que é algo que estou fazendo. Eu tinha um servidor de tempo anterior em execução, mas minha SAN explodiu e eu não estava fazendo backups, pois era para testes. Então eu não tenho nenhuma configuração antiga para ver.

Aqui está uma cópia de ntp.conf , já que não há nada aqui que tenha alguma informação pessoal que eu ache que possa ajudar.

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntp/ntp.drift


# Enable this if you want statistics to be logged.
#statsdir /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


# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
server tock.usno.navy.mil iburst


# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 10.0.0.0 mask 255.255.255.0 notrap nomodify

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust


# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

Aqui, a saída de ntpq -p

root@ns01:/home/ns01# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp1.usno.navy. .USNO.           1 u   43   64    1   34.747  -2891.0 1669.51

Saída do iptables

Output from 'iptables -L -n -v'

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Atualizar

Quando eu removo a linha restrict 10.0.0.0 mask 255.255.255.0 notrap nomodify da minha configuração, o ntp parece ganhar vida. Isto é o que vejo agora quando olho para ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-barricade.rack9 209.51.161.238   2 u   39   64  377   37.887  -2977.7   3.180
*gallifrey.chpc. 92.113.67.127    2 u   26   64  377   68.155  -2969.0   3.024
+clock.trit.net  204.34.198.41    2 u    2   64  377   83.146  -2972.0   3.756
+ntp1.Housing.Be 169.229.128.214  3 u   63   64  377  105.803  -2972.6   2.698

Teste a saída do ifconfig da área de trabalho (solicitada por MadHatter)

eth0      Link encap:Ethernet  HWaddr 08:00:27:59:2d:3a  
          inet addr:10.0.0.21  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe59:2d3a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51822 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10339609 (9.8 MiB)  TX bytes:7249927 (6.9 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5066 (4.9 KiB)  TX bytes:5066 (4.9 KiB)
    
por ianc1215 14.04.2011 / 07:35

2 respostas

1

Você precisa garantir que a porta 123 do udp esteja aberta para o seu servidor a partir da sua LAN e retorne à sua LAN a partir do seu servidor.

Além disso, você pode verificar o status da sincronização do seu servidor executando

"ntpq -p"

Eu recomendaria adicionar pelo menos três servidores upstream à sua configuração.

Tente apontar um de seus clientes para o seu servidor por meio de "ntpdate servername" e veja o que acontece.

    
por 14.04.2011 / 07:57
0

Concordo com a resposta de dmourati. Sua configuração parece correta. A única coisa adicional que eu recomendo verificar é se o processo do ntpd está sendo executado.

Com relação à documentação: eu configurei recentemente um cartão de ponto de GPS Meinberg, e encontrei sua documentação bastante útil. Para o seu caso de uso, você teria que ignorar todas as referências a placas PCI dedicadas e usar um nome de servidor apropriado em vez do pseudo endereço IP usado para se referir à placa PCI.

No entanto, acho que você pode estar perdendo alguma precisão colocando seu servidor de horário local em uma máquina virtual. Se você precisar de precisão abaixo de segundo em sua rede, certifique-se de medir a precisão do seu servidor local. A página Time Nuts pode ser um bom ponto de partida para procurar abordagens para isso.

    
por 14.04.2011 / 08:15

Tags