我有一台运行最新 Debian 7.5 (wheezy) 安装的家庭服务器。
我刚刚发现服务器将其内部时钟设置为未来± 3 分钟。
我知道我可以使用 NTP 将 Debian(和主板内部时钟)与 NTP 同步,所以我按照法语Debian Wiki(英文页面不太详细)中描述的步骤安装了 NTP 。
我使用以下命令来同步内部时钟:
ntpdate -B -q 192.168.0.254
Run Code Online (Sandbox Code Playgroud)
时钟调整成功。但这是一个临时解决方案,所以我安装了NTP守护进程并在/etc/ntp.conf文件中添加了一个本地服务器:
# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
# added
server 192.168.0.254
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
Run Code Online (Sandbox Code Playgroud)
这是正确的解决方案吗?事实上,我很惊讶地发现ntp守护程序尚未安装。我想知道 Debian 的默认安装是否会安装一个守护进程来保持内部时钟同步。在管理员安装之前,所有 Debian 安装都是时移的ntpd吗?
请告诉我ntp守护进程不会无用,因为 Debian 有一个内置的同步机制。
der*_*ert 24
如果您希望时钟同步,Debian 希望您自己安装 ntp。几乎所有你应该做的是apt-get install ntp。没有任何任务的默认安装相当小。
我相信 GNOME 桌面任务至少会默认安装它(以及许多其他软件包)。不确定其他桌面是否也会如此。
默认情况下没有安装和运行任何其他时间同步方法。
请注意,systemd 显然涉及不同的基础设施timedatectl(尽管旧方法仍然有效),请参阅 Arch 人员对此的描述:https : //wiki.archlinux.org/index.php/systemd-timesyncd
对于 Debian GNU/Linux 10 (Buster) 和下一个主要版本:
\nsystemd-timesyncd(又名:SystemD timesyncd-TimeSyncD)是ntpd.
在 Debian 中查看 TimeSyncD NTP 守护进程的运行状态信息:
\ncmd: systemctl status systemd-timesyncd
\n您可能会注意到/看到,Status信息中的行显示“ Idle ”。
\n如果Active信息中的行未显示“活动(正在运行)”,则启动它:
\ncmd:systemctl start systemd-timesyncd
如果您尚未启用“SYSTEMD-TIMESYNCD”,请启用并启动它:
\ncmd: systemctl enable systemd-timesyncd.service
\ncmd:systemctl start systemd-timesyncd.service
如果 SystemD-TimeSyncD 未启用,则您可能必须删除 NTPD(如果之前已安装):
\ncmd:apt purge ntp
这个新的systemd-timesyncd守护进程还可以执行 SNTP 客户端功能。
问题:
\n在 Debian 计算机中查看本地时间时,本地时间不正确:
\ncmd:date
\n查看系统时钟同步(SCS)的状态,运行:
\neither,cmd:timedatectl
\nor,cmd:timedatectl status
\n您可能会注意到/看到上述timedatectl命令的输出如下: SCS 不工作或时间不同步,即: Debian 计算机未获取、更新和显示正确的时间信息:
\n\n系统时钟同步:无
\n
\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NTP 服务:活动
查找靠近您计算机位置的 NTP 服务器:
\n时间信息提供服务在 NTP 服务器中运行。
\n如果您的 Debian 计算机位于美国,或者您想在美国使用 NTP 服务器,请访问此站点:
\n\xc2\xa0\xc2\xa0\xc2\xa0 https://tf.nist.gov/ tf-cgi/servers.cgi
\n选择/选择至少两个地理上更接近您的 Debian 计算机的物理地理位置的 NTP 服务器。
\n选择 IP 地址的 IPv4 类型。\n如果您的 Debian 计算机仅使用 IPv6 或也使用 IPv6,则选择 IP 地址的 IPv6 类型。
更新“TIMESYNCD.CONF”:
\n命令:nano /etc/systemd/timesyncd.conf
如果timesyncd.conf中不存在,则添加以下 3 行:
\n\n\n[时间]
\n
\nNTP=132.163.96.1
\nFallbackNTP=132.163.96.2,132.163.96.3,132.163.96.4,132.163.96.6
在“NTP=”行中仅指定一台服务器。
\n在“FallbackNTP=”行中指定多个服务器。
\n在上面我显示的是来自“美国科罗拉多州”的 NTP 服务器,因为我的 Debian 计算机的位置位于美国加利福尼亚州,靠近美国科罗拉多州。
如果您的计算机/设备的 DNS 客户端(或 DNS 服务器/守护程序)在TimeSyncD NTP 客户端(或 NTP 服务器/守护程序)之后启动,则在“NTP=”或“FallbackNTP=”行中,您应该使用以下 IP 地址: NTP 服务器。
\n但是,如果您的计算机/设备的 DNS 客户端(或 DNS 服务器/守护程序)在 TimeSyncD NTP 客户端(或 NTP 服务器/守护程序)之前启动,则在“NTP=”或“FallbackNTP=”行中,您可以使用 NTP 服务器的主机名(又名:服务器名称)例如:time-a-b.nist.gov而不是它的 IP 地址132.163.96.1。
\n另请注意,即使您的计算机/设备的 DNS 客户端(或 DNS 服务器/守护程序)在TimeSyncD NTP 客户端(或 NTP 服务器/守护程序)之后启动,您仍然可以使用 NTP 服务器的主机 - “NTP=”或“FallbackNTP=”行中的名称,因为TimeSyncD NTP客户端和本地NTP服务器/守护程序将再次尝试获取/同步时间,因此第二次或下一次将会成功。
\n如果您的 Debian 计算机/设备将/没有任何 DNS 客户端(或 DNS 服务器/守护进程),那么您必须使用 NTP 服务器的 IP 地址。
您必须根据您的 Debian 计算机的实际位置更改上面显示的 NTP 服务器。
\n例如:如果您的 Debian 计算机位于欧洲,
则转到此处:
\n\xc2\xa0\xc2\xa0\xc2\xa0 https://www.pool.ntp.org/zone/europe
\nabove 网站列出其他位置的其他 NTP 服务器。
由于全球许多服务器、常规台式机/笔记本电脑等客户端计算机、网络设备、智能手机等都在使用 NTP 服务器,
因此 NTP 服务器经常过载,因此 NTP 服务器
可能会延迟或需要时间才能完成对您的响应计算机/设备的查询。
请向 NTP 服务器运营商捐赠/贡献,以便他们能够负担得起更快/更好的服务器。
\n激活新设置:
\n创建或更新timesyncd.conf文件后,运行以下命令:
\ncmd:(timedatectl show-timesync --all验证新的 NTP 配置)
\ncmd:(systemctl restart systemd-timesyncd 重新启动本地 TimeSyncD NTP 守护程序)
\ncmd:(timedatectl set-ntp true启用并启动 NTP 使用)
现在您可以查看系统时钟同步的状态,运行以下任一命令:
\ncmd:timedatectl或timedatectl status
\n您应该看到以下行:
\n\n系统时钟同步:是
\n
\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NTP 服务:活动
cmd:(timedatectl timesync-status查看TimeSyncD NTP服务连接信息)
如果运行该命令systemctl status systemd-timesyncd,它应该显示“...首次同步到时间服务器...”。
运行date命令,它应该显示正确的时间,这次:
\ncmd: date
\n显示的时间应该与正确的时间匹配,并且它将基于您预先选择的时区。
(有时时间服务器可能会延迟发送正确的时间响应,因此请耐心等待)。
\n完毕。
\n其他设置/信息:
\ncmd: timedatectl list-timezones(查看时区)
\ncmd: timedatectl set-timezone America/Los_Angeles(当您要将时区设置为 时PST,即 UTC-08:00,请执行此操作)
\ncmd: timedatectl set-timezone UTC(当您要将时区设置为 时UTC,请执行此操作。此UTC时间始终相同在所有时间的所有位置,从此时开始,通过添加或减去特定数字来计算每个其他时区UTC)。
我如何查看或获取 NTP 服务器(又名:主机名)或 NTP 池服务器使用的实际 IP 地址?
\n命令:nslookup 1.europe.pool.ntp.org
如果您启用了防火墙(又名:nftables、iptables 等),那么您应该在 NTP 相关的 UDP 规则中指定 NTP 服务器的(多个)IP 地址,以减少通过 NTP 的滥用。
\n| 归档时间: |
|
| 查看次数: |
72914 次 |
| 最近记录: |