分类: 服务器

服务器

使用python监控NTP系统(时钟服务器)

背景
背景很简单,内部NTP系统出现故障,时间不准确,且误差很大。

需求
监控NTP系统运行状态,与正确时间进行对比,并计算偏差值。

设计
利用python模拟NTP client,分别从内部NTP系统和Internet NTP系统获取时间,并计算2个时间的差值。

实现
实现起来也很简单,用ntplib 和 time 2个库搞定。

简要说明一下:
1.‘pool.ntp.org’ 是来自互联网的时间服务器虚拟集群。
2.ctime函数将类似‘16574833.8934’格式时间转换为易读字符串格式。
3.可使用schedule库将程序定时执行,取相应返回值。
4.前端可以使用grafana或splunk等进行展示。

示例代码如下:

import ntplib
import time

ntp_client = ntplib.NTPClient()
response_outside= ntp_client.request(‘pool.ntp.org’).tx_time
print(‘互联网时间: ‘, time.ctime(response_outside))
response_inside = ntp_client.request(‘192.168.100.5’).tx_time
print(‘内部时间: ‘, time.ctime(response_inside))

print(‘时间差值: ‘, response_inside – response_outside)

运行结果:
%title插图%num %title插图%num

搭建内网ntp时间同步服务器

一般企业出于安全或者出口带宽等各方面原因,内网主机是无法直接接通外网,这个方法可以让内网无法上网的机器同步本机时间,而本机可以通过公网同步公网的ntp源。实现类似中转跳转的功能。
搭建之前需要2个主机,一个作为server端另一个用来作为client端。
进入正题:
在server端安装ntpd服务端,关闭防火墙或者放通防火墙端口
[root@xiaobo ~]# yum install -y ntp
#安装ntpd服务
[root@xiaobo ~]# systemctl stop firewalld
#关闭防火墙,如果不想关闭防火墙可以放通端口
[root@xiaobo ~]# firewall-cmd –permanent –add-port=123/udp
[root@xiaobo ~]# firewall-cmd –permanent –add-port=123/tcp
#防火墙具体还要看你们配置没有,如有配置请注意安全区域。

编辑/etc/ntp.conf 并更改文件内容
[root@xiaobo ~]# vim /etc/ntp.conf
#修改如下文件内容
restrict 127.0.0.1
restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap
#允许那些网段或者IP同步,不做限制则0.0.0.0 mask 0.0.0.0.需要注意的是4.2版本的ntpd的restrict参数不要加notrust否则客户端会同步不了。
server ntp.aliyun.com prefer
#server自身和谁同步。我这里用的是阿里云的。
server 127.127.1.0
#把自身的时间同步给客户端。

配置完毕启动服务
[root@xiaobo ~]# systemctl start ntpd
#启动服务,7系列和6系列命令不一样,具体自行百度。
[root@xiaobo ~]# systemctl status ntpd
● ntpd.service – Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2019-01-26 22:08:24 CST; 1min 41s ago
Process: 2182 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2184 (ntpd)
CGroup: /system.slice/ntpd.service
└─2184 /usr/sbin/ntpd -u ntp:ntp -g
#查看服务状态

服务端状态没有问题,找client去同步下试试看。
[root@xiaobo ~]# ntpdate 192.168.100.110
26 Jan 22:19:43 ntpdate[3156]: adjust time server 192.168.100.110 offset -0.001781 sec

如果出现the NTP socket is in use, exiting错误,关闭ntpd的服务在同步即可。在搭建server端的时候注意防火墙要放通UDP/123端口,包括你网络所经过的防火墙而不单单指的是主机上的防火墙,应该也考虑到中间链路的硬件防火墙。

命令行net time同步时间(内网)

首先还是推荐大家使用Internet时间来同步自己计算机的时间,这样做主要是方便,就是设置一个ntp服务器,我推荐下面的三个ntp服务器地址。

time.asia.apple.com  //亲测有效
asia.pool.ntp.org  //亲测有效
ntp.nict.jp  //亲测有效

如果上面的方法不可用,或者只有局域网,无法连接到互联网,可使用下面的方法:

cmd命令 net time的使用,可输入 net time /help 查看帮助,不同的计算机可能会有一些区别。

C:\>net time /help
此命令的语法是:

NET TIME
[\\computername | /DOMAIN[:domainname] | /RTSDOMAIN[:domainname]] [/SET]

NET TIME 将计算机的时钟与其他计算机或域的时钟同步,或显示计算机或域的时间。当在 Windows Server 域上不带
任何选项使用时,它显示指定为域的时间服务器的计算机的当前日期和时间。

\\computername  要检查或同步的计算机的名称。
/DOMAIN[:domainname]  指定同步 domainname 的主域控制器的时间。
/RTSDOMAIN[:domainname]  指定与 domainname 的可靠时间服务器同步。
/SET            将计算机的时间与指定计算机或域的时间同步。
/QUERYSNTP 和 /SETSNTP 选项已被弃用。请使用 w32tm.exe 配置 Windows 时间服务。

NET HELP 命令 | MORE 逐屏显示“帮助”。

也有可能是下面的这个样子。

语法
net time [{\\ComputerName | /domain[:DomainName] | /rtsdomain[:DomainName]}] [/set]
net time [\\ComputerName] [/querysntp] [/setsntp[:NTPServerList]]

参数
\\computername 
指定要检查或与之同步的服务器的名称。 
/domain[:domainname] 
指定要同步时钟的域。 
/rtsdomain[:domainname] 
指定要与之同步时钟的“可信时间服务器”所在的域。 
/set 
使计算机的时钟与指定的计算机或域的时间同步。 
/querysntp 
显示当前为本地计算机或 \\computername 所指定的计算机配置的网络时间协议 (NTP) 服务器的名称。 
/setsntp[:NTPServerList] 
指定本地计算机所使用的 NTP 时间服务器的列表。该列表可以包含 IP 地址 或 DNS 名称,并用空格分开。如果使用多个时间服务器,则必须使用引号引住该列表。

 

