NTP服务的搭建

NTP服务的搭建

  1. 1.     准备环境

服务器系统为redhat 6.4 两块网卡eth0(连接外网),eth1(连接内网ip192.168.1.1)。

现在搭建一台时间同步服务器,服务器和公网的NTP Server 时间同步,然后负责同步局域网的时间

  1. 2.     安装NTP软件包

yum install ntp �Cy

  1. 3.     编辑配置文件/etc/ntp.conf

1NTP服务的主要配置文件是/etc/ntp.conf。其中已经有了一些默认设置。如下图所示:

wKiom1WmYynjNiKYAAE7nfRJNuo946.jpg

含义注释:

  restrict default kod nomodify notrap nopeer noquery   限制其他计算机查询修改本机上的NTP服务,其中default表示所有IP

  restrict -6 default kod nomodify notrap nopeer noquery  应用于IPV6地址的主机
restrict 127.0.0.1
   开放本机内部接口,用于反馈;以便于在本地对NTP服务进行监控及配置

  restrict 192.168.1.0 mask 255.255.255.0 nomodifynotrap   开放这个网段,不能修改;即允许192.168.1.0/24网段的NTP客户端都可以用本机的NTP服务器进行网络校时,但不允许它们修改本机的NTP服务配置
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
这些是网络中真正服务器,这里的server参数用来指定上层的NTP服务器,默认指定internet上的时间服务器池中的时间服务器作为上层NTP服务器

  配置使用网络时间,主要是通过修改配置文件/etc/ntp.conf来实现的

ntp服务器默认监听UTP 123端口

   2. 确定自己的时区:

date命令可以查看当前系统时间,中国的时区为CST。使用tzselect命令进行配置(时区选择,交换式配置方式

或者选择Shanghai然后建立一个软连接,如下所示:

ln -sf/usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime #localtime为系统时区

或者编辑/etc/sysconfig/clock

 ZONE=”Asia/shanghai”

再cp /usr/share/zoneinfo/Asia/shanghai/etc/localtime

(3).利用restrict 来管理权限控制

   修改权限设置的语句格式为:

restrict  IP地址或域名 mask子网掩码][选项]

该语名用来设置其他计算机对本机NTP服务的访问权限,其中,IP地址或域名参数可以是default,表示所有计算机

常用选项:

ignore:表示禁止所有的NTP请求包进入

nomodify:表示禁止其他计算机更改本机NTP服务的设置,但可以通过本NTP服务器进行网络校时

notrust:表示禁止所有未通过认证的NTP包进入

noquery:表示禁止其他计算机查询本机NTP服务的状态

notrap:不提供trap远程登录

nopeer:提供时间服务,但不做为对等体

kod:向不安全的访问者发送Kiss-Of-Death报文

如果没有设置任何选项,就表示该计算机(或网段)没有任何限制

设置允许对局域网192.168.1.0/24提供时间同步服务

restrict192.168.1.0 mask 255.255.255.0  nomodify  notrap

如图

wKioL1WmZR2R-AMCAACIbf5FdGE934.jpg

 

配置选项 server(用来和公网时间同步)

作用:指定上层NTP服务器,以及一些连接选项

server [host] [key n] [version n][prefex] [mode n] [minpoll n] [maxpoll n] [iburst]

:

server 0.rhel.poll.ntp.org

server 1.rhel.poll.ntp.org

wKioL1WmZSPD1py3AACdOGAnpS0882.jpg

 

启动ntp服务:service ntpd start

开机启动服务:chkconfig ntpd on

允许ntp服务的端口123穿过防火墙

iptables-I INPUT -p udp --dport 123 -j ACCEPT

三.配置时间同步客户端

3、配置时间同步客户机:

方法1从“系统”à“管理”à菜单中,启动“日期和时间”管理工具

wKioL1WmZSvBD-TTAADv8Xk_0OA209.jpg

