OpenNTPD

✍ dations ◷ 2025-06-08 09:15:37 #网络时间相关软件,BSD软件,OpenBSD

OpenNTPD是一个Unix系统网络时间协议(NTP)实现的守护进程,可以使计算机系统的本地时钟与远程NTP服务器同步。它也可以作为一个NTP兼容客户端的NTP服务器。

OpenNTPD作为OpenBSD计划的一部分,主要由亨宁·布劳尔负责开发。其设计目标包括安全(不可被利用)、易于配置、在大多数情况足够精确及可在BSD许可证下分发源代码。如OpenSSH,它另有一个单独的子项目来开发可移植版本,其为OpenBSD的版本添加了兼容性代码,且与主项目分开发布新版本。可移植版由达伦·塔克开发。最新的可移植版发布于2006年。该项目的开发者得到了一些来自OpenBSD基金会的资助。

当时NTP守护进程的一系列问题促成了OpenNTPD的开发:难以配置,复杂、难以审计的代码,及不合适的许可。OpenNTPD的目标就是要解决这些问题,扩大时间同步的用户数量。经过一段时间的开发,OpenBSD 3.6中第一次出现了OpenNTPD。它的第一个版本于2004年11月2日发布。

OpenBSD团队计划开发一个安全、易于安全审计、极简的设置和管理、占用较小内存的同时又能足够精确的NTP守护进程实现,这就是OpenNTPD。因此,OpenNTPD的设计目标是:安全、易用及性能。强力的网络输入路径有效性检查、由strlcpy保证的有界缓冲区操作、权限分离以防止利用守护进程进行权限提升,减小可能存在的安全漏洞的影响,这些都使得OpenNTPD更加安全。为了简化NTP的使用,较其它如网络时间协议项目所提供的NTP守护进程,OpenNTPD只实现了部分功能。只提供足够的功能的目标对典型的使用已经足够,但却可能无法满足奇怪或或特殊的需求。OpenNTPD通过配置文件进行配置。其中提供的选项也是最小化的:OpenNTPD监听的IP地址或主机名,将要修改的时间设备,及用于同步时间的一组服务器。OpenNTPD尽力做到精确;守护进程会尽可能精确,但不对具体的精度做出保证。

OpenNTPD逐步调整系统时钟,如在64位Arch Linux系统上运行OpenNTPD输出示例所示:

# more /var/log/daemon.log | grep ntp | grep adjusting | tail -20Aug  4 02:58:21 nikolai ntpd: adjusting local clock by -2.134620sAug  4 03:02:38 nikolai ntpd: adjusting local clock by -1.983869sAug  4 03:06:53 nikolai ntpd: adjusting local clock by -1.884521sAug  4 03:08:28 nikolai ntpd: adjusting local clock by -1.819296sAug  4 03:12:46 nikolai ntpd: adjusting local clock by -1.712934sAug  4 03:15:48 nikolai ntpd: adjusting local clock by -1.607747sAug  4 03:19:31 nikolai ntpd: adjusting local clock by -1.535188sAug  4 03:21:05 nikolai ntpd: adjusting local clock by -1.439628sAug  4 03:24:56 nikolai ntpd: adjusting local clock by -1.376086sAug  4 03:29:12 nikolai ntpd: adjusting local clock by -1.271529sAug  4 03:32:20 nikolai ntpd: adjusting local clock by -1.162333sAug  4 03:36:08 nikolai ntpd: adjusting local clock by -1.023899sAug  4 03:40:02 nikolai ntpd: adjusting local clock by -0.902637sAug  4 03:43:43 nikolai ntpd: adjusting local clock by -0.789431sAug  4 03:47:35 nikolai ntpd: adjusting local clock by -0.679320sAug  4 03:50:45 nikolai ntpd: adjusting local clock by -0.605858sAug  4 03:53:31 nikolai ntpd: adjusting local clock by -0.529821sAug  4 03:56:33 nikolai ntpd: adjusting local clock by -0.429573sAug  4 03:59:46 nikolai ntpd: adjusting local clock by -0.312575sAug  4 04:03:14 nikolai ntpd: adjusting local clock by -0.232646s#

