Wdrażamy serwery Ubuntu 14.04 w izolowanych sieciach, działające w ntpd 4.2.6p5, skonfigurowane do korzystania z wielu serwerów NTP podanych przez klientów (brak dostępu do pool.ntp.org). Nasze głupie urządzenia klienckie obsługują starszą wersję BusyBox (1.00-rc2) i ntpclient 2010 od Larry'ego Doolittle.
Ta konfiguracja działała świetnie od lat, ale ostatnio natrafiliśmy na przeszkodę dla nowego klienta. Dostarczyli nam 5 wewnętrznych adresów serwerów NTP, które wydają się działać same z siebie, jeśli chodzi ntpdate-debian
o serwer Linux. Po stronie BusyBox ntpclient
narzeka jednak na „Zbyt duże rozrzuty”. Z wyniku debugowania ntpclient
pobiera „1217163.1” z serwera NTP, ale maksymalna obsługiwana przez niego wartość to bezwzględna wartość (65536).
$ /usr/sbin/ntpclient -s -i 15 -h 10.17.162.250 -d
Configuration:
-c probe_count 1
-d (debug) 1
-g goodness 0
-h hostname 10.17.162.250
-i interval 15
-l live 0
-p local_port 0
-q min_delay 800.000000
-s set_clock 1
-x cross_check 1
Listening...
Sending ...
recvfrom
packet of length 48 received
Source: INET Port 123 host 10.17.162.250
LI=0 VN=3 Mode=4 Stratum=4 Poll=4 Precision=-20
Delay=60745.2 Dispersion=1346801.8 Refid=10.31.10.21
Reference 3668859928.942079
(sent) 3668859928.708371
Originate 3668859928.708371
Receive 3668859928.963271
Transmit 3668859928.963369
Our recv 3668859928.708371
Total elapsed: 0.00
Server stall: 93.09
Slop: -93.09
Skew: 255443.94
Frequency: 0
day second elapsed stall skew dispersion freq
42463 56728.708 rejected packet: abs(DISP)>65536
To są wszystkie urządzenia w tej samej sieci LAN, więc szczerze mówiąc, jestem oszołomiony. Nawet okropnie.
Oto dane ntpq -pn
wyjściowe z serwera Ubuntu 14.04:
user@host:~$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
127.127.1.0 .LOCL. 10 l 1025 64 0 0.000 0.000 0.000
10.17.162.249 10.17.6.10 5 u 23 1024 37 0.865 1381.07 697.260
10.31.10.22 .LOCL. 1 u 1044 1024 17 29.586 -838.06 397.342
10.17.6.10 10.31.10.21 4 u 1065 1024 17 0.366 105.245 402.999
*10.31.10.21 132.246.11.238 3 u 5 1024 37 29.418 794.292 616.796
10.17.6.11 10.31.10.21 4 u 1038 1024 17 0.408 120.030 381.058
Moje pytania to:
- Co to jest dyspersja i co może zmienić jej wartość?
- Jakie polecenia mogę uruchomić, aby uzyskać więcej informacji z serwerów NTP?
- Czy błąd może leżeć po stronie serwera Ubuntu z niewłaściwym
ntp.conf
? Naprawdę nie ma tam nic specjalnego. - Czy przejście na chrony zmieniłoby cokolwiek w tym przypadku?