Linux系统NTP服务细节详述,时间服务器及客户端安装配置

一:自己配置NTP服务器

1、主要文件及命令:
    /etc/ntp.conf 服务器配置文件
    /etc/sysconfig/clock 时区配置文件

在Linux系统里设置NTP服务并不难,但是NTP本身确是一个很复杂的协议.
你都了解细节么?

  1. rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm (安装NTP软件包)

  2. vi /etc/ntp.conf
    注释一行
    restrict default ignore (or restrict default nomodify notrap noquery
    加入一行
    restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap

  3. vi /etc/ntp/step-tickers
    加入一行
    pool.ntp.org
    这样每次ntpd启动时,会自动连接该国际标准时间服务器;

  4. service ntpd start

    /bin/date 显示和设置时间的命令
    /sbin/hwclock 用于 BIOS 时钟 (硬件时钟) 的修改与显示的命令
    /usr/sbin/ntpd 主要提供 NTP 服务的程序
    /usr/sbin/ntpdate 用于客户端的时间校正

  1. 时间和时区

5.chkconfig ntpd on (设置开机启动

2、服务端:查软件是否已安装:
    [root@localhost ~]# rpm -qa | grep ntp
    ntp-4.2.2p1-9.el5_4.1  (这个就是已经安装的RPM包,或者其他版本的ntp)

date命令可显示时间与市区

  1. netstat -an |grep 123 (确保该端口以udp方式开放)

  2. hwclock -w 將 Linux 系统时间写入 BIOS

   
如果没有安装,可从
    [root@localhost ~]# rpm -ivh ntp-4.2.2p1-9.el5_4.1.rpm

[root@T_PV1_DB ~]# date

时间客户端配置(192.168.0.2):
1.#ntpdate ntp服务器地址

3、备份一下配置文件
    cp /etc/ntp.conf /etc/ntp.conf_bak

Tue Feb  7 16:32:16 CST 2017

  1. #crond -e
    加入:0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1
    (表示每隔10分钟同步一次时间)

4、ntp.conf文件主要参数说明:
    4.1、利用 restrict 来管理权限控制
        restrict [你的IP] mask [netmask_IP] [parameter]
        其中 parameter 的参数主要有底下这些:

[root@T_PV1_DB ~]# cat /etc/sysconfig/clock

二:时间命令的使用
1.关于date的使用:
 
查看系统时钟的操作:

        ignore: 拒绝所有类型的 NTP 联机;
        nomodify: 客户端不能使用 ntpc 与 ntpq
这两支程序来修改服务器的时间参数,
但客户端仍可透过这部主机来进行网络校时的;
        noquery: 客户端不能够使用 ntpq, ntpc
等指令来查询时间服务器,等于不提供 NTP 的网络校时啰;
        notrap: 不提供 trap 这个远程事件登录 (remote event logging)
的功能。
        notrust: 拒绝没有认证的客户端。

ZONE=”Asia/Shanghai”

 # date

    4.2、利用 server 设定上层 NTP 服务器
        server [IP or hostname] [prefer] 
        perfer 表示‘优先使用’

CST=true

 设置系统时钟的操作:

5、具体配置如下:
    原来的上层服务器及对上层的限制注释掉,然后直接加上这几项
    server 210.72.145.44 prefer
    server time.nist.gov
    restrict 210.72.145.44 mask 255.255.255.255 nomodify notrap
noquery
    restrict time.nist.gov mask 255.255.255.255 nomodify notrap
noquery
    restrict 192.168.1.0 mask 255.255.255.0 nomodify 
#对内网访问开放,不同网段设置要改一下

在地球环绕太阳旋转的24个小时中,世界各地日出日落的时间是不一样的.所以我们才有划分时区(timezone)
的必要,也就是把全球划分成24个不同的时区.
所以我们可以把时间的定义理解为一个时间的值加上所在地的时区(注意这个所在地可以精确到城市)

 # date 091713272003.30

6、重启服务:/etc/init.d/ntpd restart
   
7、加入开机启动:chkconfig ntpd on

格林威治时间(GMT), 它也就是0时区时间. 但是我们在计算机中经常看到的是UTC.
它是Coordinated Universal Time的简写.
虽然可以认为UTC和GMT的值相等(误差相当之小),但是UTC已经被认定为是国际标准,所以我们都应该遵守标准只使用UTC

 通用的设置格式:

8、查看系统日志看有没有报错:tail /var/log/messages

那么假如现在中国当地的时间是晚上8点的话,我们可以有下面两种表示方式

 # date 月日时分年.秒

9、查看启动的端口:netstat -tlunp | grep ntp

20:00 CST

2.使用hwclock或clock命令查看和设置硬件时钟

10、检查与上层服务器是否同步成功(约15分钟后才会和上层连接):
    ntpstat 或 ntpq -p

12:00 UTC

查看硬件时钟的操作:

11、先对服务器进行手动较正,要不误差超过1000秒的话服务会自动停掉:
    date MMDDHHMMCCYY.SS  #设置时间,格式:月月日日时时分分年年.秒秒
    /etc/init.d/ntpd stop #要把服务停掉,因为ntp与ntpdate不能同时生效
    ntpdate 210.72.145.44
    hwclock -w  #写入硬件时间,-r是显示硬件时间
    /etc/init.d/ntpd restart

这里的CST是Chinese Standard Time,也就是我们通常所说的北京时间了.
因为中国处在UTC+8时区

  # hwclock –show 或

12、别的客户端要进行同步,则这样处理:
    vim /etc/crontab
    */10 * * * * root (/usr/sbin/ntpdate 210.72.145.44 &&
/sbin/hwclock -w) &> /dev/null
   
    /etc/init.d/crond restart

如果时区设置错了,你看到的日志时间也不正确了。

  # clock –show

13、要点:
    Linux 系统本来就有两种时间,一种是 Linux 以 1970/01/01
开始计数的系统时间,一种则是 BIOS 记载的硬件时间;
    Linux 可以透过网络校时,最常见的网络校时为使用 NTP
服务器,这个服务启动在 udp port 123;
    时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考
/etc/localtime;
    NTP 服务器为一种阶层式的服务,所以 NTP
服务器本来就会与上层时间服务器作时间的同步化, 因此 nptd 与 ntpdate
两个指令不可同时使用;
    NTP 服务器的联机状态可以使用 ntpstat 及 ntpq -p 来查询;
    NTP 提供的客户端软件为 ntpdate 这个指令;
    在 Linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w
来写入 BIOS 所记录的时间。
    NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。

补充:

  2003年09月17日 星期三 13时24分11秒 -0.482735 seconds

图片 1

CST同时可以代表如下 4 个不同的时区:

  设置硬件时钟的操作:

Central Standard Time (USA) UT-6:00

  # hwclock –set –date=”09/17/2003 13:26:00″

Central Standard Time (Australia) UT+9:30

  或者

China Standard Time UT+8:00

  # clock –set –date=”09/17/2003 13:26:00″

Cuba Standard Time UT-4:00

  通用的设置格式:hwclock/clock –set –date=“月/日/年 时:分:秒”。

可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。

  3.同步系统时钟和硬件时钟

2、ntp的配置

  Linux系统默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话,使用clock或hwclock命令来同步系统时钟和硬件时钟。

#cat
 /etc/ntp.conf 

  硬件时钟和系统时钟同步:(以硬件时间为准)

  • restrict default kod nomodify notrap nopeer noquery 
  • restrict -6 default kod nomodify notrap nopeer noquery 
  • restrict 11.107.13.100 
                           //允许该NTP服务器进入
  • restrict 11.80.81.1
                               //没有任何何參數的話,這表示『该IP或网段不受任何限制』
  • restrict 202.112.1.199 
  • restrict 127.0.0.1 

  • restrict -6 ::1 

  • restrict 192.168.0.0 mask 255.255.0.0 nomodify
     //该网段可以进行校时
  • restrict
    0.0.0.0 mask 0.0.0.0 notrust           //拒绝没有认证的用户端
  • server time-nw.nist.gov prefer
                     //prefer
    该服务器优先
  • server 0.rhel.pool.ntp.org 
    iburst        //设定时间服务器
  • server 1.rhel.pool.ntp.org 
    iburst
  • server 2.rhel.pool.ntp.org 
    iburst
  • fudge 
     127.127.1.0 stratum 6 
  • driftfile /var/lib/ntp/drift 
  • keys /etc/ntp/keys 
  • broadcastdelay
    0.008

  # hwclock –hctosys

上边只是简单设置,没有考虑安全方面如认证等等。

  或者

权限管理使用 restrict 公式如下:
restrict IP mask [参数] / restrict 192.168.0.0
mask 255.255.0.0 nomodify

  # clock –hctosys

其中参数主要有底下这些:

  上面命令中,–hctosys表示Hardware Clock to SYStem clock。

    * ignore:拒绝所有类型的NTP的连线;
    * nomodfiy:用户端不能使用NTPC与ntpq这两支程式来修改伺服器的时间参数,但使用者端仍可透过这部主机来进行网路校时的;
    * noquery:用户端不能够使用ntpq,NTPC等指令来查询发表伺服器,等于不提供的NTP的网路校时幂;
    * notrap:不提供陷阱这个远端事件邮箱(远程事件日志)的功能。
    * notrust:拒绝没有认证的用户端。

  系统时钟和硬件时钟同步:(以系统时间为准)

配置文件中的driftfile是什么?
我们每一个system
clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确.
NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了。

  # hwclock –systohc

 

  或者

最后,别忘了启动NTP服务器

  # clock –systohc

/etc/init.d/ntp start

(还有个同步时间的方法就是:从时间服务器time.nist.gov同步。
    在crontab中加入:
00 0 1 * * root rdate -s time.nist.gov)

[root@localhost
~]# chkconfig ntpd on #在运行级别2、3、4、5上设置为自动运行

图片 2

[root@localhost
~]# chkconfig –list ntpd

ntpd 0:off 1:off 2:on
3:on 4:on 5:on 6:off

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注