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,如需转载请自行联系原作者



相关文章
|
2月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
418 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
2月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
233 17
|
2月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
274 13
|
3月前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
330 12
|
2月前
|
弹性计算 运维 Linux
3分钟幻兽帕鲁游戏链接服务器一键部署教程,基于阿里云服务器
本教程介绍如何使用阿里云服务器快速部署《幻兽帕鲁》联机服务,支持与好友联机游戏。内容包括服务器配置、计费说明、服务创建及登录游戏步骤,同时提供存档管理与配置修改方法,助您轻松搭建专属游戏服务器。
|
3月前
|
定位技术 数据中心
安徽京准电钟分享:NTP授时服务器极速部署指南
安徽京准电钟分享:NTP授时服务器极速部署指南
233 14
|
4月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
303 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
安全 Linux 网络安全
手把手教你在centos 7.4上搭建NTP服务器
手把手教你在centos 7.4上搭建NTP服务器
1613 0
手把手教你在centos 7.4上搭建NTP服务器