Linux 系统安装配置NTP时间服务器

Linux 系统安装配置NTP时间服务器

 

NTP(The Network Time Protocol) 是网络时间协议,用以同步网络内计算机的时间。 
它通过udp包交换,用特定算法进行协商,从而把计算机上的时间与时间服务器上的 
时间保持一致。通过互联网它支持的误差是10毫秒,局域网则可以达到200微秒。

NTP时间服务器分为多层,从0层到4层,每层依次与上一次服务器同步,最高层的服务器 
则直接连接一个高精度的时钟设备,比如原子钟、GPS或者电波时等。

自己搭建时间服务器需要指定一个上层的时间服务器,然后它可以向局域网内的其它机器 
提供同步服务。

详细信息可以见:

    http://en.wikipedia.org/wiki/Network_Time_Protocol

安装NTP Server


Linux系统内核提供了对NTP的支持,因此只需要再安装一个NTP Server的守护进程即可。 
常用的ntpd由ntp.org提供。

下载安装ntpd的稳定版本。目前是ntp-4.2.6p3. 
    
    http://www.ntp.org/downloads.html

示范脚本:: 
    
    wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p3.tar.gz 
    tar zxf ntp-4.2.6p3.tar.gz 
    mkdir /app/ntp 
    cd ntp-4.2.6p3 
    ./configure --prefix=/app/ntp --enable-all-clocks --enable-parse-clocks 
    make clean && make check && make && make intall 
    
注意:/app/ntp为ntpd的安装后文件路径

配置

1. 配置文件位置为:: 
    
    /etc/ntp.conf

2. 修改配置允许局域网内机器与该服务器进行时间同步。

    将下面语句::

        restrict default kod nomodify notrap nopeer noquery

    修改为:: 
        
        restrict default nomodify

3. 修改上一层的时间服务器。

    ntp.org现在提供NTP POOL PROJECT,即ntp 服务器池项目。在中国区域,配置如下即可::

        server 0.cn.pool.ntp.org 
    server 0.asia.pool.ntp.org 
    server 2.asia.pool.ntp.org

    其中0.cn 是中国服务器池,后面两个是亚洲的服务器池。 
    
    最新列表见: 
    
        http://www.pool.ntp.org/zone/cn

启动 NTP 服务器


进入ntpd安装后的路径,如/app/ntd, 启动参数如下::

    ./ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid -l /app/ntp/log/ntp.log

注意启动后需要等几分钟,否则其它机器来同步时会得到 
    
    no server suitable for synchronization found

的错误。

Linux客户端机器配置

客户端机器使用ntpdate 程序来执行同步。 格式如下:: 
    
    ntpdate  ntp-server-ip

如果需要配置计划任务,命令如下::

    # 查看是否已经添加时间同步的计划任务 
    cat /etc/crontab 
    
    # 如果没有则添加下列行,每30分钟同步一次: 
    echo '*/30 * * * * root /usr/sbin/ntpdate 10.20.219.43' >> /etc/crontab 
    
    # 将计划任务设为自动,默认是启动的【可选】 
    chkconfig crond on 
    
    # 启动计划任务服务 
    service crond restart

    # 有些机器需要设置时区为中国 
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

Windows客户端机器配置

微软从Windows 2000后支持NTP,由Win32 Time服务提供。

配置的命令行代码如下::

    rem : 将时间同步服务设为自动,默认被禁用 : 
    sc config W32Time start= AUTO 
    rem : 启动时间同步服务 : 
    net start W32Time 
    rem : 设置同步选项 , 10.20.222.2 为时间服务器ip  
    w32tm /config /syncfromflags:manual /manualpeerlist:10.20.222.2

    rem : 更新同步选项 : 
    w32tm /config /update 
    rem : 执行同步 : 
    w32tm /resync 

相关推荐