2008-10-24 88 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