这命令是一个获取网络时间的命令。

例子1:获取显示本地的时间:net time \\127.0.0.1
例子2:获取显示其他服务器的时间:net time \\(这里是其他机子的ip)
例子3:要跟其他的机子同步的话,可以用命令:net time \\(这里是其他机子的ip) /set  /y

在使用这个命令之前,要取得net 的权限,用net use见立一个会话。在局域网中很好使。

出处:https://zhidao.baidu.com/question/89929763.html

===================================================

在做项目的时候,需要同步客户端和服务器之间的时间,通过net time同步电脑时间,在机器重启之后同步失败,则无法使用net time同步时间,

测试下来需要先可以正常访问共享目录,才能同步时间,所以如下命令:

net use \\192.168.1.112\ipc$ admin /user:admin #*个admin是密码,第二个admin是用户名;
net time \\192.168.1.112 /set /y   #此操作需要管理员权限;将本机的时间与IP为192.168.1.112的电脑进行同步;
net use \\192.168.1.112\ipc$ /delete

【参考文献】:

  1. NET TIME and w32time

出处:http://www.cnblogs.com/cnpirate/p/7411315.html

===================================================

如何进行域内时间同步及时间常用命令总结

域内各个服务器的时间保持一致,是一个很重要而又往往又容易被人忽略的问题,如果时间不同步或出现异常,往往会出现以下问题:

1. 服务器上应用程序Server端无法获取准确的日期,导致反馈给客户端的日期时间不准确

2. 系统日志上时间不正确,无法通过时间点查找错误信息

3. *用户无法连接网络,导致无法正常工作

4. Failover Cluster无法正常启动或切换

以下内容,我们会介绍如下获取修改系统时间,如何设置成与时间服务器同步,并介绍各个常用的与时间有关的命令。

一.   常见命令

1. 修改当前计算机时间

使用time命令,同时会要求您重设时间

%title插图%num

如果不需要设置时间,则直接回车即可

这个命令仅限于粗糙的时间调整。

2. 获取当前计算机的日期及时间信息

在Windows HyperV中,用户无法看到图形界面的日期与时间信息,但可以通过以下命令进行查看:

a)  在命令行中输入timedate.cpl, 系统自动弹出日期,时间设置窗口,可以在此位置进行设置

b)  在命令行中输入net  time \\IP地址或计算机名称,此命令还可以查看其他计算机的当前时间,例如: net time \\3.242.107.129, 如果是域内计算机,想查看当前域的整体时间 net time /domain:shinseifin

%title插图%num

3. 显示时区

a)  在命令行中输入timedate.cpl, 系统自动弹出日期,时间设置窗口,可以在此位置进行设置。

b)  W32tm /tz  显示本地计算机时区设置

%title插图%num

4.  很多时间我们想知道, 当前域内的计算机是从哪个服务器同步的时间,可以用如下命令:

W32tm /monitor /computers:计算机名称   (后面有如何查看计算机名称)

或者w32tm /monitor /domain:域名

结果如下

%title插图%num

这样如果发现域内时间异常,直接更改此对应PDC的计算机时间即可。

如何查询主机名?

在windows的查看远程主机名的方式,在命令行方式下,
方式一:
输入命令: nbtstat -A ip
例如:nbtstat -A 192.168.1.100 //-A 必须大写
此时会把主机所在的域名也显示出来,
方式二:
利用ping命令查主机名的方法是:
ping -a ip
例如:ping -a 192.168.1.100
显示结果如下所示:
pinging google.cn [192.168.1.100] with 32 bytes of data:
Reply from 192.168.1.100: bytes=32 time<1ms TTL=64
方式三
只能查看本机的计算机名,直接用ipconfig查询主机名的方法是:ipconfig /all

5. 更改完时间后,我们希望让一台计算机立即进行同步

W32tm /resync /computer:计算机名称

%title插图%num

6. 设置本地时间

上面提到直接使用time命令即可

7. 设置一台与另外计算机时间同步

使用net time 命令。格式如下

net time [\\computername|/domain[:domainname] | /rtsdomain[:domainname]] [/set]

net time [\\computername] [/querysntp] | [/setsntp[:ntp server list]]

参数说明:

◆ 无参数,显示被指派为本地计算机的Windows服务器域时间服务器的当前时间。
◆ \\computername,指定要检查或与之同步的服务器的名称。
◆ /domain[:domainname],指定要同步时间的域。
◆ /rtsdomain[:domainname],指定要与之同步的可信时间服务器所在的域。
◆ /set,使计算机的时钟与指定的计算机或域的时间同步。
◆ /querysntp,显示当前为本地计算机或 \\computername 所指定的计算机配置网络时间协议(NTP)服务器的名称。
◆ /setsntp[:ntp server list],指定本地计算机所使用的NTP时间服务器的列表。该列表可以包含IP地址或DNS名称,用空格分开。如果要使用多个时间服务器,该列表必须用引号引起来。

例如: net time \\3.242.107.142 /querysntp 查询使用哪一个sntp服务器

Net time \\3.242.107.143 /setsntp:time.windows.gov  指定计算机143与windows sntp服务器同步

Net time /set  \\3.242.107.142 设置当前计算机与与142时间同步

通常用来设置服务器的时间与某一服务器同步。

二.如何设置PDC的服务器时间?

1).  将服务器设置为内部硬件时钟

