时间同步服务ntp

Posted 王非雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间同步服务ntp相关的知识,希望对你有一定的参考价值。

内外网集群的时间同步①

  • Server端:可以访问外网的机器

  • Client端:在内网里的机器

一、server端安装ntp校时包,修改独立主机

rm -rf /etc/localtime #先清除原有的链接文件

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。

date -R #查看的时区设置。

接下来调整系统时间与时间服务器同步

 

Debian系统安装NTP校时包:

代码如下:

apt-get install ntpdate #安装ntp

 

CentOS系统安装NTP校时包:

代码如下:

yum -y install ntpdate ntp #安装ntp

 

Ubuntu系统安装NTP校时包:

代码如下:

sudo apt-get install -y ntpdate ntp

二、server端修改/etc/ntp.conf配置文件

编辑 /etc/ntp.conf

 

server cn.pool.ntp.org

restrict default nomodifynotrapnoquery

restrict 127.0.0.1   # 开启内部递归网络接口 lo

restrict 192.168.9.0 mask 255.255.255.0 nomodify notrap #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数

由于配置的是本地时间 ,所以还需要配置一个使用系统时钟作为时间源的NTP服务器,需要在/etc/ntp.conf文件中添加如下的记录:

 

server 127.127.1.0

fudge 127.127.1.0 stratum 10

然后保存退出

接着输入下面的命令:

ntpdate -d cn.pool.ntp.org #调试查看时间差异

ntpdate cn.pool.ntp.org #手动校准系统时间

date -R # 检查时间是否同步

 

三、server端修改ntpd 的系统配置

vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes #同步独立主机的硬件时钟

然后:wq退出

chkconfig --levels 235 ntpd on #配置开机启动ntp服务,定期同步时间

/etc/init.d/ntpd start#启动ntp同步

 

四、client端配置ntpd服务

注:client端保证与server端的网络通畅

编辑/etc/ntp.conf文件,前面的这两行注释掉

 

#restrict default kod nomodify notrap nopeer noquery

#restrict -6 default kod nomodify notrap nopeer noquery

 

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

在里面加上

 

restrict 服务端地址 nomodify

server 服务端地址 prefer

service ntpd start启动ntpd服务

chkconfig ntpd on 加入开机启动项

 

五、检查ntpd的工作情况(网络连通性(是否开放了123端口)和同步情况)

ntpq -p查看是否能正确输出

date -R 每台机器查看时间

linux下防火墙规则如果极严格的话可能会影响ntpd对时,打开 sport 123 即可

iptables -I INPUT -p udp -m udp --sport 123 -j ACCEPT

 

内网linux服务器之间时间同步②

 

首先设置主机器,先设置时区,在修改配置文件

rm -rf /etc/localtime #先清除原有的链接文件

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。

date -R #查看的时区设置。将本机时间修改为标准时间

hwclock --systohc && hwclock -w 使用系统时间刷入硬件时间

编辑/etc/ntp.conf文件

在里面加上

restrict 127.0.0.1   # 开启内部递归网络接口 lo

restrict 192.168.5.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数

 

由于配置的是本地时间 ,所以还需要配置一个使用系统时钟作为时间源的NTP服务器,需要在/etc/ntp.conf文件中添加如下的记录:

server 127.127.1.0

fudge 127.127.1.0 stratun 10

在以上的记录中:

指定的IP地址是一个“伪”IP地址,确定本地系统为时间源。

指定的IP地址127.127.1.1告诉NTP使用内部时钟作为时间源。

"fudge"定义了这个时钟的级别,如果没有这个记录,节点就是一级服务器。将级别重新定义为10是个好的办法,这样客户端在查询这个服务器的时候就会知道这个服务器不是一个可靠的时间源.

这种时间同步的方式只应该在本地的网络不能使用外部的时间源的时候使用

 

启动ntp服务

service ntpd start

设置开机启动

chkconfig ntpd on

