linux – 为什么ntpd会监听这么多端口/地址?

前端之家收集整理的这篇文章主要介绍了linux – 为什么ntpd会监听这么多端口/地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经注意到了一段时间了,这对我来说没有任何意义:

为什么ntpd需要监听这么多地址?

例如,Debian机器:

$netstat
Proto Local Address Foreign Address Program name
udp   0.0.0.0:123   0.0.0.0:*       ntpd
udp   127.0.0.1:123 0.0.0.0:*       ntpd
udp   [LAN]:123     0.0.0.0:*       ntpd
udp   [IPv4]:123    0.0.0.0:*       ntpd
udp6  :::123        :::*            ntpd
udp6  ::1:123       :::*            ntpd
udp6  [link-local]  :::*            ntpd
udp6  [IPv6]        :::*            ntpd

此(编辑)netstat列表显示nptd侦听IPv4和IPv6的广播,本地,LAN和全局地址.

为什么ntpd如此滥交?

解决方法

从我的 reading of this page开始,出于安全原因,ntp似乎部分不使用INADDR_ANY 0.0.0.0地址,部分原因是出于身份验证原因.

第一个端口123低于1024,因此被视为特权端口,只有root可以绑定到该端口. Ntp通常设置为在启动后删除权限.根据我从邮件列表中理解的内容,以及删除权限后的文章无法打开套接字以从123的正确源端口回复,因此ntp会在删除权限之前为每个分配的地址打开套接字.

从我所看到的,ntp的一些认证机制基本上要求源和目标端口为123,而不是其他.

事情并不完全清楚.请参阅有关wildcard address 0.0.0.0的部分,由于某种原因它由ntpd打开,但是除了可能在某些特殊情况下可能永远不会使用的评论中,开发人员并不完全确定,但是,它们是不想删除套接字,以防万一他们破坏了东西.

Note that normally ntpd should not be accepting packets on the wildcard addresses since there are a number of problems if you do so including sending return packets on a different address from the sender’s requested address.
DannyMayer – 27 Apr 2009

我认为你的问题的主要答案在上面的评论中.

猜你在找的Linux相关文章