打开Service注册表,HKEY LOCAL MACHINE\SYSTEM\ CurrentControlSet\Services\W32Time\Parameters中ReliableTimeSource与LocalNTP(二进制)均设置为1,重启服务,net stop w32tim & net strart w32time

2).  将PDC的时间与公网服务器时间同步。

a)  net time /setsntp:192.43.244.18

b)  进入域控注册表修改Parameters

(1)将服务器类型改为 NTP,即修改“TYPE”值为NTP。

(2) 将该服务器配置为可靠的时间源,即修改“ReliableTimeSource”为1。

(3) 修改“LocalNTP”值为1。

(4) 指定时间源,即修改“NtpServer”为时间源地址。

(5)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]分支,并双击SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上,输入框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。设定时间同步周期(建议设为900=15分钟或3600=1小时等周期值),填入对话框,点击确定保存关闭对话框。

(6)   在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter 键:net stop w32time && net start w32time

三.同步域内时间的步骤小结:

1.  确定域内的PDC,  net time /domain:domain名称

2.  查询PDC使用的时间源 net time \\PDC的IP地址 /QuerySntp

3.  修改PDC使用的时间源 net time \\PDC的IP地址 /SetSntp:事件源地址

4.  立即手动同步域内其他服务器的时间,使其与PDC保持一致。   net time /set或w32tm /resync /computer:PDC(IP),建议使用后一个命令,前一个命令可能会出问题,问题描述见后面。

5.  手动设置各个服务器的时间源,指向PDC(计算机名或IP地址)

Net time \\serverIP /setsntp:PDC(IP)

默认情况下,域内的服务器的时间同步机制如下:

%title插图%num

实例演示

域信息:域Test.com,PDC Server IP地址为192.168.100;2台Server的IP地址分别为192.168.1.101;192.168.1.102

说明:整个域内时间混乱,不同步,每个Server的时间都不一样

调整步骤:

1.  调试,查看整个域的时间源

在域内任意一台计算机,输入命令:W32tm /monitor /domain:test.com,可以获取PDC的IP地址

2.  登陆PDC Server,调整PDC的时钟,使其其时间准确,并让其与微软服务器time.windows.com同步;

Net time \\192.168.1.100 /setsntp: time.windows.com

3.  PDC服务器时间准确后,马上调整server的时间源192.168.1,101/102

查看这2台Server的数据源

Net time \\192.168.1.101 /Querysntp 或是

W32tm /monitor /computers:192.168.1.101,192.168.1.102

修改数据源

Net time \\192.168.1.101 /SetSntp:192.168.1.100

4.  设置时间源后,隔一段时间才能同步,我们可以手动设置立即同步

W32tm /resync /computer:192.168.1.101

W32tm /resync /computer:192.168.1.102

不建议使用net time /set 命令,因为有的系统不支持。

四.如何将Server服务器与PDC同步

用net time确定PDC,建议*好用w32tm /monitor,得出的效果*好,可以直接看到PDC地址

%title插图%num

首先需要确认PDC的时间,已经修改完毕,并且没有问题,

其次进入Server,运行net time /set \\PDC名称或地址

如域服务器的机器名是Server,命令如下:net time \\Server /set \\PDC名称或地址  /y

输入Y, 立即同步,即可

五.Q&A问答:

1. 为何当我使用net time /set  /Y 进行时间同步的时候,会出现异常,System Error 1314 has occurred?

出现以上问题,可以使用以下命令进行同步:

使用w32tm /resync /computer:需要同步的计算机名称或IP地址, 即可实现同步。

2. 时间同步的层次关系及理论介绍

为确保合理地使用公共时间,Windows 时间服务使用层级关系来控制授权,并且不允许出现循环。默认情况下,基于 Windows 的计算机使用下面的层级:

所有客户端桌面计算机都提名身份验证域控制器作为其入站时间伙伴。

所有成员服务器都遵循与客户端桌面计算机相同的过程。

域中的所有域控制器都提名主域控制器 (PDC) 操作主机作为其入站时间伙伴。

所有 PDC 操作主机都遵循域的层级来选择其入站时间伙伴。

在此层级中,位于林根的 PDC 操作主机成为组织的权威时间服务器。

在典型配置中,AD域中的计算机以下列顺序同步时间:

1. 域客户机或成员服务器向本域DC请求同步

2. 一个域中的DC会向本域的PDC模拟器进行同步
3. 所有非森林根域的PDC模拟器向森林根域的PDC模拟器同步

4. 森林根域PDC模拟器配置为向外部时间源同步。

Windows XP/2003及之后的时间服务使用NTP(网络时间协议)通过网络进行同步。Windows时间服务的组件包括:“Service Control Manager”, “Windows Time Service Manager”, “Clock Discipline”和“Time providers”。

进行时间同步时,这些组件的工作过程如下:

n  “Input providers”向NTP时间源请求并接收时间样本。

n  时间样本被传递到”Windows Time Service Manager”。

n  “Windows Time Service Manager”收集所有样本,并将其传递到”Clock Discipline”。

n  “Clock Discipline”使用NTP算法选择*佳时间样本。

n  “Clock Discipline”调整系统时钟频率或是直接更改时间

3. 时间同步使用哪些协议?

*种:SNTP,是现在应用较多的一种网络时间协议,Windows域内的时间同步就是使用的这种协议,使用UDP123端口进行通讯

第二种:Time Protocol,服务器在TCP/UDP 37端口上进行监听,这种协议只能使用到2036年

六. W32tm 的使用,由微软的帮助命令获取的信息,人工翻译,欠缺之处见谅。

(1). w32tm /monitor [/domain:]

               [/computers:[,[,…]]]

               [/threads:]

W32tm /monitor [/domain:域名]或[/computers: pc1,pc2,…]或者[/threads:数目]

 domain – specifies which domain to monitor. If no domain name

