У меня на сервере Centos 6 команды ntpq -p истекают по времени.
# ntpq -pn
127.0.0.1: timed out, nothing received
***Request timed out
Результат tcpdump показывает, что он использует eth0 вместо интерфейса loopback.
14:42:11.392517 IP 10.122.5.2.45969 > 127.0.0.1.ntp: NTPv2, Reserved, length 12
14:42:16.397594 IP 10.122.5.2.45969 > 127.0.0.1.ntp: NTPv2, Reserved, length 12
14:42:29.528535 IP 10.122.5.2.35338 > 127.0.0.1.ntp: NTPv2, Reserved, length 12
Похоже, что-то не так с конфигурацией сети. Но где?
содержимое моего ntp.conf.
# cat /etc/ntp.conf
tinker panic 0
driftfile /var/lib/ntp/drift
server x.x.x.x iburst
server x.x.x.x iburst
# By default, exchange time with everybody, but don't allow configuration.
# See /usr/share/doc/ntp-doc/html/accopt.html for details.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
keys /etc/ntp/keys
решение1
Проблема возникла из-за неисправного правила iptables nat.
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
Изменил пункт назначения на IP-адрес, для которого он был предназначен, и ntp заработал.
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 0.0.0.0/0 x.x.x.x