Linux时间服务器配置

Linux时间服务器配置

配置服务端(时间服务器)
安装ntp服务

[***@***~]# yum install ntp ntpdate -y

防火墙配置
由于NTP服务需要使用到UDP端口号123,所以当系统的防火墙(Iptables)启动的情况下,必须开放UDP端口号123

编辑配置文件(修改配置文件需要重启服务)

[***@***~]# vi /etc/ntp.conf

#把如下四行代码注释掉(这些是公网的一些时间服务器)
#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


#在下面再添加两行
server 127.127.1.0 prefer  #把本机服务器作为时间服务器
restrict 默认网关 mask 子网掩码 nomodify notrap  #允许客户端默认网关的所有主机向本机请求时间同步

restrict 控制相关权限。
语法为:restrict IP地址mask 子网掩码参数
其中IP地址也可以是default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式6 控制消息陷阱服务。陷阱服务是ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod :访问违规时发送KoD 包。
restrict -6 表示IPV6地址的权限设置。

启动ntp服务

#启动服务
[***@***~]# systemctl start ntpd   #或service ntpd start

#查看服务器状态
[***@***~]# systemctl status ntpd  #或service ntpd status

#设置开机自启
[***@***~]# systemctl enable ntpd

ntp开机无法自启(客户端同样操作)

#查看ntp状态
[***@**** ~]# systemctl status ntpd
Redirecting to /bin/systemctl status  ntpd.service
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

查询ntp是否设置开机自启

[***@*** ~]# systemctl is-enabled ntpd   #查看设置状态
enabled

通过上面查询得出ntp设置开机自启,但是为开机启动成功,一般引起这个问题最常见的原因是系统上安装了一个与ntp想冲突的的工具:chrony

查询chrony是否被设置为enabled(开机自启)

[***@***~]# systemctl is-enabled chronyd
enabled

解决办法:

[***@***~]# systemctl disable chronyd  #设置chronyd不可用

重启服务器,查看ntp状态

[***@***~]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-01-19 09:51:20 +08; 2min 3s ago
  Process: 6067 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 6078 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─6078 /usr/sbin/ntpd -u ntp:ntp -g

查看时间同步状态

[***@***~]# ntpstat
synchronised to local net (127.127.1.0) at stratum 6
   time correct to within 12 ms
   polling server every 64 s

客户端
安装ntp服务

[***@***~]# yum install ntp ntpdate -y

启动服务
#启动服务

[***@***~]# systemctl start ntpd   #或service ntpd start

同步时间服务器时间(内网)

[***@***~]# ntpdate -u 服务端ip   #后面ip表示时间服务器ip

同步时间服务器时间(公网)

[***@***~]# ntpdate -u pool.ntp.org 

查看状态

[***@***~]# ntpq -p  #如果没有指定任何关联服务器,就会返回No association ID's returned

在这里插入图片描述

remote:上层NTP服务器的IP或者主机名。
refid:它指的是给远程服务器(服务端ip地址)提供时间同步的服务器,本机上级的上级NTP服务器。
  为什么显示为LOCAL(0)?
    由于此处为内网环境,无法去外网公用的主机同步时间,因此我们在服务端设置的服务端自身作为时间服务器同时,使用server 127.127.1.0 prefer指名他的上级NTP为自身。
st:就是stratum层级。 类似于DNS,NTP是层级结构,有顶端的服务器,最多有15层。 为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器。
when:几秒之前同步过时间
poll:在过多长时间去同步时间。
reach:已经同步时间的次数
delay:网络传输过程中的延迟,单位是10的-6次方秒。
offset:时间修正值,这是个最关键的值, 它告诉了我们本地机和服务器之间的时间差别.。单位是10的-3次方。
jitter:linux系统时间(软件时间)与BIOS硬件时间的差异时间,单位是10的-6次方秒。在主机和NTP服务器同步时间欧,可以使用 hwclock -w将系统时间写入BIOS.

其它需求:
同时同步系统时间与硬件时间
将同步好的系统时间写入到硬件(BIOS)时间里

[***@***~]# vi /etc/sysconfig/ntpdate   #修改配置文件

在这里插入图片描述

把SYNC_HWCLOCK=no 改成SYNC_HWCLOCK=yes
就可以让硬件时间与系统时间一起同步。

设置定时任务
我采用是定时启动一个shell脚本,然后同步时间服务器的命令放到shell脚本中

 #在root目录下新建一个脚本文件
[***@***~]# touch  ntp.sh 

往ntp.sh脚本中加入下面一行命令跟一行注释

#同步时间服务器( pool.ntp.org一个公网时间服务器)
[***@***~]# ntpdate -u pool.ntp.org

最后加入定时任务中

[***@***~]# crontab -e  #编辑定时任务
#加入下面一行命令 ,表示每分钟同步一次
*/1 * * * * . /etc/profile;/bin/sh /ntp.sh1
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值