方法2手工执行 ntpdate <ntp server ip  > 来同步

crontab �Ce

wKiom1WmY1rwhlTlAACFDgcxGY4817.jpg

ntpdate -d  <ntp server  ip >

wKioL1WmZTzybUOAAAIg1mysGYw654.jpg

或者利用crontab来执行

0 21 * * * /usr/sbin/ntpdate 192.168.0.1 ;/sbin/hwclock -w每天晚上9点进行同步

其中hwclock  �Cwhwclocksystohc命令修正系统硬件时间,这样系统重启后,才能显示出正确的时间

附:

四、内网服务器时间同步错误
1
noserver suitable for synchronization found
[root@client ~]# ntpdate 192.168.1.8
27 Oct 11:00:02 ntpdate[5299]: no server suitable for synchronization found

解决办法:安装ntpserver
修改/etc/ntp.conf,添加如下信息:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
如果想在互联网做ntpserver,取消noquery就可以了,如果只是给内部提供,加一行ip限制就行:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap nopeer
然后重启ntpd服务:
[root@client ~]# service ntpd restart
最后等ntp第一次去他的上级ntpserver同步,可以查看:
[root@appserver ~]# ntpq -p
remote       refid      st t when poll reach  delay   offset  jitter
======================================================================
114.80.81.13    66.220.9.122     2u   22   64    1   37.802 -292.77   0.001
122.226.192.4   127.67.113.92    2 u  21   64    1   38.103 -298.15   0.001
61.153.197.226 .INIT.          16u    -   64    0   0.000    0.000   0.000
LOCAL(0)       .LOCL.          10 l  21   64    1    0.000   0.000   0.001

否则用客户端同步,会报错:
[root@client ~]# ntpdate -d 192.168.1.8
27 Oct 11:00:44 ntpdate[5307]: ntpdate Thu May 13 14:38:23 UTC 2010 (1)
Looking for host 192.168.1.8 and service ntp
host found : 192.168.1.8
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
transmit(192.168.1.8)
192.168.1.8: Server dropped: no data
server 192.168.1.8, port 123
stratum 0, precision 0, leap 00, trust 000
refid [192.168.1.8], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 203614:28:16.000
originate timestamp: 00000000.00000000  Thu, Feb  7 2036 14:28:16.000
transmit timestamp:  d25347df.73e86849  Thu, Oct 27 2011 11:00:47.452
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000 0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.0000000.000000
delay 0.00000, dispersion 64.00000
offset 0.000000
27 Oct 11:00:48 ntpdate[5307]: no server suitable for synchronization found

2theNTP socket is in use, exiting
[root@client ~]# ntpdate 192.168.1.8
 2 Dec 15:20:42 ntpdate[2748]: the NTP socket is in use, exiting
 
解决办法:在客户端服务器上没停止ntpd服务
[root@client ~]# /etc/init.d/ntpd stop
关闭 ntpd  [确定]

以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

server 127.127.1.0

fudge 127.127.1.0  stratum 10

wKioL1WmZUrzLHbAAABkkLuIg90872.jpg

ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no serversuitable for synchronization found的错误。

那么如何知道何时ntp server完成了和自身同步的过程呢?

ntp server服务器端上使用命令:

# watch  ntpq  -p

出现画面:

wKioL1WmZVGA2oziAACmL_mqgfE922.jpg

注意LOCAL的这个就是与自身同步的ntp server

注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0175次的变更,每一次是poll的值的秒数,是64*5=320秒的时间。

ntp client上使用命令:查看时间同步状态

wKiom1WmY36RWaYdAACVCDRG-xQ406.jpg

ntp命令

#/usr/sbin/ntpdate -u 192.168.0.1校对时间
#/usr/sbin/ntpdate -q
192.168.0.1查询不更新
#hwclock --systohc
将机器硬件时钟同步为系统时钟

 


你可能感兴趣的:(linux,ntp)