2008-10-24 125 views
11

当与命令用ntpdate查询NTP服务器,I可以使用-u参数以便使源端口不受限制端口(端口1024和以上)。NTPD:使用不受限制的端口进行通信

与ntpd,这是为了在后台运行,我似乎无法找到一种方法来打开此选项。所以源端口始终是123.它的防火墙配置非常可怕。

是否有配置选项ntp.conf使其使用随机源端口?

回答

11

听起来并不期待这是可能的...看到ntp troubleshooting page

如果你要运行ntpd,你需要修复您的网络/防火墙/ NAT让NTPD可以有充分的双向无限制地访问UDP端口123。

如果这不可行,您可能需要在防火墙本身上运行ntpd,以便它可以在两个方向上完全无限制地访问UDP端口123,然后让它为您的内部客户端提供服务。

如果这是不可能的,您唯一的选择可能是购买必要的硬件来连接到一台或多台自己的计算机,并运行您自己的Stratum 1时间服务器或购买预先打包的Stratum 1时间服务器。

2

我以前有过这个问题,找不到解决方案。我最终只是添加一个条目到每小时运行一次ntpdate的crontab。这对我所做的任何事情都能提供足够的分辨率,因为我的时钟每小时不会漂移超过1秒。

6

我设法解决这个问题,用官方的NTPD替换OpenNTPD。虽然官方NTPD固定为UDP端口123,但OpenNTPD使用非特权端口。

+1

对不起端口号来代替123的源端口,你如何指定要使用的端口?我在手册 – Joril 2014-03-24 09:23:02

+0

中找不到它如何监视openntpd是否正确运行?可以查询ntpd来发出状态。曾经为这个prio-port问题准确地使用过openntpd,并发现自己有一个可能有缺陷的聋哑ntp。 – michuelnik 2014-11-20 15:27:08

1

由于@Andy_Whitfield写道,NTPD无法做到这一点。但还有其他替代品,如OpenNTPDChrony。 AFAIK,Chrony也被Android使用。

在我的设置中,我使用chrony。它使用非特权端口来询问远程服务器。这种技术有更多机会通过NAT。这也是ntpdate -q用于查询服务器的机制,但只有在作为非特权用户调用时才是如此。

我认为,为什么它有时不起作用的主要问题是许多路由器都有自己设置内部时钟的NTP。在这些设备上,端口正在使用中,因此无法进行NAT。如果设备不响应​​NTP查询,情况甚至可能如此。

0

您可以使用源NAT的ntpd运行在主机上与上述1024

相关问题