服务器多了,时间是否一致以及是否准备就显得格外重要,虽然这个问题总是被忽略,但是统一时间是很有必要的,因为时间问题导致服务出现问题也是司空见惯,本文简单介绍Linux下ntp的快速搭建和使用。
CentOS NTP服务器安装与配置 http://www.linuxidc.com/Linux/2014-01/95258.htm
Linux实战部署系列之NTP服务器 http://www.linuxidc.com/Linux/2013-11/92275.htm
多种操作系统NTP客户端配置 http://www.linuxidc.com/Linux/2013-10/91928.htm
搭建企业级NTP时间服务器 http://www.linuxidc.com/Linux/2014-02/97205.htm
1、 安装ntp
yum -y install ntp(直接yum安装即可)
2、 修改ntp.conf的配置
1)vim /etc/ntp.conf
① 配置方法一:只允许192.168.100.0网段的客户机进行时间同步
在restrict default kod nomodify notrap nopeer noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
② 配置方法二:允许任何ip的客户机都可以进行时间同步
将restrict default kod nomodify notrap nopeer noquery修改为如下行:
Restrict default nomodify
权限的设定主要以restrict这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中IP可以是IP地址也可以是default,default是指所有的IP
参数主要有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery:不提供客户端的时间查询
2)、用server这个参数设定上级时间服务器,语法为:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。
3)、解决NTP服务器校准时间时的传送延迟
使用driftfile参数设置:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
/usr/share/zoneinfo 这个目录下存放的是各个时区对应的设定文件
/etc/localtime 本地系统时间设定文件
/etc/sysconfig/clock 本机时区设定文件
为了使NTP服务可以在系统引导的时候自动启动,执行:
chkconfig ntpd on
将同步好的时间写到CMOS里边
vim /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
切记每次修改配置文件后重新启动服务使配置生效,可使用如下命令来检查NTP服务是否启动,启动的话可以得到一个进程ID号;
pgrep ntpd
使用下面的命令检查时间服务器同步的状态
ntpq -p
用ntpstat也可以查看一些同步状态信息,
安装完毕客户端需要过5-10分钟才能从服务器端更新时间
客户端设置:
crontab -e
加入一行
*/15 * * * * /usr/sbin/ntpdate 192.168.100.102(服务器端IP)
WINDOWS2003服务器NTP服务搭建
进入到服务器,依次点击:开始---运行---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的意思就是自身为可靠的时间源。
-
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\LocalClockDispersion Decimal 这一项将值10改成0 表示客户端从NTP服务器获取时间同步不用验证。
修改完以上之后关闭注册表编辑器
再:开始---运行---cmd---确定
在命令提示符中输入:net stop w32Time回车
等待NTP服务停止
然后再输入:net start w32Time回车
启动NTP服务
测试,同步成功!
附加:
cisco 交换机设置时区、时间、同步日志本地时间等操作
Core-Switch-1#show clock #查看交换机时间日期
Core-Switch-1#show ntp status #查看交换机ntp服务状态
Core-Switch-1#conf t
Core-Switch-1(config)# clock timezone GMT 8 #设置交换机时区,GMT 8为中国时区
Core-Switch-1(config)#service timestamps debug datetime msec localtime show-timezone #设置debug记录的时间格式,否则显示有问题 msec显示毫秒级,show-timezone显示时区
Core-Switch-1(config)#service timestamps log datetime msec localtime show-timezone
#设置系统日志记录时间格式,否则显示日志有问题 msec显示毫秒级,show-timezone显示时区
Core-Switch-1(config)#ntp source loopback 0 #指定发送NTP服务的源接口,一般指定为交 换机的回环接口loopback 0,此项可以不用设定,默认即可。
Core-Switch-1# clock set 13:51:00 Sep 7 2011 #手动设置交换机日期时间
或通过NTP服务器时间同步:
Core-Switch-1#ntp server 192.168.0.254 key 8888 #注:8888是指ntp服务器的Key值,此项需在NTP服务器上注册表中设置,如果设置为0表示无需认证,直接设置ntp server 172.16.3.254,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\LocalClockDispersion Decimal一项将值10改成0
Core-Switch-1#wr
Core-Switch-1#sh log
默认情况下日志消息不包括日期和时间戳。
service timestamps {debug | log } uptime
service timestamps {debug | log } datetime [mesc] [localtime] [show-timezone] [year]
debug 参数 在调试输出时包括时间戳
log 参数 在每种日志消息中添加一个时间戳uptime 在消息中包括路由器开机以来的时间
0w2d: #SYS-5-CONFIG_I : Configured from console by console
0w2d 开机后0周2天datetime 显示准确的日期和时间 UTC 格式 标准格式 MM DD HH:MM:SS
datetime后面可以跟一些参数
mesc 消息中包括毫秒信息
localtime 显示基于本地配置的时区时间
show-timezone 输出包括时区名称
year 输出包括年份信息
在Cisco网络系统中的NTP配置NTP命令解析:
--ntp update-calendar: 该全局命令使NTP周期性地更新交换机的日历
--show ntp status: 执行模式命令,用于显示交换机NTP信息,它可以表明该交换机的NTP对等 体进行时钟同步还是通过NTP服务器进行同步。
--show ntp association [detail]:执行模式命令显示与NTP有关的信息,如*询周期等。detail 可选项
NTP服务排错:
上面是一个debug的输出,从中看到了自server的数据包显示为stratum 0,代表服务器没有同步,既然上游服务器没有同步,本地服务器就更不能同步了。
交换机未设置时间前显示的日志:
#sh log
4w0d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, changed state to up
4w0d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, changed state to down
4w0d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/6, changed state to up
4w1d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/5, changed state to down
4w1d: %LINK-3-UPDOWN: Interface FastEthernet0/5, changed state to down
4w1d: %LINK-3-UPDOWN: Interface FastEthernet0/5, changed state to up
4w1d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/5, changed state to up
4w1d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to down
4w1d: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to down
4w1d: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to up
4w1d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up
交换机设置时间后显示日志如下:
#sh log
.Sep 7 05:59:22: %SYS-6-CLOCKUPDATE: System clock has been updated from 13:59:22 BJ Wed Sep 7 2011 to 05:59:22 UTC Wed Sep 7 2011, configured from console by wht on vty2 (172.16.100.10).
.Sep 7 13:59:23: %SYS-6-CLOCKUPDATE: System clock has been updated from 05:59:23 UTC Wed Sep 7 2011 to 13:59:23 GMT Wed Sep 7 2011, configured from console by wht on vty2 (172.16.100.10).
.Sep 7 13:59:24: %SYS-5-CONFIG_I: Configured from console by wht on vty2 (172.16.100.10)
.Sep 7 13:58:00: %SYS-6-CLOCKUPDATE: System clock has been updated from 14:00:05 GMT Wed Sep 7 2011 to 13:58:00 GMT Wed Sep 7 2011, configured from console by wht on vty2 (172.16.100.10).