批评

OpenNTPD被批评没有网络时间协议项目的NTP守护进程精确。OpenNTPD项目也承认这种说法的合理性,但它声称这是在微秒精度和OpenNTPD提供的简便性及安全性之间做出的平衡。

OpenNTPD也被批评违反了NTP协议,因为其在传输数据时省略掉了精确性信息:OpenNTPD服务器声明自己是无限精确的(早期版本在第1层声明;虽然前述问题已得到修复,OpenNTPD 3.9p1仍然提供的是零误差时间)。

在OpenNTPD3.6发布后不久,布拉德·诺尔斯发表了一篇题为《OpenNTPd是有害的》的文章,从各个方面批评了OpenNTPD,以及该项目及OpenSSH和OpenBGPD所采用的拆分开发模式。作为回应,OpenNTPD可移植分支的主要开发者达伦·塔克写了一篇详细的文章,阐述了一些在OpenNTPD 3.6.1所解决的问题,并认为诺尔斯的一些言论“有误导之嫌”。诺尔斯的文章也使OpenBSD网络常见问题添加了一个章节,解释和反驳其主张。

相关

  • 弗洛依德西格蒙德·弗洛伊德(德语:Sigmund Freud,出生名:Sigismund Schlomo Freud,1856年5月6日-1939年9月23日),奥地利心理学家、精神分析学家、哲学家,犹太人。生于奥地利弗莱堡(今属捷克),后
  • 弗拉基米尔·佐利金弗拉基米尔·科斯马·佐利金(俄语:Владимир Козьмич Зворыкин,1888年7月29日-1982年7月29日)一作兹沃里金,美籍俄裔发明家、工程师,电视技术先驱者。佐利金
  • 德意志米歇尔德意志米歇尔(Deutscher Michel)是德国的拟人化形象,这个称呼起源于近代,而至今也仍然可以在讽刺画中找到。戴着典型的睡帽(英语:nightcap 德语:Schlafmütze )或者绒球帽的“德意志
  • 鼓山轮渡站鼓山轮渡站,也称西子湾渡轮站或渡船头,主要连结鼓山区与旗津区之间的交通往返,由高雄市轮船公司负责营运。在明清时代仅靠竹筏、舢舨撑度,时常发生意外,涉渡者须打鼓鸣锣,焚烧纸钱
  • 中国殡葬史中国境内流行许多葬礼,有土葬、火葬、水葬、天葬、崖葬、悬棺葬、塔葬、海葬、树葬、花葬等。汉族为代表葬礼是土葬,在古代,土葬最能表现阶级和等级的差别,故夏,殷等朝代都用土葬
  • 郑澈郑澈(朝鲜语:정철/鄭澈,1536年-1593年),字“季涵”,号“松江”,谥号“文清”,16世纪朝鲜王朝诗人,歌辞文学大家:594:851,与尹善道和朴仁老并称朝鲜三大国语诗人”:614。郑澈的文学成就主
  • 紫茉莉粉豆花(学名:Mirabilis jalapa)别名草茉莉、夜娇娇、紫茉莉、夜晚花、胭脂花、洗澡花、煮饭花、地雷花、白粉花、潮来花等,属紫茉莉科植物。紫茉莉,虽然名字中含有“茉莉”,但不是
  • MTV电影奖最佳银幕搭档MTV影视大奖最佳搭档(MTV Movie & TV Awards for Best Duo)是MTV影视大奖重要的奖项之一,颁发给年度最佳搭档,于1992年开始颁发。
  • 中国人民政治协商会议br /湖南省委员会中国人民政治协商会议湖南省委员会,简称湖南省政协,成立于1955年2月。它的前身是湖南省各界人民代表会议协商委员会(简称湖南省协商委员会)。
  • 门多萨河门多萨河(西班牙语:Río Mendoza)是阿根廷门多萨省的河流,在安第斯山脉阿空加瓜山和图蓬加托火山之间发源,上游河谷平均海拔约2,600米,河流平均流量每秒50立方米。