找回密码
 立即注册
搜索
查看: 150|回复: 3

[ZT]在局域网中设置Linux时间服务器并且与互联网上的时间服务器同步

[复制链接]

1084

主题

1万

回帖

1万

积分

论坛元老

积分
17945
发表于 2008-1-20 23:29:06 | 显示全部楼层 |阅读模式
  一 概述:
  本文主要目的是简单介绍如何在局域网上设置一台Linux时间服务器与互联网上的时间服务器同步并且如何使局域网上其它Linux及Windows客户向该Linux时间服务器同步。
  二 服务器设置
  首先说明我们如何设置LAN上的时间服务器同互联网上的第一或者第二级时间服务器同步来保证精确的时间。
  1. 如何让LAN的时间服务器(第三级)与互联网上的时间服务器(第一或者第二级)同步
  a. XNTP包,包含在大多数Linux CD里面。
  主页在http://www.eecis.udel.edu/~ntp/
  你只需要在/etc/ntp.conf中设置server和driftfile两项参数即可,server项你可以从上面的主页中找公共的时间服务器域名。例如
  server rackety.udel.edu
  server umd1.umd.edu
  server lilben.tn.cornell.edu
  driftfile /etc/ntp/drift
  然后启动XNTPD后台程序
  #/etc/rc.d/init.d/xntpd start
  b. "getdate",随Slackware而来的小程序,推荐使用,大多数时候,我们对时间的精确性要求不是非常的苛刻,所以这个程序完全够用而且很方便。
  下载***://metalab.unc.edu/pub/Linux/system/network/misc/getdate_rfc868-1.2.tar.gz
  然后设置下面的scripts 取名为/usr/local/sbin/get-date.sh
  #!/bin/sh
  timehosts="otc2.psu.edu wwvb.erg.sri.com ntp.nasa.gov"
  if /usr/local/bin/getdate -adjust 10 200 $timehosts > /dev/null; then
  /sbin/clock --systohc
  fi
  现在可以设置cronjob每小时进行同步
  0 0-23 * * * /usr/local/sbin/get-date.sh
  2. 如何使得LAN上其它linux/windows客户与该台服务器同步
  a. 如果该台时间服务器也是局域网上的Samba服务器,则对Windows来说,不需要安装任何时间同步软件,因为windows客户可以用
  net time \timeserver /set /yes来与之同步。可以放该命令在startup
  中自次启动windows时自动同步
  net time 命令利用Netbios over TCP/IP协议来同步时间
  但仅对Windows客户有效,Linux客户无法使用。
  b. 如果服务器运行NTP后台服务程序,例如前面讲的XNTPD,则对
  Windows:
  可以安装下面的两个免费软件与服务器同步
  http://home.att.net/~Tom.Horsley/ntptime.html (ntptime)
  单一的后台程序,自动寻找LAN上的NTP服务器,可在控制面板中设置同步条件
  http://nettime.sourceforge.net/ (Nettime)
  支持NTP(udp/123) , time(udp/37), time(tcp/37)
  Linux:
  则可以用ntpdate(随XNTPD而来)运行作为cronjob 与 该局域网上的时间服务器同步。
  c. 如果该台服务器使用getdate与互联网上时间服务器同步,则
  你可以设置/etc/inetd.conf,打开time udp和time tcp服务,让linux/windows客户与之同步。对windows,你可以使用象上面介绍的Nettime软件。
  对Linux客户,你可以用rdate -s 运行作为cronjob 与之同步
  time stream tcp nowait root internal
  time dgram udp wait.200 root internal
  Linux下的rdate -s 命令使用time (37/tcp) , Nettime 你可以指定37/tcp或者37/udp
  三 FAQ
  1. 怎样确定net time用的是Netbios over TCP/IP?
  在Samba服务器上运行tcpdump
  # /usr/sbin/tcpdump host 192.168.1.3
  (192.168.1.3是windows客户端的IP地址)
  2. 怎样确定windows NTP客户ntptime正在后台与Linux NTP时间服务器同步?
  在NTP服务器上运行
  # tcpdump udp port 123
  查看输出
  默认是每五分钟ntptime向NTP服务器查询一次,你可以从主页上下载控制面板中的控制条件设置程序
