我遇到了一个问题。
服务器上的时间不同步。
这个问题似乎是在我设置了 iptables 规则后出现的,我是这样描述的这里也许我错了,这两件事没有关联......
CentOS 7.1
ntpd 4.2.6p5
/var/log/消息
May 25 16:48:49 CentOS-70-64-minimal ntpd[26771]: ntpd [email protected] Sat Dec 20 02:38:09 UTC 2014 (1)
May 25 16:48:49 CentOS-70-64-minimal ntpd[26771]: proto: precision = 0.046 usec
May 25 16:48:49 CentOS-70-64-minimal ntpd[26771]: 0.0.0.0 c01d 0d kern kernel time sync enabled
May 25 16:48:49 CentOS-70-64-minimal ntpd[26771]: unable to bind to wildcard address 0.0.0.0 - another process may be running - EXITING
ntp配置文件
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
server ntp1.hetzner.de iburst
server ntp2.hetzner.com iburst
server ntp3.hetzner.net iburst
编辑
netstat -lanp | grep ':123'
udp 0 0 5.9.152.9:123 0.0.0.0:* 24483/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 24483/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 24483/ntpd
udp6 0 0 2a01:4f8:190:4008:::123 :::* 24483/ntpd
udp6 0 0 fe80::3285:a9ff:fee:123 :::* 24483/ntpd
udp6 0 0 ::1:123 :::* 24483/ntpd
udp6 0 0 :::123 :::* 24483/ntpd
编辑2
这个问题对我来说变得更加阴影了......
服务 ntpd 状态
Redirecting to /bin/systemctl status ntpd.service
ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled)
Active: inactive (dead)
systemctl 列表单元文件 | grep 'ntp'
ntpd.service disabled
ntpdate.service disabled
netstat -nlap |查看 ntpd 的相关信息
udp 0 0 5.9.152.9:123 0.0.0.0:* 3588/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 3588/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 3588/ntpd
udp6 0 0 2a01:4f8:190:4008:::123 :::* 3588/ntpd
udp6 0 0 fe80::3285:a9ff:fee:123 :::* 3588/ntpd
udp6 0 0 ::1:123 :::* 3588/ntpd
udp6 0 0 :::123 :::* 3588/ntpd
unix 2 [ ] DGRAM 34224 3588/ntpd
如果 ntpd 被禁用它如何监听端口....
答案1
根据您提供的信息(特别是第一个编辑的输出:“netstat -lanp | grep ':123'“第二次编辑:”netstat -nlap |查看 ntpd 的相关信息”),很显然:
第一次编辑时:
- 您的系统正在运行 PID 为 24483 的进程;
- 该进程声明其自身名为“ntpd”;
- 此类进程绑定到多个 IPv4 和 IPv6 地址的 UDP 端口 123;
第二次编辑时:
- 您的系统正在运行 PID 为 3588 的进程;
- 该进程声明其自身名为“ntpd”;
- 此类进程绑定到多个 IPv4 和 IPv6 地址的 UDP 端口 123;
在正常情况下(我相信你正在经历这种情况),这意味着您已在运行“ntpd”进程,并且由于一个 ntpd 已经在运行,您无法启动一个新的(或者,更好的是,如果您启动一个新的 ntpd 实例,它将拒绝启动,因为它无法控制所需的资源(UDP 端口 123))。
因此,一般规则是,在启动新的“ntpd”之前,请确保没有其他实例正在运行(...通过执行建议的 ss/netstat 命令并检查结果)。
至于你最后的评论——”如果 ntpd 已禁用,它如何监听端口“——请注意正在运行/未运行和已启用/已禁用是两个截然不同的概念:
完全有可能正在运行的进程是不是启动时启用(...通常是因为在启动完成其初始运行序列后,您手动启动了它们);
完全有可能,一个被安排为启动启用(并且,因此,通常在启动序列期间启动)的进程/服务不是正在运行(...通常是因为您在启动后手动停止它或者它由于多种原因自行停止)。
那么,回到你的(不太明确的)问题:
您无法启动 ntpd,因为它已经在运行;
如需再次启动,请确保先将其停止;
如果您希望/不希望它在启动时启动,请确保它被“启用”/“禁用”(根据您的特定发行版的方法);
如果您在保持时间“同步”方面遇到问题,请提供有关您的“ntpd”进程(grep ntpd /var/log/messages,作为第一次启动)和您提到已应用/更改的防火墙配置的尽可能详细信息。