【Linux系统时间同步秘籍】:专业调整和同步时间的方法
![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![ZIP](https://csdnimg.cn/release/download/static_files/pc/images/minetype/ZIP.png)
Linux系统时间同步
摘要
Linux时间同步是确保系统准确运行的关键技术。本文深入探讨了Linux时间同步的基础、原理、实践操作、高级设置以及安全实践,并对未来的发展进行了展望。通过介绍时间同步的概念、重要性及同步机制,如NTP和Chrony服务的安装、配置和管理,本文帮助读者掌握实现和优化Linux系统时间同步的方法。同时,文章详细阐述了时间同步安全风险、安全加固措施以及时间欺骗攻击的防护。最后,文章预测了时间同步技术的发展趋势,特别是其在大数据和云计算环境下的应用案例,强调了准确时间同步对于现代计算机系统的重要性。
关键字
Linux;时间同步;NTP;Chrony;安全风险;大数据;云计算
参考资源链接:解决FTP时间与系统时间不一致问题:配置vsftpd
1. Linux时间同步基础
在现代信息处理系统中,时间同步是一个至关重要的概念。它确保网络中所有设备的时钟准确无误地运行,对于保持数据一致性、日志记录、加密认证以及其它依赖于时间的流程和功能至关重要。Linux作为广泛使用的操作系统之一,自然需要精确的时间同步机制来支持其庞大的应用场景。
时间在Linux中的表示通常有两种:系统时间和硬件时间。系统时间是指操作系统内核维护的时间,而硬件时间则是由计算机硬件(如CMOS时钟)维护的时间。Linux通过特定的机制确保这两种时间保持一致,并且能够与外部时间源进行同步。
为了实现时间同步,Linux系统一般使用诸如NTP(网络时间协议)和Chrony这样的服务。这些服务能够与网络上配置好的时间服务器进行通信,准确地获取当前时间,并且调整系统时间,以此来保证整个系统的时钟精确。接下来的章节将深入探讨这些概念和机制。
2. 理解Linux时间同步原理
2.1 时间同步的概念和必要性
2.1.1 时间的概念及其在Linux中的表示
在Linux系统中,时间的管理非常关键。时间不仅关乎于用户界面的日期和时间显示,还涉及到日志文件的时间戳、文件系统的时间标记以及多种网络协议的时间要求。在Linux系统中,时间以UTC(协调世界时)为基础,并且主要分为两种:系统时间和硬件时间。
系统时间是运行中系统所使用的当前时间,由Linux内核维护。这一时间是软件层面的时间,用于系统日志、程序运行和文件时间戳等。系统时间在系统重启后可能需要重新设置。
硬件时间通常指的是主板上的实时时钟(RTC),在计算机系统中独立于操作系统运行。硬件时间在系统关闭后仍然运行,并在系统启动时提供时间给操作系统。
在Linux中,可以通过date
命令查看和设置系统时间,而hwclock
或timedatectl
命令则用于查看和设置硬件时间和与之同步。
2.1.2 时间同步的重要性
时间同步对于现代计算机网络来说至关重要。这主要是因为以下几个原因:
-
日志记录和故障排查:准确的时间戳对于日志记录系统来说是不可或缺的。时间同步能够保证事件记录顺序的正确性,从而在进行故障排查时能够快速定位问题发生的准确时间点。
-
网络安全:例如,密码重置和安全认证机制往往依赖于准确的时间戳来确保用户身份的安全。如果客户端和服务器之间的时钟不同步,可能会导致安全认证失败。
-
分布式系统的一致性:在云计算和大数据环境下,分布式系统要求各个节点之间的操作有严格的时间顺序,以避免数据不一致或者竞态条件的产生。
-
文件系统和备份操作:在进行文件系统备份和恢复时,准确的时间戳能够帮助管理员识别版本、备份以及恢复数据的时间点。
因此,保证系统时间的准确性和一致性是确保系统稳定运行的基础之一。
2.2 Linux时间同步机制
2.2.1 系统时间与硬件时间的区别
系统时间和硬件时间在Linux中的作用和更新机制都不相同。理解这两者之间的区别对于管理时间同步来说非常重要:
-
系统时间是由Linux内核维护的软件时间。它在系统运行期间进行跟踪,并且可以由系统管理员使用各种命令进行调整。系统时间是操作系统的本地时间,可以按照时区偏移量进行设置。
-
硬件时间则是由计算机主板上的实时时钟(RTC)维护的物理时间。它在系统关闭之后仍然运行,这意味着即便系统停电,RTC也仍然能够维持时间的准确性。在系统启动时,硬件时间会用来初始化系统时间。
在Linux系统中,通常在启动时将硬件时间同步到系统时间,并且在系统运行期间,会定期使用NTP(Network Time Protocol)或 Chrony等工具从时间服务器上同步系统时间。
2.2.2 时间同步协议和标准概述
时间同步在计算机网络中的实现依赖于一系列的时间同步协议和标准。以下是两种主流的时间同步协议和标准:
-
NTP(Network Time Protocol):这是一种用于网络设备之间时间同步的协议,广泛用于互联网中。NTP能够确保本地系统时间与全球的标准时间保持同步,例如UTC。它通过计算网络延迟和时钟偏差来进行时间的校正。
-
PTP(Precision Time Protocol):这是另一种网络时间同步协议,相较于NTP,它提供了更高的精度,主要适用于需要高精度时间同步的环境,比如金融市场和电信行业。
以上标准和协议为时间同步提供了准确的框架。在Linux系统中,除了NTP和PTP之外,还有其他多种工具和协议可以用于时间同步。
2.3 时间服务和工具介绍
2.3.1 NTP及其在Linux中的应用
NTP是网络时间协议,它能够让计算机通过网络同步它们的时间。NTP服务器可以是一个本地网络内的时间服务器,也可以是互联网上的公共时间服务器。通过NTP,客户端可以准确地了解当前时间,并据此调整自己的系统时间。
在Linux中,NTP服务的安装和配置是简单而直接的。系统管理员可以使用包管理器轻松安装NTP服务,并通过编辑配置文件来指定时间服务器。NTP在Linux中的应用广泛,因为它不仅稳定可靠,而且支持多种NTP服务器,包括公共服务器和企业内部服务器。
2.3.2 Chrony:现代Linux系统的时间同步解决方案
随着技术的发展,Chrony成为了NTP的一个现代替代品,它适用于多种操作系统,包括Linux。Chrony比传统的NTP服务在某些方面表现更好,尤其是在系统启动时间较短或者网络环境变化较大的情况下。
Chrony主要具有以下优点:
-
更快的同步速度:Chrony能够快速同步时间,并且能够更好地处理在网络延迟和时钟频率不一致的情况下的时间同步。
-
支持网络时间服务器的动态添加:如果某个时间服务器不再可用,Chrony可以自动切换到其他可用的时间服务器,从而提高系统的可靠性。
-
小的内存占用:相较于NTP,Chrony在运行时的内存和CPU占用更少。
Linux系统管理员通常会在特定的场景下选择Chrony或NTP。例如,如果一个系统在虚拟化环境中运行,或者系统需要更快地同步时间,使用Chrony可能是更好的选择。而如果系统对时间同步的精确度要求极高,则可能需要同时运行NTP和Chrony来保证时间的精确和可靠性。
接下来的章节,我们将深入讲解如何在Linux系统中安装、配置以及管理NTP和Chrony服务,为系统提供准确的时间同步服务。
3. Linux时间同步实践操作
Linux系统中的时间同步是确保系统日志、文件记录和网络操作等事务准确无误的关键组件。通过本章节,我们将学习如何在Linux系统中安装、配置及使用NTP和Chrony这两种常见的时间同步服务。
3.1 NTP服务的安装与配置
3.1.1 NTP服务的安装步骤
NTP(Network Time Protocol)是一个用于同步计算机系统时间的网络协议。以下是安装NTP服务的步骤:
- sudo apt update
- sudo apt install ntp
安装完成后,可以通过dpkg -l | grep ntp
确认NTP服务是否安装成功。
逻辑分析:apt update
用于更新本地包索引,apt install ntp
用于安装NTP。dpkg -l | grep ntp
用于列出所有与NTP相关的包。
参数说明:此步骤中使用的命令无需额外参数。
3.1.2 NTP配置文件的编辑和调整
NTP的配置文件通常位于/etc/ntp.conf
。编辑该文件,设置NTP服务器:
- sudo nano /etc/ntp.conf
在文件末尾添加服务器条目,如:
- server pool.ntp.org iburst
逻辑分析:nano
是一个文本编辑器,/etc/ntp.conf
是NTP的配置文件。添加的server
指令用于指定时间同步服务器。iburst
参数用于在初始连接时发送一系列时间请求,以加快同步速度。
参数说明:iburst
是一个可选参数,可提高连接服务器的速度。
3.2 Chrony服务的安装与配置
3.2.1 Chrony服务的安装步骤
Chrony是NTP的一个替代选择,尤其适合于虚拟机环境,因为其对时间调整的响应更加快速和灵活。
- sudo apt install chrony
安装后,检查Chrony服务状态:
- sudo systemctl status chrony
逻辑分析:这一步骤安装了Chrony软件包并检查服务状态。systemctl
是用于控制systemd
系统和服务管理器的命令。
参数说明:status
参数用于获取服务当前的状态信息。
3.2.2 Chrony配置文件详解
配置Chrony,编辑/etc/chrony/chrony.conf
文件:
- sudo nano /etc/chrony/chrony.conf
可以添加以下内容以使用公共NTP服务器:
- server pool.ntp.org iburst
- allow 192.168.1.0/24
逻辑分析:在配置文件中添加server
指令指向NTP服务器,并通过allow
指令限制哪些IP地址可以与Chrony守护进程通信。
参数说明:allow
指令限制了客户端的IP地址范围,提高了安全性和防止未授权访问。
3.3 手动调整系统时间
3.3.1 date命令的使用
如果需要手动调整系统时间,可以使用date
命令:
- date --set "2023-04-01 12:00:00"
这会将系统时间设置为2023年4月1日中午12点。
逻辑分析:date
命令用于显示和设置系统日期和时间,--set
选项后跟需要设置的日期和时间。
参数说明:日期和时间需要按照指定的格式"YYYY-MM-DD HH:MM:SS"
进行输入。
3.3.2 hwclock命令的使用
硬件时钟(RTC)与系统时钟不同,使用hwclock
命令来同步二者:
- sudo hwclock --systohc
逻辑分析:hwclock
命令用于显示和设置硬件时钟,--systohc
选项用于将系统时钟的值复制到硬件时钟。
参数说明:--systohc
是“system-to-hardware-clock”的缩写,表示从系统时钟同步到硬件时钟。
通过本章节,我们了解了Linux系统时间同步的实践操作,包括安装和配置NTP与Chrony服务,以及手动调整系统时间的方法。这为系统管理员提供了确保时间同步准确性的基本工具和知识。
4. Linux时间同步高级设置
4.1 高级NTP配置技巧
4.1.1 NTP服务的深入配置选项
在Linux环境中,NTP服务的配置文件通常位于/etc/ntp.conf
。高级配置选项能够提供更为精细的时间同步控制,以及安全性和同步性能的优化。深入配置选项包括:
server
指令:用于指定时间服务器。restrict
指令:用于控制对时间服务器的访问权限。broadcastclient
或multicastclient
:让NTP客户端能够监听网络上的广播或多播时间同步消息。driftfile
:指向一个文件,存储时钟频率偏差。tinker
:用于调整时间算法的相关参数,比如最大跳跃。keys
:配置认证密钥,用于控制访问权限和时间数据的完整性验证。
下面是一段示例配置:
- server ntp1.example.com iburst
- server ntp2.example.com iburst
- restrict default kod nomodify notrap nopeer noquery
- restrict -6 default kod nomodify notrap nopeer noquery
- restrict 127.0.0.1
- restrict ::1
- driftfile /var/lib/ntp/ntp.drift
- tinker panic 0
- tinker step 0.5 8
- broadcastdelay 0.008
- broadcastclient
参数说明:
iburst
: 在初始同步时快速发送一系列的包来改善初始同步的质量。kod
: 发送“Kiss-o’-Death”包以拒绝对端的连接请求,用于防止拒绝服务攻击。nomodify
: 阻止客户端修改服务器上的任何设置。notrap
: 禁止在客户端上使用控制端口的陷阱。noquery
: 阻止客户端查询服务器时获取额外的状态信息。tinker panic
: 如果时间差异太大,NTP守护进程将恐慌并停止。broadcastclient
: 使服务器监听来自广播时间源的数据包。broadcastdelay
: 设置网络延迟的预估值,对广播同步很重要。
4.1.2 NTP访问控制和认证机制
通过配置restrict
指令,NTP提供了强大的访问控制功能。使用此指令可以限制对NTP服务的访问,以及基于IP地址、子网、接口等的过滤。而认证机制则确保了数据包的真实性以及防止中间人攻击。
restrict
指令的基本语法是:
- restrict option [IPv4/IPV6] [mask] [parameter]
option
: 例如ignore
,nomodify
,noquery
,notrap
,nopeer
,notrust
,kod
等。IPv4/IPV6
: 可以是具体的IP地址、子网、域名或者特殊的字符串(如default
)。mask
: IP地址的子网掩码,可以是IPv4或IPv6的。parameter
: 与option
相关联的额外参数。
认证机制
NTP支持使用密钥文件进行通信认证,以防止未授权访问和攻击。通常,密钥文件存放在/etc/ntp.keys
,并在配置文件中通过keys
指令引用。
- keys /etc/ntp.keys
要激活认证,必须在server
或peer
指令中使用key
选项指定密钥编号:
- server ntp.example.com key 1
在密钥文件中,每行定义了一个密钥,如下所示:
- 1 MYSYMMETRICKEY
这里,1
是密钥的编号,MYSYMMETRICKEY
是该密钥的值。这种加密确保了只有拥有密钥的客户端和服务端才能进行时间同步。
4.2 Chrony的高级功能和监控
4.2.1 Chrony的性能优化设置
Chrony是一个适用于现代Linux系统的高精度时间同步守护进程。它的性能优化设置可以帮助系统更快地达到时间同步状态,并且在时间跳跃后更快地恢复正常。配置文件一般位于/etc/chrony/chrony.conf
。
高级性能优化设置包括:
makestep
: 当系统时间与时间源有较大偏差时强制立即调整。stepout
: 设置时间跳跃后需要多少秒来平滑地调整。leapsecmode
: 设置处理闰秒的行为模式。allow
: 用于控制哪些主机允许进行时间同步。deny
: 与allow
指令相对,用于拒绝时间同步。
例如:
- makestep 10 100
- leapsecmode slew
- allow 192.168.0.0/24
参数说明:
makestep
: 如果系统时间与时间源的差异超过10秒,且在过去100秒内没有调整过,就立即进行调整。leapsecmode slew
: 允许通过平滑地调整时钟来处理闰秒事件,而不会产生时间跳跃。allow
: 允许位于192.168.0.0/24子网的任何主机与Chrony守护进程进行时间同步。
4.2.2 Chrony的日志分析和故障排查
Chrony提供了丰富的日志信息,有助于分析和故障排查。通过/var/log/chrony
日志文件可以获取关于时间同步事件的详细信息。Chrony日志通常包括同步状态、时间校正事件、错误信息等。
默认情况下,Chrony日志级别是警告级别,可以通过修改配置文件来设置更详细或更简略的日志级别:
- logdir /var/log/chrony
- log measurements statistics tracking refclocks
- logchange 0.5
- logdir /var/log/chrony
- log measurements statistics tracking refclocks
- log leapsec
日志分析示例:
对于故障排查,查看/var/log/chrony/chrony.log
文件可能会显示类似下面的日志条目:
- 2023-01-01 12:00:00 chronyd[1234]: Selected source 203.0.113.1
- 2023-01-01 12:05:00 chronyd[1234]: System clock wrong by -2.512795 seconds, adjustment started
- 2023-01-01 12:05:10 chronyd[1234]: System clock was stepped by -2.512795 seconds
- 2023-01-01 12:05:11 chronyd[1234]: Time adjustment收敛至0.000002 seconds
这些日志显示了时间源的选择、系统时钟的初始偏差、系统时钟的调整过程以及调整收敛的情况。通过这些信息,可以对时间同步事件进行故障排查和性能分析。
4.3 时间同步故障诊断与解决
4.3.1 常见时间同步问题及解决方法
在Linux系统中,时间同步可能会遇到各种问题,常见的包括:
-
时钟未同步: 如果chronyd或ntpd无法更新系统时间,可能是因为没有合适的上游时间服务器。
- 解决方法: 检查服务器配置,确保提供了正确的上游服务器地址,查看日志文件以诊断问题。
-
时间偏差过大: 同步后系统时间与世界标准时间偏差过大。
- 解决方法: 使用
makestep
指令强制同步,或手动调整时间。
- 解决方法: 使用
-
NTP服务器拒绝服务: NTP服务可能因为安全设置拒绝客户端请求。
- 解决方法: 检查
restrict
指令配置,确保没有过于严格的安全限制。
- 解决方法: 检查
4.3.2 时间同步问题的预防措施
为了预防时间同步问题的发生,可以采取以下措施:
- 定期检查: 定期审查日志文件,监控同步状态。
- 配置备份: 维护配置文件的备份,以防配置丢失或错误。
- 安全加固: 配置安全措施,如访问控制和认证,防止未授权访问。
- 网络拓扑: 考虑网络环境和拓扑,选择适当的上游时间服务器。
通过实施这些预防措施,可以降低时间同步问题发生的几率,并确保系统时间的准确性和一致性。
5. Linux时间同步安全实践
5.1 时间同步的安全风险
5.1.1 时间欺骗攻击介绍
时间欺骗攻击(Time-based attack)是一种利用时间同步缺陷进行的网络攻击。攻击者通过篡改时间信息,干扰正常的服务运行。例如,通过发送伪造的NTP响应,攻击者可以欺骗时间同步服务,使得受攻击的系统时间同步到一个错误的时间点。这种攻击可以干扰事件日志的记录,破坏时间敏感的交易记录,甚至能够绕过某些安全机制,如SSL/TLS的证书有效期检查。
为了防范这类攻击,系统管理员需要确保使用安全的时间同步协议,并对时间同步服务进行适当的配置和监控。比如,可以使用带有时戳和签名的响应数据包来验证时间源的合法性。
5.1.2 时间同步服务的安全配置
在Linux系统中,通过配置时间同步服务来提高安全性,包括:
- 使用受信任的NTP服务器列表,确保仅使用已知且安全的服务器进行时间同步。
- 使用加密的同步协议,如NTPv4支持的Autokey或NTPv3的MD5加密,保证同步过程的安全性。
- 限制可访问的同步服务端口,并仅允许特定的IP地址访问。
- 定期检查时间同步服务的状态和配置,及时发现异常情况。
5.2 时间同步安全加固
5.2.1 使用NTP安全扩展
NTP提供了一系列安全扩展来帮助保护时间同步服务。例如,NTPv4引入了Autokey机制,它使用公钥加密技术来验证服务器身份。Autokey使用证书和密钥文件来确保时间请求和响应的真实性。管理员需要生成这些密钥和证书,并在NTP配置文件中指定它们的位置。
5.2.2 Chrony的安全设置和最佳实践
Chrony是另一个在Linux系统中广泛使用的现代时间同步解决方案。它默认支持通过TLS加密通信,确保了与NTP服务器间的安全同步。此外,Chrony还支持强制服务器认证,可以配置只接受特定服务器的响应。下面是Chrony配置文件中安全相关的部分:
- # Chrony配置文件 /etc/chrony/chrony.conf
- server ntp.example.com iburst cert=serverCert key=serverKey
- allow 192.168.1.0/24
- local stratum 10
- keyfile /etc/chrony.keys
server
指令后面指定了时间服务器地址和相关的安全选项。cert=
和key=
指令用于指定证书文件和密钥文件。allow
指令用于控制哪些客户端IP地址可以与本地Chrony服务器进行通信。local
指令用于设置本地服务器的初始信任级别。keyfile
指令指定了包含密钥的文件路径。
为了进一步加强安全性,管理员需要定期轮换密钥和证书,并确保这些密钥文件的安全存储。
5.3 安全性能指标监控和日志审计
在确保时间同步服务的安全性之后,还需要对其性能和安全性进行持续监控。这包括对以下内容的监控:
- 时间同步的准确性和偏差
- 同步源的选择和变更
- 审计日志,记录所有的同步操作和事件
通过设置监控和报警机制,管理员可以在出现异常时迅速响应,减少系统遭受攻击的风险。下面是一个监控时间同步延迟的示例命令:
- chronyc tracking
此命令会返回当前服务器与时间源之间的同步状态,包括偏差值和同步状态等信息。管理员应该定期审查这些信息,以确认时间同步过程的健康性。
在日志审计方面,管理员应该定期检查并分析时间同步日志。Chrony的日志文件通常位于 /var/log/chrony.log
,管理员可以通过这些日志来监控异常行为或攻击尝试。例如,下面的日志片段可能表明了一个安全事件:
- 2023-03-01T12:34:56Z NTP server 192.168.1.10 request denied due to access restriction
此日志条目表明有一个时间同步请求被拒绝,因为它不符合访问限制条件。管理员需要调查并确认这是否是一个正常的拒绝或是因为有安全事件发生。
通过综合应用这些安全加固措施、监控手段和日志分析方法,可以显著提升Linux系统中时间同步服务的安全性和可靠性。
6. Linux时间同步的未来展望
随着技术的不断进步和应用场景的多元化,Linux时间同步技术也在不断发展与演进。本章将探讨时间同步技术的未来发展方向,并通过案例研究的方式了解其在大数据和云计算中的应用。
6.1 时间同步技术的未来发展
时间同步技术的未来发展主要体现在新协议和标准的引入以及Linux内核层面的进步。
6.1.1 网络时间同步的新协议和标准
随着互联网和物联网的快速发展,对网络时间同步的精度和安全性的要求越来越高。新的同步协议和标准正在被引入,旨在提高时间精度和安全性。
- PTP (Precision Time Protocol): PTP被设计用来在局域网中实现亚微秒级别的同步精度。它能够被用于需要精确时间同步的场景,比如金融市场的高频交易。
- NTPv4: NTP的最新版本增加了更多的安全特性,比如使用加密和认证来保护时间同步服务不被篡改。
- NTPsec: 是NTP的一个改进版本,主要增强了安全性和性能。
6.1.2 Linux内核与时间同步技术的进步
Linux内核对时间同步的支持也在不断地进行改进,使得操作系统能够更好地处理时间同步事件,并与硬件时间戳更好地协同工作。
- 高精度事件计时器 (HPE): Linux内核支持HPE,它为事件提供高精度的时间戳,使得时间同步过程更为准确。
- tickless内核: 移除传统的时间片调度,使用更灵活的时间间隔,减少中断频率,提高电源效率和响应性。
6.2 案例研究:时间同步在大数据和云计算中的应用
在大数据和云计算的分布式系统中,时间同步是一个关键问题。本节将通过案例研究来了解时间同步需求及其解决方案。
6.2.1 分布式系统时间同步的需求
在分布式系统中,各节点间需要保持准确的时间同步,这对于系统日志的分析、故障诊断和分布式事务处理至关重要。
- 数据一致性的保证: 时间同步确保分布式数据库操作中记录的时间戳一致性。
- 故障定位: 当系统发生故障时,准确的时间戳可以帮助快速定位问题所在。
6.2.2 时间同步解决方案在企业级应用中的案例分享
许多企业已经在其企业级应用中部署了时间同步解决方案。
- Google: Google使用其自研的时间同步协议TrueTime API,它为分布式系统提供精确的时间服务。
- Amazon: 在其AWS云服务中,Amazon使用NTP服务来同步其云服务器的时间。
- 金融服务: 金融服务行业使用高精度时间同步服务来确保交易记录的准确性和合规性。
在这些案例中,选择合适的时间同步解决方案依赖于具体的应用需求、性能要求、成本预算以及可接受的复杂程度。通过深入分析和实施这些解决方案,企业能够优化其分布式系统的性能和可靠性。
通过本章的介绍,我们可以看到Linux时间同步技术在面对未来挑战时仍具有极大的发展潜力和应用前景。随着技术的不断进步,时间同步技术将在保障系统稳定性、安全性和数据一致性方面扮演更加重要的角色。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)