我必须在 CentOS 服务器上配置 NTP。我有 7 个接口,我可以通过一个接口访问 NTP 服务器。而且服务器无法访问互联网。当我尝试 ping 时:
ping 10.0.10.12
connect: Network is unreachable
但是当我使用源接口 ping 时,ping 成功。
ping -I eth0 10.0.10.12
PING 10.0.0.131 (10.0.10.12) from 10.69.4.16 eth0: 56(84) bytes of data.
64 bytes from 10.0.10.12: icmp_seq=1 ttl=127 time=4.07 ms
64 bytes from 10.0.10.12: icmp_seq=2 ttl=127 time=0.309 ms
64 bytes from 10.0.10.12: icmp_seq=3 ttl=127 time=0.318 ms
ntpstat 命令输出:
unsynchronised
time server re-starting
polling server every 8s
ntpq -p 命令输出:
remote refid st t when poll reach delay offset jitter
==============================================================================
10.0.10.12 .INIT. 16 - - 512 0 0.000 0.000 0.000
我也尝试了 ntpdate –d 10.0.10.12:
ntpdate -d 10.0.0.131
23 Jul 09:14:31 ntpdate[16715]: ntpdate [email protected] Sat Nov 23 18:21:48 UTC 2013 (1)
Looking for host 10.0.0.131 and service ntp
host found : 10.0.0.131
23 Jul 09:14:31 ntpdate[16715]: no servers can be used, exiting
NTP 服务器是在 ntp.conf 文件中配置的,我认为问题出在网络上。我想知道我是否可以明确指定用于访问 NTP 服务器的源接口?
答案1
您可以为您的 NTP 服务器添加特定的主机路由:
route add -host 10.0.10.12 dev eth0
, 例如。
根据 Anton 完全正确的评论,以下是iproute2
语法中的命令:
ip route add 10.0.10.12 dev eth0
答案2
我解决了这个问题,结论是 NTP 需要默认网关才能正常工作。这对我来说是解决方案:
ip route add default via 127.0.0.1 dev lo