is given, or neither the domain nor computers option is

specified, the default domain is used. This option may be

used more than once.

指定哪个域被监控,如果没有指定,则默认是当前的域

computers – monitors the given list of computers. Computer

names are separated by commas, with no spaces. If a name is

prefixed with a ‘*’, it is treated as a PDC. This option

may be used more than once.

监控多个计算机,计算机之间用逗号隔开,如果计算机名称前面加*号,代表当前计算机时PDC,会被特殊对待

threads – how many computers to analyze simultaneously. The

default value is 3. Allowed range is 1-50.

指定多少计算机被同时分析,默认值为3,数字范围为1~50

(2). w32tm /ntte

Convert a NT system time, in (10^-7)s intervals from 0h 1-Jan 1601,

into a readable format.

将当前时间设置为NT的时间类型, 起始时间为1601年1月1号,只读模式

w32tm /ntpte

Convert an NTP time, in (2^-32)s intervals from 0h 1-Jan 1900, into

a readable format.

将当前时间设置为NTP的时间类型, 起始时间为1900年1月1号,只读模式

(3). w32tm /resync [/computer:] [/nowait] [/rediscover] [/soft]

Tell a computer that it should resynchronize its clock as soon

as possible, throwing out all accumulated error statistics.

通知一台计算机,它需要立即同步时钟,显示各种各样的错误统计。

computer: – computer that should resync. If not

specified, the local computer will resync.

计算机名称,如果不指定,表示本地计算机需要同步。

nowait – do not wait for the resync to occur;

return immediately. Otherwise, wait for the resync to

complete before returning.

无需等待,立即返回,否则需要完成同步后,才可以进入下一个等待命令

rediscover – redetect the network configuration and rediscover

network sources, then resynchronize.

是否需要检测网络配置和网络类型,然后再同步

soft – resync utilizing existing error statistics. Not useful,

provided for compatibility.  软同步,如果同步有误,则提供兼容性。

(4)w32tm /stripchart /computer: [/period:]

    [/dataonly] [/samples:]

Display a strip_chart of the offset between this computer and

another computer.

以条形图的形式显示出当前计算机与另一台计算机之间的时间差异值

computer: – the computer to measure the offset against.

目标计算机

period: – the time between samples, in seconds. The

default is 2s

2个实例之间的间隔时间,默认是2秒

dataonly – display only the data, no graphics.

只显示数据,没有图形

samples: – collect samples, then stop. If not

specified, samples will be collected until Ctrl-C is pressed.

指定实例的个数,如果没有指定需要用Ctrl—C 停止

注意:这里指定的计算机不能是普通计算机,必须是时间服务器(SNTP源),这个命令本质就是查看当前客户源与一个SNTP(时间源)服务器的时间差

如果是普通计算机会出现_____0x800705B4错误,截图如下:

%title插图%num

采用正确的时间源进行比较,截图如下:

%title插图%num

(5). w32tm /config [/computer:] [/update]

    [/manualpeerlist:] [/syncfromflags:]

    [/LocalClockDispersion:]

computer: – adjusts the configuration of . If not

specified, the default is the local computer.

指定需要调整的目标计算机,默认为本地

_update- notifies the time service that the configuration has

changed, causing the changes to take effect

通知time service 服务,配置信息已经发生变化,需要让变化生效。

manualpeerlist: – sets the manual peer list to ,

which is a space-delimited list of DNS and/or IP addresses.

When specifying multiple peers, this switch must be enclosed in

quotes.

设定手动管道列表,多个DNS和IP地址用空格分开。

syncfromflags: – sets what sources the NTP client should

sync from. should be a comma separated list of

these keywords (not case sensitive):

MANUAL – include peers from the manual peer list

DOMHIER – sync from a DC in the domain hierarchy

(6). w32tm /tz

Display the current time zone settings.

显示当前时区设置

(7). w32tm /dumpreg [/subkey:] [/computer:]

Display the values associated with a given registry key.

显示指定注册表的值

The default key is HKLM\System\CurrentControlSet\Services\W32Time

(the root key for the time service).

subkey: – displays the values associated with subkey of the default key.

computer: – queries registry settings for computer

显示写在注册表中的值,默认位置为HKLM\System\CurrentControlSet\Services\W32Time

服务器时间校正

1,首先yum 安装本地ntpdate客户端,更新ntpdate cn.pool.ntp.org时使用

[root@localhost ~]# yum install ntpdate

2,使用 ntpdate cn.pool.ntp.org进行更新。

ntpdate cn.pool.ntp.org

3.查看是否校对成功

date
%title插图%num

内网环境集群主机的时间同步

场景描述

  • 内网主机之间时间不一致,需要作同步;主机多数不能连接外网,只有*少数几台能连接外网

系统环境

  • centos7
  • root权限

实施方案

  • 内网中一台主机A (如172.16.59.25)与外网互通,通过外网 NTP 服务器同步时间
  • 主机A对内网提供 NTP 服务
  • 内网其他机器通过主机A进行对时

实施过程

主机A设置

  1. # 安装NTP软件
  2. # 方式1
  3. yum -y install ntp
  4. # 方式2(严格按照顺序autogen->ntpdate->ntp)
  5. rpm -hiv autogen-libopts-5.18-5.el7.x86_64.rpm
  6. rpm -hiv ntpdate-4.2.6p5-18.el7.centos.x86_64.rpm
  7. rpm -hiv ntp-4.2.6p5-18.el7.centos.x86_64.rpm
  8. # 编辑NTP配置
  9. vim /etc/ntp.conf

