如何搭建NTP服务

最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名、IP管理,NTP用于时间同步。其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律。用得越频,自然就越娴熟。少用甚而不用,慢慢就淡忘了。以至于哪天要用起来的时候,会茫茫然不知而从。虽说网上的相关资料汗牛充栋,但难保良莠不齐。在搜索辨别的过程中,自然会花费不少时间。现在记录一下,一来整理思路,二则以备不时之需。毕竟,自己写的,再次看的时候,会更容易上手。

实验环境:

node1.being.com  192.168.1.130  -->>NTP服务器

node2.being.com  192.168.1.131  -->>客户端

一、在node1上编辑NTP配置文件

     1.  [root@node1 ~]# vim /etc/ntp.conf      

restrict default kod nomodify notrap nopeer noquery   --拒绝IPv4的用户
restrict -6 default kod nomodify notrap nopeer noquery --拒绝IPv6的用户
 
restrict 127.0.0.1  --这两个是默认值,放行本机来源
restrict -6 ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap   --允许192.168.1.0这个网段的主机通过本机进行网络校时
#restrict default  nomodify notrap --注意:为了方便,可设置为default,即允许所有IP通过本机进行网络校时
server 0.rhel.pool.ntp.org --设置主机来源,即node1通过0.rhel.pool.ntp.org进行网络校对 server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org

     其中,nomodify:客户端不能使用ntpc与ntpq这两个程序来修改服务器的时间参数,但客户端仍可通过这部主机来进行网络校时

             notrap: 不提供trap这个远程事件登陆的功能

             noquery: 客户端不能够使用ntpc、ntpd等命令来查询时间服务器,等于不提供NTP的网络校时。注意:如果需要提供NTP服务的话,则这个参数切记不要。

      如果IP后面没有任何参数,则表示“该IP或网段不受任何限制”

    2.  重启服务

         [root@node1 ~]# /etc/init.d/ntpd restart

二、在node2上进行验证

      [root@node2 oracle]# ntpdate -d 192.168.1.130   --注意,通常需要5分钟才会和ntp服务器顺利连接上

      24 Mar 21:18:02 ntpdate[1382]: no server suitable for synchronization found

      用 ntpdate -d 192.168.1.130 进行查看,发现Server dropped: strata too high且stratum 16,而正常情况下,stratum最多可达15个阶层。

      这表示NTP Server还没有和它自身或者它的上一层Server同步上。

三、在node1的/etc/ntp.conf添加以下参数

server 127.127.1.0
fudge  127.127.1.0 stratum 10

      以上定义是让NTP Server和其自身保持同步,如果在/etc/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

      重启ntp服务,用以下命令进行验证

      [root@node1 ~]# ntpq -p   -->> 显示local即ok

      remote refid st t when poll reach delay offset jitter
      ==============================================================================
     *LOCAL(0) .LOCL. 10 l 44 64 377 0.000 0.000 0.000

四、在客户端进行配置

      这时,有两种方法实现时间同步。

      1. 用ntpdate并采用crontab

         [root@node1 ~]# vim /etc/crontab 

         0 1 *  *  *  root (/usr/sbin/ntpdate 192.168.1.130 && /sbin/hwclock -w) &> /dev/null

       2. 采用ntp服务

         [root@node2 ~]# vim /etc/ntp.conf               

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.1.130    -->>这一项非必须的,在客户端,只指定server即可。

server 192.168.1.130
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org

         重启服务,此时大功告成,主要障碍还是在第二步客户端用ntpdate同步服务端的时候,报no server suitable的错误。

他山之石,可以攻玉。老实说,这个问题的解决主要参考了以下两位作者的博客以及《鸟哥的Linux私房菜-服务器架构篇》。在此一并谢过!

http://hi.baidu.com/d_life/item/3d5a081935834708e65c3697

http://blog.youkuaiyun.com/suer0101/article/details/7868813

 

### 如何在 Linux 上搭建 NTP 服务器 #### 安装 NTP 软件包 为了在 Linux 系统上搭建 NTP 服务器,首先需要安装 NTP 软件包。对于基于 RedHat 的系统(如 CentOS 或 RHEL),可以通过 `yum` 命令完成安装[^2]: ```bash yum -y install ntp ``` 需要注意的是,在某些版本中可能已经停止了默认的 Yum 源支持,因此建议替换为更稳定的第三方源,例如阿里云镜像源。 #### 启动并启用 NTP 服务 安装完成后,启动 NTP 服务并将该服务设置为随操作系统启动时自动运行: ```bash systemctl start ntpd systemctl enable ntpd ``` 这一步确保了即使系统重启后,NTP 时间同步功能仍然保持有效[^2]。 #### 配置防火墙规则 由于 NTP 使用 UDP 协议并通过端口号 123 进行通信,所以需要调整系统的防火墙策略以允许外部设备访问本地的时间服务: ```bash firewall-cmd --add-port=123/udp --permanent firewall-cmd --reload ``` 上述命令永久开放了必要的端口,并重新加载了防火墙配置文件使其生效。 #### 编辑 NTP 配置文件 主要的配置工作集中在 `/etc/ntp.conf` 文件里。打开这个文件进行修改,添加所需的上游时间服务器地址以及定义哪些子网内的主机能够利用本机作为其时间源之一: ```bash vi /etc/ntp.conf ``` 以下是推荐的一个基本配置片段示例: ```plaintext server ntp1.aliyun.com iburst prefer # 设置首选时间服务器 server time1.aliyun.com iburst # 备选时间服务器 restrict default kod nomodify notrap nopeer noquery # 默认限制所有未授权访问行为 restrict 127.0.0.1 # 允许来自 localhost 的完全控制权限 restrict ::1 # IPv6 下同样赋予 loopback 接口最高特权 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # 只读模式下允许可信内部网络范围 ``` 这里的关键字解释如下: - **iburst**: 加速初次连接期间的时间同步过程; - **prefer**: 当存在多个候选时间源时优先选用标注为此选项的那个; - **minpoll/maxpoll**: 控制轮询频率,平衡负载与精度需求间的关系;[^3] 最后保存更改退出编辑器即可。 #### 测试和服务状态监控 确认一切正常之后,可以执行以下指令查看当前正在使用的上级时间服务器列表及其质量指标: ```bash ntpq -p ``` 同时也可以借助其他工具比如 chronyc 来进一步分析性能表现等方面的信息。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值