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 

posted @ 2011-03-13 23:00 林杰的博客 阅读(...) 评论(...) 编辑 收藏