ntp.conf 配置如下

  1. driftfile /var/lib/ntp/drift
  2. # 默认拒*客户端所有操作
  3. restrict default kod notrap nomodify nopeer noquery
  4. # 允许本地操作
  5. restrict 127.0.0.1
  6. restrict ::1
  7. # 允许该网段同步时间,但不可修改NTP服务器时间
  8. restrict 172.16.59.0 mask 255.255.255.0 nomodify
  9. # 用于NTPD的上级服务器、本机时钟的同步,以及时钟的层次stratum
  10. server cn.ntp.org.cn prefer
  11. server edu.ntp.org.cn iburst
  12. # 本机时间兜底
  13. server 127.127.1.0
  14. fudge 127.127.1.0 stratum 8
  15. includefile /etc/ntp/crypto/pw
  16. keys /etc/ntp/keys
  17. disable monitor
  1. # 编辑 ntpd 文件
  2. vim /etc/sysconfig/ntpd

ntpd 文件修改如下

  1. OPTIONS=“-u ntp:ntp -p /var/run/ntpd.pid”
  2. # BIOS时间也会跟随改变
  3. SYNC_HWCLOCK=yes
  1. # 查看状态
  2. systemctl status ntpd.service
  3. ntpstat
  4. # 重启服务
  5. systemctl restart ntpd.service
  6. # 开机启动
  7. systemctl enable ntpd.service

其他主机设置

  1. # 安装 ntpdate 软件
  2. # 方式1
  3. yum -y install ntp
  4. # 方式2(严格按照顺序autogen->ntpdate->ntp)
  5. rpm -hiv autogen-libopts-5.18-5.el7.x86_64.rpm
  6. rpm -hiv ntpdate-4.2.6p5-18.el7.centos.x86_64.rpm
  7. rpm -hiv ntp-4.2.6p5-18.el7.centos.x86_64.rpm
  8. # 编辑配置文件
  9. vi /etc/ntp.conf

ntp.conf配置如下

  1. driftfile /var/lib/ntp/drift
  2. # 默认拒*客户端所有操作
  3. restrict default kod notrap nomodify nopeer noquery
  4. # 禁止本身的server
  5. # server cn.ntp.org.cn prefer
  6. # server edu.ntp.org.cn iburst
  7. restrict 172.16.59.25
  8. restrict 127.0.0.1
  9. restrict ::1
  10. server 172.16.59.25
  11. # server 127.127.1.0
  12. # fudge 127.127.1.0 stratum 10
  13. includefile /etc/ntp/crypto/pw
  14. keys /etc/ntp/keys
  15. disable monitor
  1. # 编辑 ntpd 文件
  2. vim /etc/sysconfig/ntpd

ntpd 文件修改如下

  1. OPTIONS=“-u ntp:ntp -p /var/run/ntpd.pid”
  2. # BIOS时间也会跟随改变
  3. SYNC_HWCLOCK=yes

# 重启服务 systemctl restart ntpd.service # 开机启动 systemctl enable ntpd.service

过程总结

可能失败原因及分析

  • NTP 服务刚启动后,客户端无法同步时间,需等待几分钟才可以
  • 关闭或者设置防火墙,允许123端口
  • 网络上存在多个 NTP 服务器时,客户端切换同步源后需要重启
  • 如果本机与 NTP 服务器时间误差超过1000s,则同步失败。可以按照下面命令解决。
    1. # 更改时区为中国
    2. timedatectl set-timezone “Asia/Shanghai”
    3. # 与外网同步一次时间
    4. ntpdate cn.ntp.org.cn
    5. # 注意 ntpdate

stratum 的概念

  • 顶层是1,值为0时表示层数不明,层的值是累加的,比如 NTP 授时方向是 A -> B -> C,假设 A 的层值是3,那么B从A获取到时间层值为4,C从B获取到时间,C的层值被置为5。一般只有整个 NTP 系统*顶层的服务器stratum才设为1。
  • NTP 同步的方向是从stratum 值较小的节点向较大的节点传播,如果某个 NTP 客户端接收到 stratum 比自己还要大,那么 NTP 客户端认为自己的时间比接受到的时间更为精确,不会进行时间的更新。
  • 对于大部分 NTP 软件系统来说,服务启动后,stratum 值初始是0,一旦 NTP 服务获取到了时间,NTP 层次就设置为上级服务器 stratum +1。对于具备卫星时钟、原子钟的专业 NTP 设备,一般 stratum 值初始是1。

NTPD运行过程

  • NTPD 启动后,stratum 值初始是0,此时 NTPD 接收到 NTP 请求,回复 stratum 字段为0的 NTP 包,客户端接收后,发现 stratum 字段无效,拒*更新时间,造成时间更新失败。
  • 几分钟后,NTPD从上级服务器获取到了更新,设置了正确的 stratum,回复 stratum 字段为 n+1的 NTP 包,客户端接收后,确认 stratum 有效,成功进行时间更新。
  • 在 NTPD 上级服务器不可用的情况下,NTPD 将本机时钟服务模拟为一个上级 NTP 服务器,地址使用环回127.127.1.0。服务启动几分钟后,NTPD 从 127.127.1.0 更新了时钟,设置了有效的 stratum,客户端接收后,成功进行时间更新。

ntpd与ntpdate修改时间的区别

ntpd 不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday设置系统时间,这有几个非常明显的问题:

*,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。

第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。

第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。

因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。

NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时

RTC硬件时间相关命令

  1. clock –r 显示硬件时钟与日期
  2. clock –s 将系统时钟调整为与目前的硬件时钟一致。
  3. clock –w 将硬件时钟调整为与目前的系统时钟一致

查看和修改时间

  1. # 查看时间和日期
  2. date
  3. date -R
  4. timedatectl
  5. # 查看本月月历
  6. cal
  7. # 设置时间和日期
  8. # 例如:将系统日期设定成2019年11月3日的命令
  9. date -s 11/03/2019
  10. #将系统时间设定成下午5点55分55秒的命令
  11. date -s 17:55:55
  12. # 将当前时间和日期写入BIOS,避免重启后失效**
  13. hwclock -w
  14. # 修改时区
  15. tzselect

 

