NTP服务搭建详解一条龙
说在前面:ntp和ntpdate区别
①两个服务都是centos自带的(centos7中不自带ntp)。ntp的安装包名是ntp,ntpdate的安装包是ntpdate。他们并非由一个安装包提供。
②ntp守护进程为ntpd,配置文件是/etc/ntp.conf
③ntpdate用于客户端的时间矫正,非NTP服务器可以不启动NTP。
简介:ntp全名 network time protocol 。NTP服务器可以为其他主机提供时间校对服务。
环境准备:两台服务器,一台作为NTP服务器,另一台作为client端向服务器同步时间测试。
NTP服务器:156.0.26.6
client端:156.0.0.27
安装与配置:我们从配置文件的角度来讲解一下ntp的配置
1 # For more information about this file, see the man pages
2 # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
3
4 driftfile /var/lib/ntp/drift #默认即可。driftfile用来指定记录本机与上层NTP server之间的频率误差。单位是百万分之一秒。
5
6 # Permit time synchronization with our time source, but do not
7 # permit the source to query or modify the service on this system.
8 restrict default nomodify notrap nopeer noquery
#restrict用来管理权限控制。格式为 restrict [单个ip|网络|default] parameter
parameter:
ignore:拒绝所有的ntp连接
nomodify:客户端不能使用ntpc和ntpq这两个程序来更改服务器的时间参数,单客户端可以通过此主机来进行网络校时。
noquery:客户端不能使用ntpc和ntpq等命令来查询时间服务器,等于不提供网络校时服务。
notrap:不提供trap这个网络时间登陆的功能
notrust:拒绝没有认证的客户端
示例:restrict 156.0.26.7 nomodify
9
10 # Permit all access over the loopback interface. This
could
11 # be tightened as well, but to do so would effect some of
12 # the administrative functions.
13 restrict 127.0.0.1 #以下两条默认,放行本机来源
14 restrict ::1
15
16 # Hosts on local network are less restricted.
17 #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
18
19 # Use public servers from the pool.ntp.org project.
20 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
21 server 0.centos.pool.ntp.org iburst #以下四条为默认,注释掉即可
22 server 1.centos.pool.ntp.org iburst
23 server 2.centos.pool.ntp.org iburst
24 server 3.centos.pool.ntp.org iburst
25 server:用来设置上层NTP服务器,说白了就是client向谁请求NTP时间同步。
特别注意,在内网环境中由于无法连接到内网,所以没有办法向例如国家授时服务中心210.72.145.44同步时间
只能讲内网中的某台主机设置为server,用以向其他内网服务器提供NTP服务。
server 127.127.1.0 prefer #以本机时间作为时间服务。内网中这个配置一定要加上,否则会导致NTP服务不可用
#prefer代表这台主机优先级最高。
26 #broadcast 192.168.1.255 autokey # broadcast server
27 #broadcastclient #
broadcast client
28 #broadcast 224.0.1.1 autokey # multicast server
29 #multicastclient 224.0.1.1
# multicast client
30 #manycastserver 239.255.254.254
# manycast server
31 #manycastclient 239.255.254.254 autokey # manycast client
32
33 # Enable public key cryptography.
34 #crypto
35
36 includefile /etc/ntp/crypto/pw
37
38 # Key file containing the keys and key identifiers used when operating
39 # with symmetric key cryptography.
40 keys /etc/ntp/keys ##除了restrict来限制客户端连接外,还可以通过秘钥方式来给客户端认证。
41
42 # Specify the key identifiers which are trusted.
43 #trustedkey 4 8 42
44
45 # Specify the key identifier to use with the ntpdc utility.
46 #requestkey 8
47
48 # Specify the key identifier to use with the ntpq utility.
49 #controlkey 8
50
51 # Enable writing of statistics records.
52 #statistics clockstats cryptostats loopstats peerstats
53
54 # Disable the monitoring facility to prevent amplification attacks using ntpdc
55 # monlist command when default restrict does not
include the noquery flag. See
56 # CVE-2013-5211 for more details.
57 # Note: Monitoring will not be disabled with the limited restriction
flag.
58 disable monitor
示例
服务器端需要修改/etc/ntp.conf,添加以下内容
server 127.127.1.0 prefer #设置本机为NTP服务器
restrict 156.0.26.7 #允许客户端156.0.26.7向本机请求时间同步
restrict 156.0.26.0 mask 255.255.255.0 #允许客户端156.0.26.0网段的所有主机向本机请求时间同步
客户端需要修改/etc/ntp.conf,添加以下内容
server 156.0.26.6 #指名上层NTP服务器
restrict 156.0.26.6 #放行156.0.26.6
验证
首先验证服务是否启动成功
启动服务 :service ntpd start
查看服务是否启动:netstat -tunlp |grep ntp ;ntp默认监听于UDP的123端口
其次验证NTP是否正常工作
此处需要使用156.0.26.7这台Client服务器,在此主机上可以使用命令ntpstat或ntpq -p 这两个命令。
ntpstat:这条命令可以查看我们的客户端(此处为156.0.26.7)是否与server(156.0.26.6) 连接成功。
上图的大致意思是:本机已经和156.0.26.6这台位于第七层的NTP服务器同步时间,时间精确到36ms以内。每个512s去同步一次时间。
ntpq -p:此命令可以列出当前主机的NTP和上层NTP的状态。
remote:上层NTP服务器的IP或者主机名。主要最左边的*
*:代表目前正在使用中的上层FTP
+:已经连接成功,且可以作为下一个提供时间服务的候选人。
refid:它指的是给远程服务器(156.0.26.6)提供时间同步的服务器,本机上级的上级NTP服务器。
为什么显示为LOCAL(0)?
由于此处为内网环境,无法去外网公用的主机同步时间,因此我们在156.0.26.6上设置的是156.0.26.6自身作为时间服务器同时,使用server 127.127.1.0
prefer指名他的上级NTP为自身。
st:就是stratum层级。 类似于DN,NTP是层级结构,有顶端的服务器,最多有15层。 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器。
when:几秒之前通不过时间
poll:在过多长时间去同步时间。
reach:已经同步时间的次数
delay:网络传输过程中的延迟,单位是10的-6次方秒。
offset:时间修正值,这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别.。单位是10的-3次方。
jitter:linux系统时间(软件时间)与BIOS硬件时间的差异时间,单位是10的-6次方秒。在主机和NTP服务器同步时间欧,可以使用 hwclock -w将系统时间写入BIOS.
NTP服务搭建详解一条龙的更多相关文章
- CentOS学习之NTP服务配置详解
详解centos7下ntp服务配置 一.ntp服务是什么 1.定义 NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 2.发展 首次记载在 ...
- LVS负载均衡集群服务搭建详解(二)
lvs-nat模型构建 1.lvs-nat模型示意图 本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7 VS内核都支持ipv ...
- LVS负载均衡集群服务搭建详解(一)
LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...
- 高可用,多路冗余GFS2集群文件系统搭建详解
高可用,多路冗余GFS2集群文件系统搭建详解 2014.06 标签:GFS2 multipath 集群文件系统 cmirror 实验拓扑图: 实验原理: 实验目的:通过RHCS集群套件搭建GFS2集群 ...
- Linux下DNS服务器搭建详解
Linux下DNS服务器搭建详解 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析 ...
- MySQL集群搭建详解
概述 MySQL Cluster 是MySQL 适合于分布式计算环境的高实用.可拓展.高性能.高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达 ...
- VirtualBox开发环境的搭建详解(转)
VirtualBox开发环境的搭建详解 有关VirtualBox的介绍请参考:VirtualBox_百度百科 由于VirtualBox官网提供的搭建方法不够详细,而且本人在它指导下,从下载所需的开 ...
- Windows GTK+ 环境搭建(详解)
来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html Windows GTK+ 环境搭建 最近要做界面的一些东西,但是对微软提供的类库MFC不 ...
- Python环境搭建详解(Window平台)
前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...
随机推荐
- Vue---mock.js 使用
mockjs 概述 在我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于是有没有可以制造假数 ...
- hydra的使用
hydra参数详解 -R 继续从上一次进度接着破解 -S 大写,采用SSL链接 -s 小写,可通过这个参数指定非默认端口 -l 指定破解的用户,对特定用户破解 -L 指定用户名字典 -p 小写,指定密 ...
- csps模拟测试110
好久没写博客了,主要是太懒了,这次考试其实状态还算好. 考试的时候半小时左右打完T1T2,先没打T2对拍,想了想T3,大概有了一个bitset的思路,回去补上了T2的对拍. 然后T3想了一些东西: 三 ...
- php自定义截取中文字符串-utf8版
php自定义截取中文字符串-utf8版 UTF-8的编码范围(utf-8使用1-6个字节编码字符,实际上只使用了1-4字节): 1个字节:00——7F 2个字节:C080——DFBF 3个字符:E08 ...
- python中程序的异常处理
什么叫异常? 导致程序异常退出叫做异常 try...except...else 如果要抓取某种特定异常可以用except ERROR as e else:如果程序正常执行那么会执行else里面的代码 ...
- 对学习Python自然语言处理的一点儿感悟
研究生阶段,如果一开始找不到知识点,那就结合导师的研究课题以及这个课题设计到的知识领域,扎好基础知识能力.以我研究的自然语言处理领域为例,如果一开始不知道研究点,且又要安排学习计划,那么我会在选择: ...
- .NET Core 3.0 单元测试与 Asp.Net Core 3.0 集成测试
单元测试与集成测试 测试必要性说明 相信大家在看到单元测试与集成测试这个标题时,会有很多感慨,我们无数次的在实践中提到要做单元测试.集成测试,但是大多数项目都没有做或者仅建了项目文件.这里有客观原因, ...
- C++中对封装的语法支持——this指针
this指针 1.this概念 (1) This指针就是用于成员函数区分调用对象. (2) This指针由编译器自动传递,无须手动传递,函数内部隐藏了this指针参数,本类类型的指针. (3) 编译器 ...
- Linux 下的这些高效指令,是你快速学习的神器
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位 ...
- [笔记] HOW2J.CN网站记录的java笔记_第四部分_HTML
1.写一个显示Hello World的网页, <html> <body> <p>Hello World</p> </body> </h ...