1. 简介
  2. 原理
  3. 配置ntp服务器
  4. 进行同步

一、简介

在计算时间的时候,最准确的计算应该是使用『原子震荡周期』所计算的物理时钟了( Atomic Clock, 也被称为原子钟 ),这也被定义为标准时间(International Atomic Time)。而我们常常看见的 UTC 也就是Coordinated Universal Time (协和标准时间)就是利用这种 Atomic Clock 为基准所定义出来的正确时间。这个 UTC 标准时间是以 GMT 这个时区为主的喔!所以本地时间与 UTC 时间的时差就是本地时间与 GMT 时间的时差。

计算机主机上面的 BIOS 内部就含有一个原子钟,由于原子钟主要是利用计算芯片 (crystal) 的原子震荡周期去计时的,每种芯片都有自己的独特的震荡周期。而计算机主要又是以 BIOS 内部的时间为主要的时间依据,而偏偏这个时间可能因为 BIOS 内部芯片本身的问题,而导致 BIOS 时间与标准时间 (UTC) 有差异存在,所以,为了避免主机时间因为长期运作下所导致的时间偏差,这时候就需要网络校时(Network Time Protocol)NTP的功能来进行时间同步了。

二、原理

1. 主机当然需要启动 daemon

2. Client 会向 NTP Server 发送出调校时间的 message

3. NTP Server 会送出目前的标准时间给 Client

4. Client 接收了来自 Server 的时间后,会据以调整自己的时间。

但是存在client端与server端同步的时间差、延迟问题,在 daemon 的部分,以 server/client 及 master/slave 的架构来提供使用者进行网络校时的动作来保证校准时间更为准确。

三、安装配置

1.安装ntp服务

#yum install -y ntp ntpdate

2.配置ntp服务

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

ignore:关闭所有ntp联机服务

nomodify:表示client端不能更改server端的时间参数,不过client端仍然可以通过server端同步时间

notrap:拒绝特殊的ntpdq捕获消息

noquery:拒绝btodq/ntpdc查询

server:添加上层主机的设定或者说添加为互联网上的ntp服务器的设定

以上图配置文件当中的注释也很清楚。

(此图只是为另一个例子)

3.添加防火墙规则及启动NTP服务

#iptables –A INPUT –p udp –i eth0 –s 10.0.7.0/24 –dport 123 –j ACCEPT

#systemctl start ntpd

四、同步

在客户端操作:
1.下载安装ntp
2.使用ntpdate同步

#ntpdate NTP服务端IP

若出现同步成功的提示,但时间没有同步过来,可能为时区问题,修改时区可用简单的方法:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

若出现“no server suitable for synchronization found”,检查ntp服务器端配置正确以及防火墙设置正确等;若还是不行,则试着同步网络上的ntp服务器,比如ntpdate time.nist.gov(前提客户端要能通网络)

  #date

显示系统时间

#hwclock

显示系统硬件时间

#hwclock -w

将系统时间写入到系统硬件当中

定时执行时间同步任务,所以我们利用crontab -e 来添加定时任务

* 1/ * * * root /usr/sbin/ntpdate 10.0.7.149;hwclock -w

以上。

Linux下NTP服务器配置的更多相关文章

  1. [Linux]Linux下Apache服务器配置

    Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm                 //主程序包 httpd-devel-2.2.3-29.e15.i ...

  2. Linux下Apache服务器配置

    Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm                 //主程序包 httpd-devel-2.2.3-29.e15.i ...

  3. 阿里云linux下web服务器配置

    markdown截图不方便,本教程不用markdown编写 首先参考文章 https://www.jianshu.com/p/2604e53a7f6a?from=singlemessage 安装完后无 ...

  4. 关于linux下ntp时间同步服务的安装与配置

    1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...

  5. Linux下ntp时间同步

    在root用户下执行 先安装同步时间软件,每台机器执行 yum install -y ntp 然后执行以下命令: crontab -e */10 * * * * /usr/sbin/ntpdate - ...

  6. Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决

    [root@EPDDB log]# [root@EPDDB log]# ntpdate 10.154.8.200 6 Sep 09:35:09 ntpdate[30210]: the NTP sock ...

  7. Suse Linux下NTP缓慢调整配置,转载至http://www.gpstime.com.cn/

    (1)系统内若有使用crontab 进行与时间调整相关的例行性工作排程,应注释掉(命令人工crontab -e修改,删除定时同步任务ntpdate -s ntpserver). (2)修改ntp配置文 ...

  8. linux下SVN服务器配置

    SVN服务器配置 1. 安装svn服务 yum install subversion 2. 新建一个目录用于存储SVN所有文件 mkdir /home/svn 3. 创建项目 在上面创建的文件夹中为项 ...

  9. linux下ntp服务器搭建方法

    环境 软件:fedora14,装在virtualbox虚拟机上 硬件:x86 具体步骤 检查是否安装了ntp 运行如下命令: rpm -qa | grep ntp 如果有如下输出,表示有安装ntp 服 ...

随机推荐

  1. js-MediumGrade-base.js

    // 1.JavaScript 中的类型包括 Number(数字) String(字符串) Boolean(布尔) Symbol(符号)(第六版新增) Object(对象) Function(函数) ...

  2. Python 练习:九九乘法表

    num = 1 while num <= 9: tmp = 1 while tmp <= num: print(tmp, "*", num, "=" ...

  3. JS的一些小知识

    1.     0.1+0.2==0.3? 结果为false 原因:由于计算机是用二进制来存储和处理数据数字,不能精确表示浮点数,而JavaScript是一种弱类型语言,没有相应的封装类来处理浮点数运算 ...

  4. 【读书笔记】iOS-iOS AirPlay与AppleTV

    享受高清晰影院般的大屏幕电影带来的快乐,单纯的iOS设备实现这些是不可能的.苹果有一套解决方案,iOS设备把这些视频和音效数据无线传输(WiFi或蓝牙)Apple TV,然后由Apple TV将视频和 ...

  5. base64加密和解码原理和代码

    Base64编码,是我们程序开发中经常使用到的编码方法.它是一种基于用64个可打印字符来表示二进制数据的表示方法.它通常用作存储.传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用 ...

  6. Android 开发学习笔记

    1.Genymotion 解决虚拟镜像下载速度特别慢的问题 http://blog.csdn.net/qing666888/article/details/51622762 2.

  7. 二. Redis 安全性

    由于Redis速度相当快,当一台服务器比较好的时候,一个外部用户可以在一秒钟内进行150K(15万)次的密码尝试,因此意味着你需要设置一个非常非常强大的密码来防止暴力破解. 1.设置密码 (1). 通 ...

  8. The packaging and installation process of Android programs

    D:\android\adt-bundle-windows-x86-20131019\sdk\platform-tools工具的路径. 安卓工程经过eclipse编译然后通过aapt工具打包生成一个. ...

  9. spring使用BeanPostProcesor实现AOP源码分析

    源码 AbstractApplicationContext#public void refresh() throws BeansException, IllegalStateException { f ...

  10. android开发笔记:Handler、Looper、MessageQueen、Message的关系

    一.什么是handler? 注:线程分为主线程(主线程又叫UI线程,只能有一个主线程)和子线程(可以有多个)Handler只能在主线程里运行 handler是Android给我们提供用来更新UI的一套 ...