内网外网服务器时间同步解决方案

一.时间服务器(NTP)相关解释

网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议。NTP的用途是把计算机的时间同步到某些时间标准。目前采用的时间标准是世界协调时UTC(Universal Time Coordinated)

二.时间服务器的重要性

在互联网上进行时间同步具有重要意义。随着互联网的发展和延伸到社会的各个方面,在其他的领域对时间同步也提出了多种要求,例如各种实时的网上交易、通信网络的时间配置、网络安全性设计、分布性的网络计算和处理、交通航班航路管理以及数据库文件管理和呼叫记录等多种涉及时间戳的应用,都需要精确、可靠和公认的时间。如果系统内某个服务器的时间有误差会造成交互失败有歧义,严重的将导致交易失败。由此可以看出NTP服务器的存在是不容置疑的。

三.内外网服务器时间同步方案

说明了时间同步的重要性后,需要根据实际情况来调整服务器的时间同步策略:

1. 如果每个服务器都可以有公网IP地址与外界通信,那简单的方式就是:每个服务器都可以配置与互联网上的时间服务器进行同步,达到每个内外网服务器系统时间的一致性。

2. 但是通常的情况是:在IDC托管的服务器只有前端WEB服务器对外通信,数据库,文件等服务器只是通过私网地址与前端WEB通信,形成整体的架构。

微博易的系统正是这种情况。

这个时候就需要整体系统内部有一台服务器来担当中介,具体是:将某台服务器配置成时间服务器(注:此服务器能直接同步互联网上的时间服务器),其他所有服务器都定时与这台服务器在内部进行时间同步,达到每个服务器的时间一致性。

四.方案图示

%title插图%num

五.时间服务器配置

1. 安装NTP软件

因为系统所用系统是CentOS就可以使用YUM方便的安装系统软件。

#yum  install  ntp

2. 编辑配置文件

备份一下原始配置文件:mv /etc/ntp.conf    /etc/ntp.conf-bk

vi  /etc/ntp.conf

添加如下内容

允许192.168.100.0 网段服务器进行同步,拒*其他服务器的同步

restrict 192.168.100.0 mask 255.255.255.0 nomodify
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust
restrict 127.0.0.1
restrict -6 ::1

外网时间服务器定义
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
server pool.ntp.org

fudge   127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift

3. 启动NTP服务

service  ntpd s tart

4. 客户端配置

添加到计划任务中,每三十分钟同步一次
crontab  –e
30 * * * *   /usr/sbin/ntpdate  192.168.100.5

开机启动时的时间同步设置
echo  “/usr/sbin/ntpdate  192.168.100.5 ”>> /etc/rc.d/rc.local

5. 手动在其他服务器上同步时钟

root@xen100 vm_backup_script]# /usr/sbin/ntpdate  192.168.100.5
28 Jul 17:30:59 ntpdate[19081]: adjust time server 192.168.100.5 offset -0.019476 sec

[root@xen100 vm_backup_script]# date
Sat Jul 28 17:31:02 CST 2012

局域网配置NTP服务器

我们在做工程中经常发现PC、摄像机、UPS等设备都有NTP时间这个选项,与此同时不配置的话,回经常发现时间不是统一,就如我们调出录像时发现有的时间段不统一,于是将其Server2003的NTP服务开启,客户端于此同步即可!!!

默认情况下,windows server 2003在非域控制器的情况只作为NTP的客户端工作,同时默认是与time.windows.com同步,于是通过windows自带的W32Time服务器配置NTP服务器,并需通过设定客户端来与服务器同步时间。

一、NTP服务器架设

1、运行regedit,打开注册表,修改键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time \TimeProviders\NtpServer内的Enabled设定为1,目的主要是启用NTP服务器的功能

2、将W32Time \Config\AnnounceFlags设定为5,目的是强制主机将其自身宣布为可靠的时间源(如果要使用Internet上的时间服务器,需要设定为默认a)

3、重启w32time服务

运行cmd,进入命令行界面输入

net stop w32time(停止w32time服务) ,

net start w32time(重启W32time服务)

4、到此为止我们的W32time服务器架设好了,接下了我们设置客户端同步。

二、NTP客户端设置及其同步

1、进入注册表修改

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient下的

SpecialPollInterval 值修改成十进制43200 (单位为秒,43200为12小时,该时间是客户端与服务器时间同步的间隔)

SpecialPollTimeRemaining 值修改成[时间同步服务器],0 如:192.168.3.101,0

2、到此为止客户端设定完成,可通过命令立即更新客户端时间,

w32tm /resync /nowait

也可以通过点击右下角时间,弹出【日期和时间】,点击Internet时间选项卡,选择更改设置,将其服务器192.168.3.101,点击立即更新!

注意:由于w32time服务使用的是123端口来同步时间,所以,还需要开通NTP服务连接外网的TCP和UDP的123端口

windows下面NTP服务器配置,局域网

NTP服务器介绍

NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒)。

问题描述

在一个与外界网络隔离的局域网内需要搭建一个NTP服务器给该局域网内的其他设备使用。尝试了一些Windows下的NTP服务器小软件之后,*后查到了Windows默认带有NTP服务器,只是默认没有开启,我们可以通过修改注册表的方式打开Windows默认的NTP服务器。

Windows时间服务介绍

