NTP服务器配置

1,设置linux time zone(RedHat)
timezone文件位置:/usr/share/zoneinfo
①查看timezone的当前时间。
例:zdump Hongkong


2,硬件时钟(Real Time Clock(RTC))和系统时钟(System Clock)
硬件时钟:是嵌在主板上的电路,计算机关机后,仍在运行。
系统时钟:是操作系统的kernel用来计算时间的时钟,它从1970年
1月1日00:00:00 UTC时间到目前为止的秒数总和的值。
在linux下,系统时间开机后会和硬件时间同步,然后就各自独立运行。

①查看系统时间:date
查看硬件时间:hwclock --show

②把硬件时间设置成系统时间命令:hwclock --hctosys
把系统时间设置成硬件时间命令:hwclock --systohc

③修改硬件时间:通过BIOS,或命令:
hwclock --set --date="mm/dd/yy hh:mm:ss"
修改系统时间:date -s "dd/mm/yyyy hh:mm:ss"

3,默认NTP服务端口
UDP/123

●服务端的配置:
4,NTP服务器需要关闭的服务
①关闭selinux
vi /etc/selinux/config
SELINUX=disabled
②关闭iptables
service iptables stop
chkconfig iptables off

5,查看是否按照了NTP包,以及如何安装NTP。(RedHat)
#rpm -qa | grep ntp
ntp-4.2.2p1-9.el5_4.1 //出现此,代表已经安装了ntp.
否则,手动安装:
#rpm -ivh ntp-4.2.2p1-5.el5.rpm
或者yun源安装:
yum -y install ntp
-y:不提示,直接安装

然后,执行:
chkconfig --add ntpd //添加ntp
chkconfig ntpd on //开机自启动ntp服务

互联网上提供的NTP服务器可参考NTP官网:http://www.pool.ntp.org

※打开ntp服务器之前,最好与你想要同步的时间源,手动做一次同步。
命令(例):ntpdate 0.uk.pool.ntp.org
注意点:如果开启ntp服务后,运行ntpdate 会提示端口被占用。

原因1:根据NTP的设置,如果你的系统时间比正确时间快的话,NTP不会帮你调整。
原因2:当你的时间和NTP服务器的时间相差很大时,会话花费很长时间同步。

重启ntp服务器,并查看状态是否running。
systemctl restart ntpd.service #重启服务
systemctl status ntpd.service #查看状态

6,配置NTP服务

 编辑配置文件/etc/ntp.conf ,配置之前记得先备份文件。

 1   restrict default kod nomodify notrap nopeer noquery //restrict、default定义默认访问规则,nomodify禁止远程主机修改本地服务器
 2 
 3   restrict -6 default kod nomodify notrap nopeer noquery // 配置,notrap拒绝特殊的ntpdq捕获消息,noquery拒绝btodq/ntpdc查询  
 4 
 5   restrict 127.0.0.1                   //(这里的查询是服务器本身状态的查询)。
 6 
 7   restrict -6 ::1
 8 
 9   
10 
11   restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap //这句是手动增加的,意思是指定的192.168.1.0--192.168.1.254的服务器都
12 
13                               // 可以使用ntp服务器来同步时间。
14 
15   server 192.168.1.117     //这句也是手动添加的,可以将局域网中的指定ip作为局域网内的ntp服务器。
16 
17   server 0.centos.pool.ntp.org
18 
19   server 1.centos.pool.ntp.org //这3个域名都是互联网上的ntp服务器,也还有许多其他可用的ntp服务器,能连上
20 
21   server 2.centos.pool.ntp.org  //外网时,本地会跟这几个ntp服务器上的时间保持同步。
22 
23  
24 
25   server 127.127.1.0 # local clock  //当服务器与公用的时间服务器失去联系时,就是连不上互联网时,以局域网内的时
26 
27   fudge 127.127.1.0 stratum 10     //间服务器为客户端提供时间同步服务。
28 
29  
30 
31   第三步,启动NTP服务:
32 
33   /etc/init.d/ntpd start //当前启动ntpd服务
34 
35   chkconfig ntpd on   //下次开机自启ntpd服务
36 
37 
38 第四步,检查时间服务器是否正确同步
39 
40   在服务端执行 ntpq -p 
View Code

 

常见问题:
1)服务器端的防火墙设置,阻断了123端口(可以用 iptables -t filter -A INPUT -p udp --destination-port 123 -j ACCEPT 解决)

2)每次重启ntp服务器之后,大约3-5分钟客户端才能与服务端建立连接,建立连接之后才能进行时间同步,否则客户端同步时间时会显示
   no server suitable for synchronization found的报错信息,不用担心,等会就可以了。

3) 问题:查看是否使用了文件/var/lib/ntp/ntp.conf.dhcp内的配置。

     删除/var/lib/ntp/ntp.conf.dhcp 文件(rm /var/lib/ntp/ntp.conf.dhcp );

4)如何同步硬件时钟
NTP一般只会同步system clock. 如果要同步RTC的话,需要把下面的选项打开。
vi /etc/sysconfig/ntpd
添加 SYNC_HWCLOCK=yes,就可以让硬件时间与系统时间同步。

 

●客户端的配置:
  第一步,客户端安装NTP服务:
  yum install -y ntp   #设置开机自启
 
  第二步,同步时间:

       配置时间服务器为本地的时间服务器:server  xxx.xxx.xxx.xxx #/etc/ntp.conf
  ntpdate 服务器IP或者域名

★推荐添加计划任务:(每30分钟同步一次)
crontab -e
*/30 * * * * /usr/sbin/ntpdate 10.10.10.10 >> /var/log/ntpdate.log

 

●参数说明:

iburst参数可以加快初始化时的同步操作

restrict <IP 地址> <子网掩码> |<网段> <子网掩码> [ignore|noquery|notrap|nomodiy|notrust|nokod]

ignore :关闭所有ntp服务 noquery:不提供ntp服务

nopeer:不与其他同一层的NTP服务器进行时间同步

notrap:不提供trap远程事件登录的功能

nomodiy:表示客户端不能更改ntp服务器的时间参数,但可以通过ntp服务器进行时间矫正

notrust:拒绝没有通过认证的客户端

nokod:kod技术可以阻止一种dos攻击

posted @ 2018-03-06 10:26  山的那一边  阅读(433)  评论(0)    收藏  举报