然后配置客户端,在192.168.5.103这台主机上面,编辑/etc/crontab这个文件,用于设置此节点每分钟要像主服务器同步时间

设置如下:

* * * * * root /usr/sbin/ntpdate 192.168.5.102;/sbin/hwclock -w

查看时间是否一致

最后提及一点,ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd文件。

 

在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

自动脚本如下:

#!/bin/bash

cat << EOF  >> /etc/ntp.conf 

restrict 127.0.0.1

restrict 192.168.5.0 mask 255.255.255.0 nomodify

server 127.127.1.0

fudge 127.127.1.0 stratun 10

EOF

service ntp restart

chkconfig ntpd on

#客户端修改内容

echo >> 

更新脚本2

#!/bin/bash

#备份源文件

mv /etc/localtime /etc/localtimebak

#修改时区为东八区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#校准当前时间

date -s "2017-10-24 12:09:38"

#使用系统时间刷入硬件时间

hwclock --systohc

#修改配置文件

cat << EOF  >> /etc/ntp.conf 

restrict 127.0.0.1

restrict 192.168.9.0 mask 255.255.255.0 nomodify

server 127.127.1.0

fudge 127.127.1.0 stratun 10

EOF

#重启开机自启

service ntpd restart

chkconfig ntpd on

 

外网单台机器设置时间同步③

一、安装ntp校时包,修改独立主机

rm -rf /etc/localtime #先清除原有的链接文件

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。

date -R #查看的时区设置。

接下来调整系统时间与时间服务器同步

 

Debian系统安装NTP校时包:

代码如下:

apt-get install ntpdate #安装ntp

 

CentOS系统安装NTP校时包:

代码如下:

yum -y install ntpdate ntp #安装ntp

 

Ubuntu系统安装NTP校时包:

代码如下:

sudo apt-get install -y ntpdate ntp

二、修改/etc/ntp.conf配置文件

vi /etc/ntp.conf 就会看到以下内容:

 

server 0.centos.ntp.org

server time.windows.com

server time.nist.gov

这是默认的ntp同步服务器,大家可以自己改,全球ntp服务器地址:http://www.pool.ntp.org/

cn.pool.ntp.org //这中国的ntp服务器

我改成了:

 

server cn.pool.ntp.org

server time-a.nist.gov

server time.windows.com

server time.nist.gov

然后保存退出

接着输入下面的命令:

ntpdate -d cn.pool.ntp.org #调试查看时间差异

ntpdate cn.pool.ntp.org #同步时间

date -R # 检查时间是否同步

 

三、修改ntp 的系统配置

vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes #同步独立主机的硬件时钟

然后:wq退出

chkconfig --levels 235 ntpd on #配置开机启动ntp服务,定期同步时间

/etc/init.d/ntpd start#启动ntp同步

 

自动脚本如下:

#!/bin/bash

#备份源文件

mv /etc/localtime /etc/localtimebak

#修改时区为东八区

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#安装ntp服务

yum -y install ntpdate ntp

#修改/etc/ntp.conf 

cat << EOF  >> /etc/ntp.conf 

server cn.pool.ntp.org

server time-a.nist.gov

server time.windows.com

server time.nist.gov

EOF

#调试查看时间差异

ntpdate -d cn.pool.ntp.org

#同步时间

ntpdate cn.pool.ntp.org && echo "SYNC_HWCLOCK=yes" >>/etc/sysconfig/ntpd || echo "Setting Filed!"

#自启动

chkconfig --levels 235 ntpd on

/etc/init.d/ntpd start

echo `date`

以上是关于时间同步服务ntp的主要内容,如果未能解决你的问题,请参考以下文章

NTP服务时间同步服务NTP

NTP服务时间同步服务NTP

北斗授时服务(NTP时间同步服务器)让食品更安全

NTP时间同步

网络时钟同步设备(NTP时间同步服务器)技术设计应用方案

搭建时间同步服务器之NTP