从Windows 2000起的所有Microsoft Windows版本都包括Windows时间服务(W32Time),其具有将计算机时钟同步到NTP服务器的能力。
W32Time服务*初是为实现Kerberos第五版的身份验证协议,它需要误差5分钟内正确时间值以防止重放攻击。Windows 2000和Windows XP中只实现了简单的NTP,并在几个方面违反了NTP第3版的标准。从Windows Server 2003和Windows Vista开始,已包括匹配完整NTP的实现。微软称W32Time服务不能可靠地将同步时间保持在1至2秒的范围内。如果需要更高的精度,微软建议使用其他NTP实现。
Windows Server 2016现在在某些操作条件下支持1ms的时间精度。

(Windows时间服务介绍 摘抄自 “网络时间协议 – 维基百科,自由的百科全书“)

Windows 下安装NTP服务器方法步骤描述

电脑环境:

1、VMware Workstation_full_12.1.0.exe,密码:jtkr
2、虚拟机作为NTP服务器:Windows 7 (64位)(VMware 12 pro下的Windows 7 虚拟机 )
3、物理机:Windows10教育版 64位 1803版本(操作系统版本:17134.48)

详细步骤:

1、在Windows 服务器下,按住“ windows+r ”打开“运行”对话框,输入regedit,点击“确定”打开注册表。

2、在注册表中依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、TimeProviders、NtpServer,
在NtpServer项的右侧键值ENablied,将默认的0改为1,1为启用NTP服务器。

 

3、再在注册表中依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、Config
找到Config项右侧的AnnounceFlags。
把默认的10改为5,5的意思就是自身为可靠的时间源。

 

4、修改完以上之后关闭注册表编辑器,win7下 以管理员身份打开命令行如下图。Windows10则用Windows+X+A以管理员身份打开命令行。

5、在命令提示符中输入:net stop w32Time,回车
等待NTP服务停止。
然后再输入:net start w32Time,回车
启动NTP服务。

6、测试,局域网内windows电脑同步成功!

7、测试,在ubuntu虚拟机中,在终端输入命令“sudo ntpdate 192.168.10.241,”出现如下界面则同步成功!

参考资料

1、NTP服务器_百度百科
2、内网测试环境 NTP 服务器搭建
3、内网NTP服务器搭建
4、meinberg官网
5、NetTime 开源的Windows系统ntp软件
6、各种NTP SERVER平台软件测试与测试结果_百度文库
7、Windows 如何安装NTP服务器_百度经验
8、网络时间协议 – 维基百科,自由的百科全书
9、Network Time Protocol – Wikipedia
10、运行net start 命令时,提示发生系统错误5,拒*访问。 – Microsoft Community
11、cmd net start 服务 提示系统错误5 拒*访问怎么办?-CSDN论坛
12、怎么获得win7*高管理员权限
13、Win7命令提示符怎么以管理员方式打开
14、Win10系统同步Internet 时间出错的解决方法_百度经验
15、Ubuntu 14.04下时间同步的设置

windows 同步时间 cmd 命令

windows 同步时间 cmd 命令:
https://www.cnblogs.com/linkenpark/p/7776571.html

#{10.0.13.100} ntpserver,执行下面的命令后,会修改注册表的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer 的值为 {10.0.13.100},0x8
C:\Users\Administrator>w32tm /config /manualpeerlist:{10.0.13.100},0x8 /syncfromflags:MANUAL
成功地执行了命令。
w32tm /config /manualpeerlist:10.0.13.100,0×8 /syncfromflags:MANUAL    #也可以不加双引号。同步局域网 ntp server

C:\Users\Administrator>net stop w32time
没有启动 Windows Time 服务。

请键入 NET HELPMSG 3521 以获得更多的帮助。

C:\Users\Administrator>net start w32time
Windows Time 服务正在启动 .
Windows Time 服务已经启动成功。

C:\Users\Administrator>w32tm /resync    #同步时间,会马上同步
将 resync 命令发送到本地计算机
此计算机没有重新同步,因为没有可用的时间数据。

C:\Users\Administrator>

服务器时间同步是一个容易被忽视的问题,但在企业级应用环境中,不同服务器之间的时间差很可能引发应用系统问题。Windows提供的w32tm程序可以用来设置时间同步服务器,其用法如下:
1、指定外部时间源并与之同步
w32tm /config /manualpeerlist:”210.72.145.44″ /syncfromflags:manual /reliable:yes /update
/manualpeerlist表示外部时间源服务器列表,多个服务器之间可用空格分隔,210.72.145.44是中国国家授时中心的时间服务器ip地址
/syncfromflags:manual表示与指定的外部时间源服务器列表中的服务器进行同步
/reliable:yes设置此计算机是一个可靠的时间源。此设置只对域控制器有意义。
/update向时间服务发出配置已更改的通知,使更改生效
2、显示本地时间与目的时间的时间差
w32tm /stripchart /computer:210.72.145.44 /samples:30 /dataonly
3、显示目前服务器指定的外部时间源
w32tm /query /source
4、恢复Windows Time Service的预设值
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
在域环境中,只需设置根域控制器的外部时间源即可,其它服务器在添加进域中时将自动设置与域控制器时间同步。
改设置可解决域控制器的时间同步问题 如:Time-Service EventID:36
更多用法详见w32tm的帮助吧

windows下ntp时间校对

网上下的没法用。找了个老外弄的,在win7+管理员权限工作正常。