我的梦中情人 有一头乌黑亮丽的长发

1084

主题

1万

回帖

1万

积分

论坛元老

积分
17945
 楼主| 发表于 2008-1-20 23:30:04 | 显示全部楼层

还有一篇

当计算机连接到了Internet之后,那么就能同Internet上存在的很多时间服务器通信,以获得精确的时间。TCP/IP协议中,用于同步时间的协议为ntp协议,在Internet上提供ntp服务的站点有clepsydra.dec.com 、 ben.cs.wisc.edu、truechimer.waikato. ac.nz 等,虽然ntp协议本身考虑了网络延迟,然而网络延迟毕竟会对时间的精确性造成影响,因此应该选用一个离本地计算机最近的时间服务器。

  使用/stand/sysinstall也能设定时间同步,可以根据地域来选择合适的时间服务器,然而由于网络连接并不一定和地域相一致,因此不能完全根据地域的远近来选择时间服务器。

  使用ntp协议更新自己计算机上的时间的一个简单的应用程序为ntpdate,同样这也需要使用root权限执行:

  # ntpdate clepsydra.dec.com

  10 Apr 19:26:49 ntpdate: step time server 204.123.2.5 offset 517.837146

  ntpdate运行过之后就退出了,为了保持时间的正确性,就要每隔一段时间自动进行时间同步,可以将ntpdate 放入cron中,每隔一段时间就执行一次。然而系统提供了另一个守护进程,xntpd,能够自动周期进行时间同步的工作,这更为适合与Internet有永久连接的计算机。为了运行xntpd守护进程,首先要创建/etc/ntp.conf 文件,其中应包括时间服务器的名字和一个临时文件名。

  server clepsydra.dec.com

  driftfile /etc/ntp.drift

  然后就需要运行这个守护进程,进行时间同步。

  # xntpd -c /etc/ntp.conf -p /var/run/xntpd.pid

  其中-c参数指定了ntp.conf作配置文件,用xntpd.pid记录xntpd的进程标识序号。 ntpdate和xntpd都可以通过更改rc.conf中的选项,在启动时自动执行。

  xntpd_enable="YES" # Run xntpd Network Time Protocol (or NO).

  xntpd_program="xntpd" # path to xntpd, if you want a different one.

  xntpd_flags="-c /etc/ntp.conf -p /var/run/xntpd.pid" # Flags to xntpd (if e nabled).

  如果要想让本地网络上的多台计算机都进行时间同步,那么每个计算机都与外部时间服务器连接的方法并不是一个好主意。更好的想法是使用一个计算机与外部时间服务器同步,那么它的时间就成为了标准时间,可以用作本地时间服务器,而其他计算机与这台本地时间服务器同步就可以了。xntpd就是设计为这个目的,它能够用作提供时间的 ntp服务器。用作时间服务器的xntpd的配置文件应该为:

  server clepsydra.dec.com

  driftfile /etc/ntp.drift

  broadcast 192.168.1.255

  其中增加了一项广播地址:192.168.1.255,定期向局域网上的其他计算机广播正确的时间。这个广播地址要根据自己的网络进行修改,或者使用对应于NTP协议的D类组播(multicast)网址224.0.1.1,但用户的网络必须支持组播能力。由于使用了广播或组播,这样网络内的其他计算机可以不配置ntp.conf,直接启动 xntpd,xntpd就能通过听服务器的广播信息来得到精确的时间。当然也可以不设定广播地址,而配置每个计算机中的ntp.conf文件,指定所有的计算机都访问这台时间服务器。
我的梦中情人 有一头乌黑亮丽的长发
回复

使用道具 举报

19

主题

437

回帖

432

积分

中级会员

积分
432
发表于 2008-1-23 09:29:37 | 显示全部楼层
谢谢,正需要
回复

使用道具 举报

0

主题

175

回帖

231

积分

海星

积分
231
发表于 2008-1-23 14:00:09 | 显示全部楼层
不错 收下了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-20 10:54 , Processed in 0.081770 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表