使用命令查询 ntp 服务器时 日期, ,我可以使用 -u 使源端口成为不受限制的端口(端口 1024 及以上)的参数。

对于 ntpd,它意味着在后台运行,我似乎找不到打开此选项的方法。所以源端口始终是123。它对我的防火墙配置造成了可怕的影响。

里面有配置选项吗 ntp配置文件 让它使用随机源端口?

有帮助吗?

解决方案

听起来不太可能......请参阅 ntp疑难解答页面

  

如果您要运行ntpd,则需要修复网络/防火墙/ NAT,以便ntpd可以在两个方向上完全无限制地访问UDP端口123.

     

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

     

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

其他提示

我设法通过用OpenNTPD替换官方NTPD来解决这个问题。官方NTPD固定为UDP端口123,而OpenNTPD使用非特权端口。

之前我遇到过这个问题,但找不到解决方法。我最后只是在每小时运行一次ntpdate的crontab中添加一个条目。对于我所做的任何事情都能提供足够好的分辨率,因为我的时钟每小时不会超过1秒钟。

您无法更改NTP端口,但可以添加iptables cmd以通过VPN端口重定向。

详细信息: http://openvpn.net/archive/openvpn-用户/ 2007-11 / msg00223.html

正如 @Andy_Whitfield 所写,ntpd 无法做到这一点。但还有其他选择,比如 开放NTPD克罗尼. 。AFAIK,Android 也使用 Chrony。

在我的设置中,我使用 chrony。它使用非特权端口来询问远程服务器。这种技术有更多机会通过 NAT。顺便说一句,这也是同样的机制 ntpdate -q 用于查询服务器,但仅当以非特权用户身份调用时。

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

您可以在运行ntpd的主机上使用源NAT来替换端口号大于1024的123源端口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top