CentOS下部署NTP服务器

简介:


http://www.ntp.org/downloads.html


安装NTP

wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p3.tar.gz
tar ntp-4.2.6p3.tar.gz
cd  ntp-4.2.6p3
./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make 
make install

cp /usr/local/ntp/bin/* /usr/bin/

 

修改ntp.conf配置文件


首先先了解一下ntp.conf里面涉及到参数说明

关于权限设定部分; 权限的设定主要以 restrict 这个参数来设定
格式如下:
restrict IP地址 mask 子网掩码 参数; 其中 IP 可以是IP地址,也可以是 default ,default
就是指所有的IP参数有以下几个:

ignore :关闭所有的 NTP 联机服务

nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时

notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网
 
noquery :不提供客户端的时间查询

注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制
 
用server这个参数设定上级时间服务器

格式如下: server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP
服务器主要以该部主机时间进行校准

driftfile格式如下:driftfile 文件名

在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内 注意: driftfile
后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。


vi /etc/ntp.conf

1.允许任何IP的客户机都可以进行时间同步

将“restrict default kod nomodify notrap nopeer noquery”这行修改成:

restrict default nomodify


2.只允许192.168.0.0网段的客户机进行时间同步

restrict 192.168.0.0 mask 255.255.0.0 nomodify


源文件安装是没有ntp.conf (闲麻烦的话,大家可以选择yum -y install ntp) 手动添加,touch /etc/ntp.conf,复制以下

======================================================================
restrict default nomodify notrap noquery

restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.0.0 nomodify

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10 #调整为8,表示将使用local时间作为ntp服务提供给ntp客户端

driftfile /var/lib/ntp/drift
broadcastdelay  0.008
keys            /etc/ntp/keys 

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


让本服务器时间与time.nist.gov时间同步,使服务器为标准时间

使用ntpd同步时间(注意:使用ntpd时,本机与上源的时间相差不能太大,否则不运行,所以应
该先用ntpdate取得时间初值后在启动ntpd
 


[root@localhost ~]# ntpdate time.nist.gov


以守护进程启动ntpd

[root@localhost ~]#/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid

如果是yum安装ntp  使用 chkconfig --level 35 ntpd on

[root@localhost ~]#netstat -nul |grep 123
udp        0      0 192.168.50.91:123           0.0.0.0:*                               
udp        0      0 127.0.0.1:123               0.0.0.0:*                               
udp        0      0 0.0.0.0:123                 0.0.0.0:*

 

[root@localhost ~]# ntpq -p
     remote           refid                     st t when   poll  reach   delay     offset         jitter
==============================================================================
 114.80.81.1     204.152.184.72     2 u    5      64    1       13.142  -287655   0.001
 218.75.4.130    216.218.192.202  2 u    4      64    1       15.109  -287655   0.001
*LOCAL(0)        .LOCL.               10 l    3      64    1       0.000    0.000       0.001

 

    remote:响应这个请求的NTP服务器的名称。

 
  refid:NTP服务器使用的上一级ntp服务器。
 
  st :remote远程服务器的级别.由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端.所以服              务器从高到低级别可以设定为1-16.为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器
 
  when: 上一次成功请求之后到现在的秒数。
 
  poll : 本地机和远程服务器多少时间进行一次同步(单位为秒).在一开始运行NTP的时候这个poll值会比较小,那                  样和服务器同步的频率也就增加了,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率               也就会相应减小
 
  reach:这是一个八进制值,用来测试能否和服务器连接.每成功连接一次它的值就会增加
 
  delay:从本地机发送同步要求到ntp服务器的round trip time
 
  offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset越接近于0,主机和                     ntp服务器的时间越接近
 
  jitter:这是一个用来做统计的值.它统计了在特定个连续的连接数里offset的分布情况.简单地说这个数值的绝对                  值越小,主机的时间就越精确

    两个问题:

第一 设置ntp连接的是 server 0.pool.ntp.org ,为什么和remote server不一样

因为NTP提供给我们的是一个cluster server所以每次连接的得到的服务器都有可能是不一样.同样这也告诉我们了在指定NTP Server的时候应该使用hostname而不是IP 

第二 最前面的+和*都是什么意思

和第一个相关,既然有这么多的服务器就是为了在发生问题的时候其他的服务器还可以正常地给我们提供服务.那么如何知道这些服务器的状态呢? 这就是第一个记号会告诉我们的信息 

它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供 

它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务. 当*号服务器不可用时它就可以接管 

远程服务器被clustering algorithm认为是不合格的NTP Server 

远程服务器不可用

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

如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断)

[root@localhost ~]# ntpdate -d

 

iptables设置:


安全设置,开放192.168.0.0访问本机123端口
/sbin/iptables -A INPUT -p UDP -i eth0 -s 192.168.0.0/24  --dport 123 -j ACCEPT

 


linux客户端设置NTP

目前 Linux 系统上面有两个时间,一个是 Linux 系统,另一个则是 BIOS 时间(真正的硬件记录的时间)

可以使用 date 这个指令来手动修正目前主机的时间,date 这个指令仅修正 Linux 时间而已,所以需要以 hwclock 这个指令来将 BIOS 时间也更新才行

[root@test root]# date MMDDhhmmYYYY 
MM:月份 
DD:日期 
hh:小时 
mm:分钟 
YYYY:公元年

  
[root@test root]# hwclock [-rw]

-r:检视目前的 BIOS 时间 
-w:将目前 Linux 的时间写入 BIOS 当中!

[root@localhost ~]# date ; hwclock -r 
2011年 03月 23日 星期三 01:03:59 CST
2011年03月23日 星期三 03时05分00秒  -0.914570 seconds

#  date 与 hwclock -r 所显示的时间是『不一致的』! 
# 因为 Linux 时间与 BIOS 时间不一致所导致的一个问题! 
# 需要以 hwclock -w 来将 Linux 时间写入 BIOS

[root@localhost ~]# hwclock -w 
[root@localhost ~]# date ; hwclock -r 
2011年 03月 23日 星期三 01:03:59 CST
2011年03月23日 星期三 01时04分00秒  -0.814770 seconds


#自动同步服务器时钟
[root@localhost ~]# crontab -e
# 加入这一行: 

10 5 * * * root /usr/sbin/ntpdate 192.168.50.91;/sbin/hwclock -w

[root@localhost ~]# service crond restart


windows客户端设置NTP

直接在控制面板--日期和时间  修改

也可以下载以下软件修改
http://www.stdtime.gov.tw/chinese/exe/NTPClock.exe 

关于域控NTP同步请看以下另外一篇文章:

http://viong.blog.51cto.com/844766/1053276




    本文转自viong 51CTO博客,原文链接:http://blog.51cto.com/viong/522799,如需转载请自行联系原作者



相关文章
|
29天前
|
定位技术
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
|
5天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
5天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
6天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
6天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
8天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
8天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
11天前
|
Java 应用服务中间件 Linux
阿里云服务器部署多个tomcat
阿里云服务器部署多个tomcat
|
14天前
|
Linux
centos 查看服务器信息 版本cpu
centos 查看服务器信息 版本cpu
11 0
|
14天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
25 0