超时,什么也没收到


9

我尝试了所有并且用谷歌搜索了很多!但是我无法在服务器上使用NTP。这篇文章是最后的希望!我已使用以下配置()在debian服务器上安装了ntp/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

现在,当我尝试:

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

当我尝试:

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

但是有:

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

我收到传入的数据包并设置时间偏移。这导致我错误的ntp.conf配置。

任何线索为什么会这样。


您要显示什么文件?是/etc/ntp.conf吗 您确定这些NTP服务器吗?尝试Debian的,我的(正在工作的)ntp.conf 在这里
terdon

是的,它是ntp.conf。我将尝试使用debian的服务器。谢谢
测试

不,总是相同的错误。
测试

假设您在进行了这些更改后重新启动了ntpd,是否正确?service ntpd restart
slm

1
另外,您的限制行很奇怪...请查看support.ntp.org/bin/view/Support/AccessRestrictions
derobert 2014年

Answers:


3

如果您尝试使用的所有NTP服务器似乎都没有响应,则可能是防火墙阻止了传出请求或传入响应。

NTP使用UDP端口123。您可以通过在该端口上运行traceroute来检查传出请求是否被阻止。根据您对traceroute的实现,这可能类似于traceroute -p 123 0.it.pool.ntp.org(Debian包括traceroute,check traceroute --helpman traceroute在您的系统上的几种实现)。如果传入请求被阻止,但传出请求通过,那么我认为您无法在不访问网络外部的计算机的情况下诊断出它们被阻止的位置(如果可以访问此类计算机,请运行traceroute -p 123 your.ip.address)。请注意,如果您有专用IP地址,则要使用NTP,需要网络管理员的配合(特别是NAT设备中的NTP支持)。

如果您在计算机上设置了防火墙,请确保它允许NTP通过。简单的方法是允许UDP端口123上的所有流量:

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

(您可能需要添加-d/ -s指令以限制为特定的IP地址或一组IP地址。请注意,如果要这样做,如果您正在使用的池中的NTP服务器更改了IP地址,则需要更新这些规则。 )

如果您的计算机和Internet之间某处的NTP通信被阻止,请与网络管理员联系。可能有一台中继机可以用作NTP服务器。


您的托管服务提供商/ ISP可能阻止了外部NTP通信。这是防止DDOS的繁重手段。询问您的ISP您可以连接到哪些内部ntp服务器。
dfc 2014年

1
@dfc以我的经验,作为阻止所有UDP的一部分或作为NAT的自然结果,公司防火墙会阻止NTP,但是ISP不会(除了NAT之外)。但是确实,如果您的ISP阻止传入的NTP,则他们应该在其网络上提供NTP服务器。
吉尔(Gilles)'所以

我已经将这些规则添加到iptables中,但是仍然存在相同的错误。强烈地使用:ntpdate -d 0.it.pool.ntp.org,它可以工作。所以我相信它是ntp.conf。
测试

@Gilles是“您的经验”是否考虑到最近使用ntp的DDoS攻击浪潮?一年前,我同意你的评论。但是,在最近的攻击浪潮之后,出口ntp过滤比您想象的要普遍得多。
dfc 2014年

@BojanVidanovic它与ntpdate一起使用而不与ntp一起工作没有任何意义。当它与ntpdate一起使用时,您应记下返回ann答案的IP地址,然后尝试将其放入ntp.conf。除了dns守护程序中的某些伪随机化之外,pool.ntp.org地址的DNS响应将根据池监视器当前运行状况良好的服务器数量而有所不同。
dfc 2014年

3

据我所知,您的问题是“为什么ntpq -pn不能按预期运行?”

更改此行:

restrict 127.0.0.1 noserve nomodify

回到原来的样子:

restrict 127.0.0.1

现在ntpq -pn可以工作了。

仅供参考:::1是的IPv6版本127.0.0.1

更新的配置:

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

127.0.0.1:超时,什么也没收到***请求超时
测试

您已将/etc/ntp.conf更新为上面显示的内容,然后重新启动了ntp,并且收到了超时消息?输出是netstat -laun什么?
dfc

非常感谢!在限制结束时,我还添加了“ restrict localhost”
Vagner do Carmo

1

您的问题似乎是在配置文件的这两行中选择了这两个服务器:

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

当我尝试查询其中任何一个时,我也会收到您的错误消息:

$ 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

我会尝试为初学者选择一些不同的服务器。

那些服务器?

当我用google搜索他们的名字时,我遇到了一个标题为:Come configurare il vostro NTP的页面。那里也提到了另一台不工作的服务器:

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

这些服务器似乎是问题所在。

加密?

如果您向下看我上面提到的URL,他们讨论使用加密,则可能需要启用它才能访问那些NTP服务器。

调试技巧

iburst使用以下命令,我能够成功连接到两个服务器:

$ ntpdate -d <server>
$ ntpdate -d ntp1.inrim.it
 9 Mar 21:01:37 ntpdate[20739]: ntpdate 4.2.6p5@1.2349-o 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

因此,看来您的问题实际上是ntp.conf文件有问题。请确认是这种情况,我们可以继续进行进一步调试。


是的,我不会使用那些服务器,但是我添加了debian.pool.ntp.org,但我仍然得到:超时。或it.pool.ntp.org,它的工作原理给了我同样的错误。在这一点上,我认为某些东西阻止了NTP。
测试

如果我尝试:ntpdate 0.debian.pool.ntp.org,它可以工作。
测试

是的,使用:ntpdate -d ntp1.inrim.it我看到与您相同的结果。然后可能是ntp.conf。
测试

1
@BojanVidanovic-是的,问题可能出在您ntp.conf那时。因此,这是一个良好的进展。除了服务器端的行,我将删除大部分行以进一步调试此行。
slm

1
该开关ntpd,添加-d的选项将增加更多,而且-D level将使INFO,TRACE,DEBUG等
SLM

0

就我而言,环回适配器在系统中被禁用。启用后,问题得以解决。请参阅/ etc / network / interfaces文件。


0

从我所看到的,您已经配置了NTP服务器,但是您将其指向POOL

server 0.pool.ntp.org

尝试:

pool 0.pool.ntp.org

而是将“服务器”与专用服务器而非池一起使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.