下面的代码放在头文件中:

  1. #define ReverseEndianInt(x) ((x) = \
  2. ((x)&0xff000000) >> 24 |\
  3. ((x)&0x00ff0000) >> 8 |\
  4. ((x)&0x0000ff00) << 8 |\
  5. ((x)&0x000000ff) << 24)
  6. /**
  7. * NTP Fixed-Point Timestamp Format.
  8. * From [RFC 5905](http://tools.ietf.org/html/rfc5905).
  9. */
  10. struct Timestamp
  11. {
  12. unsigned int seconds; /**< Seconds since Jan 1, 1900. */
  13. unsigned int fraction; /**< Fractional part of seconds. Integer number of 2^-32 seconds. */
  14. /**
  15. * Reverses the Endianness of the timestamp.
  16. * Network byte order is big endian, so it needs to be switched before
  17. * sending or reading.
  18. */
  19. void ReverseEndian() {
  20. ReverseEndianInt(seconds);
  21. ReverseEndianInt(fraction);
  22. }
  23. /**
  24. * Convert to time_t.
  25. * Returns the integer part of the timestamp in unix time_t format,
  26. * which is seconds since Jan 1, 1970.
  27. */
  28. time_t to_time_t()
  29. {
  30. return (seconds ((70 * 365 + 17) * 86400))&0x7fffffff;
  31. }
  32. };
  33. /**
  34. * A Network Time Protocol Message.
  35. * From [RFC 5905](http://tools.ietf.org/html/rfc5905).
  36. */
  37. struct NTPMessage
  38. {
  39. unsigned int mode :3; /**< Mode of the message sender. 3 = Client, 4 = Server */
  40. unsigned int version :2; /**< Protocol version. Should be set to 3. */
  41. unsigned int leap :2; /**< Leap seconds warning. See the [RFC](http://tools.ietf.org/html/rfc5905#section-7.3) */
  42. unsigned char stratum; /**< Servers between client and physical timekeeper. 1 = Server is Connected to Physical Source. 0 = Unknown. */
  43. unsigned char poll; /**< Max Poll Rate. In log2 seconds. */
  44. unsigned char precision; /**< Precision of the clock. In log2 seconds. */
  45. unsigned int sync_distance; /**< Round-trip to reference clock. NTP Short Format. */
  46. unsigned int drift_rate; /**< Dispersion to reference clock. NTP Short Format. */
  47. unsigned char ref_clock_id[4]; /**< Reference ID. For Stratum 1 devices, a 4-byte string. For other devices, 4-byte IP address. */
  48. Timestamp ref; /**< Reference Timestamp. The time when the system clock was last updated. */
  49. Timestamp orig; /**< Origin Timestamp. Send time of the request. Copied from the request. */
  50. Timestamp rx; /**< Recieve Timestamp. Reciept time of the request. */
  51. Timestamp tx; /**< Transmit Timestamp. Send time of the response. If only a single time is needed, use this one. */
  52. /**
  53. * Reverses the Endianness of all the timestamps.
  54. * Network byte order is big endian, so they need to be switched before
  55. * sending and after reading.
  56. *
  57. * Maintaining them in little endian makes them easier to work with
  58. * locally, though.
  59. */
  60. void ReverseEndian() {
  61. ref.ReverseEndian();
  62. orig.ReverseEndian();
  63. rx.ReverseEndian();
  64. tx.ReverseEndian();
  65. }
  66. /**
  67. * Recieve an NTPMessage.
  68. * Overwrites this object with values from the recieved packet.
  69. */
  70. int recv(int sock)
  71. {
  72. int ret = ::recv(sock, (char*)this, sizeof(*this), 0);
  73. ReverseEndian();
  74. return ret;
  75. }
  76. /**
  77. * Send an NTPMessage.
  78. */
  79. int sendto(int sock, struct sockaddr_in* srv_addr)
  80. {
  81. ReverseEndian();
  82. int ret = ::sendto(sock, (const char*)this, sizeof(*this), 0, (sockaddr*)srv_addr, sizeof(*srv_addr));
  83. ReverseEndian();
  84. return ret;
  85. }
  86. /**
  87. * Zero all the values.
  88. */
  89. void clear()
  90. {
  91. memset(this, 0, sizeof(*this));
  92. }
  93. };

调用:

  1. WSADATA wsaData;
  2. DWORD ret = WSAStartup(MAKEWORD(2,0), &wsaData);
  3. char *host = “pool.ntp.org”; /* Don’t distribute stuff pointing here, it’s not polite. */
  4. //char *host = “time.nist.gov”; /* This one’s probably ok, but can get grumpy about request rates during debugging. */
  5. NTPMessage msg;
  6. /* Important, if you don’t set the version/mode, the server will ignore you. */
  7. msg.clear();
  8. msg.version = 3;
  9. msg.mode = 3 /* client */;
  10. NTPMessage response;
  11. response.clear();
  12. int sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
  13. sockaddr_in srv_addr;
  14. memset(&srv_addr, 0, sizeof(srv_addr));
  15. dns_lookup(host, &srv_addr); /* Helper function defined below. */
  16. msg.sendto(sock, &srv_addr);
  17. response.recv(sock);
  18. time_t t = response.tx.to_time_t();
  19. char *s = ctime(&t);
  20. printf(“The time is %s.”, s);
  21. WSACleanup();
  1. int dns_lookup(const char *host, sockaddr_in *out)
  2. {
  3. struct addrinfo *result;
  4. int ret = getaddrinfo(host, “ntp”, NULL, &result);
  5. for (struct addrinfo *p = result; p; p = p->ai_next)
  6. {
  7. if (p->ai_family != AF_INET)
  8. continue;
  9. memcpy(out, p->ai_addr, sizeof(*out));
  10. }
  11. freeaddrinfo(result);
  12. }

/*

**time_t转SYSTEMTIME

*/

SYSTEMTIME TimetToSystemTime(time_t t)

{

FILETIME ft;

SYSTEMTIME pst;

LONGLONG nLL = Int32x32To64(t, 10000000) + 116444736000000000;

ft.dwLowDateTime = (DWORD)nLL;

ft.dwHighDateTime = (DWORD)(nLL >> 32);

FileTimeToSystemTime(&ft, &pst);

return pst;

}

 

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速