现在的位置: 首页 > 综合 > 正文

Linux下局域网同步时间

2017年12月03日 ⁄ 综合 ⁄ 共 911字 ⁄ 字号 评论关闭
  1. 选择一台能上外网的机器作为时间服务器(都不能上亦可以,任选一台即可,但是只能保证局域网内时间同步)
  2. 配置此时间服务器
    • 安装 ntp
    • 在 /etc/ntp.conf 中配置
      • restrict 127.0.0.1 //给予本机所有权限
        restrict -6 ::1 //不大明白,针对IPV6吗?
        restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap //给局域网内主机同步时间的权限,但不允许修改时间服务器的时间
        server 0.rhel.pool.ntp.org //时间服务器,下同
        server 1.rhel.pool.ntp.org
        server 2.rhel.pool.ntp.org
      • 其余采用默认的配置即可
  3. 配置局域网内机器
    • 安装 ntp
    • 在 /ect/ntp.conf 中配置
      • 注释掉原来的外网时间服务器,添加内网时间服务器:

        • server 192.168.1.100 //修改为你内网时间服务器的IP
    • 设置计划任务,每小时同步一次:
      • vi /etc/cron.hourly/ntpdatehourly.sh
        添加如下内容:
        #!/bin/sh 
        ntpdate 192.168.1.100
    • 停掉 ntpd 服务:service ntpd stop
    • 手动同步时间,在各个节点上执行: ntpdate 192.168.1.100

  • 在上基础上设置间隔任意时间同步的方法:

    • vi /etc/crontab,如下截图:

    • 从上图可以看到定时任务指令编写的大致要求
    • 我们可以用 crontab -e 添加一个新的定时任务,在弹出的新文件编辑框中输入:
      • */15 * * * * ntpdate 192.168.1.100
    • 然后保存退出,会提示增加了一个新任务(上面这个任务代表“没间隔15分钟向时间服务器192.168.1.100同步一次时间”)
    • 可以用指令 crontab -u root -l 查看 root 用户的定时任务
  • Linux下的定时任务还是蛮有用的东西的,详细讲解见我的另一篇博客:点击这儿

  • 显然无论采用哪种方式定期同步时间,除了时间服务器其余节点上的 ntpd 服务都是必须停掉的
  • 如果你感觉你的一切配置都是没问题的,但是时间还是无法同步的话,那么请关注一下你的防火墙设置,即:service iptables
  • 抱歉!评论已关闭.