配置Linux异构网络下的ntp时间服务器

来源:互联网 发布:python输入输出函数 编辑:程序博客网 时间:2024/05/16 00:29

http://www.time.edu.cn/mem.htm

http://ntp.buptnet.edu.cn/ntp_chinese/

一、1. 软件下载安装
以源代码为例
#/tmp/wget http://ntp.buptnet.edu.cn/ntp_chinese/down/server/ntp-4.2.0.tar.gz
# tar -zxvf ntp-4.2.0.tar.gz –C /usr/local/src;cd /usr/local/src/ntp-4.2.0
 
2. 开始设定参数、编译与安装:

#./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make clean ; make
make check
make install

安装完成。

二、理解NTP服务的配置文件
1.NTP软件包的结构和相关命令
NTP服务的配置文件包括四个文件如表2 。

搭建NTP服务器
表2 NTP服务的配置文件

与 NTP 及系统时间有关的执行文件包括几个文件如表3 。
搭建NTP服务器
表3 与 NTP 及系统时间有关的执行文件
说明:Linux 时钟类型在分类和设置上却和Windows大相径庭。和 Windows不同的是,Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种。系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”项中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

2.理解NTP服务端的设置文件/etc/ntp.conf

关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,格式如下:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制。

用server这个参数设定上级时间服务器,格式如下:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

driftfile格式如下:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。

3.ntp.conf配置文件实例:

? 以互联网的时间服务器为时间服务器的时钟
设置要求:以time.nist.gov 为时间服务器,在ntp.conf中增加以下内容:
restrict default ignore # 关闭所有的 NTP 要求封包
restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify
server time.nist.gov #设置时间服务器
server 127.127.1.1 #开启内部递归网络接口 lo
fudge 127.127.1.1 stratum 10 refid NIST # LCL 不同步
driftfile /etc/ntp.drift
logfile /var/log/ntp.log
Broadcastdelay 0.008 #广播延迟时间#

以内部ntp服务器为数据服务器时钟
设置要求:不对 Internet 提供服务,仅对内部子网 192.168.0.0/24 提供服务,内部子网的客户端不能修改NTP服务器的时间参数。
在ntp.conf中增加以下内容:

restrict default ignore # 关闭所有的 NTP 要求封包
restrict 127.0.0.1   # 开启内部递归网络接口 lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。
server 198.123.30.132 #198.123.30.132作为上级时间服务器参考
restrict 198.123.30.132 #开放server 访问我们ntp服务的权限
driftfile /var/lib/ntp/drift
broadcastdelay 0.008 #广播延迟时间#

4.其他设置工作:
? 保存退出后。启动NTP服务service ntpd start

? 如果想每次系统启动,NTP服务自动启动,请输入下面命令:
chkconfig -level 35 ntpd on

? 打开iptables防火墙123端口
NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口。方法如下,使用以下规则:
#/sbin/iptables -A INPUT -p UDP -i eth0 -s 192.168.0.0/24 \
> --dport 123 -j ACCEPT
注意:Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件。

5.查看ntp服务器工作情况
通常我们使用命令查看123端口和ntp系统进程判断ntp服务器是否工作正常。
命令如下:
netstat -unl | grep 123 #查看123端口,操作结果如图1

搭建NTP服务器
图1 使用命令查看123端口

ps -ef|grep ntp #查看ntp进程是否启动,操作结果如图2

搭建NTP服务器
图2 使用命令查看ntp系统进程

6.监控ntp服务器
ntpq用来监视ntpd操作,使用标准的NTP模式6控制消息模式,并与NTP服务器通信。
ntpq -p查询网络中的NTP服务器,同时显示客户端和每个服务器的关系,
例如: 执行命令: ntpq –p后,输出结果为:
ntpq -p
remote refid st t when poll reach delay offset jitter
=================================
*time-A.timefreq .ACTS. 1 u 152 1024 377 43.527 -11.093 3.982
+clock.isc.org 204.123.2.5 2 u 230 1024 377 67.958 -7.729 0.071
time-a.nist.gov .ACTS. 1 u 323 1024 377 58.705 994.866 999.084
“* ”:响应的NTP服务器和最精确的服务器。 “+”:响应这个查询请求的NTP服务器。 “blank(空格)”:没有响应的NTP服务器。 “remote” :响应这个请求的NTP服务器的名称。 “refid ”:NTP服务器使用的更高一级服务器的名称。 “st”:正在响应请求的NTP服务器的级别。 “when”:上一次成功请求之后到现在的秒数。 “poll”:当前的请求的时钟间隔的秒数。 “offset”:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。

三、Linux NTP客户端的使用

1.Linux系统使用命令行配置:
在Linux 上面进行网络校时非常简单,执行 ntpdate 即可:
ntpdate 192.168.0.1 #192.168.0.1是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock -w
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP服务器的IP地址
然后重启crond服务
service crond restart
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

2. 桌面环境下配置方法

可以使用图形化的时钟设置工具,如RHEL 4.0中的日期与时间设置工具,也可以在虚拟终端中键“redhat-config-time”命令,或者选择“K选单/系统设置/日期与时间”来启动日期时间设置工具。使用该工具不必考虑系统时间和硬件时间,只需从该对话框中设置日期时间,可同时设置、修改系统时钟和硬件时钟。如图3 。

搭建NTP服务器
图3 使用图形化的时钟设置工具

四.NTP server的维护

----添加为服务
chkconfig --level 345 ntpd on

----启动
service ntpd start

/etc/rc.d/init.d/ntpd start
----停止
service ntpd stop

/etc/rc.d/init.d/ntpd stop
----管理命令
ntpq –p #查看本机和上层服务器的时间同步结果
ntptrace #可以用來追踪某台时间服务器的时间对应关系
ntpdate IP #客户端要和NTP server进行时钟同步。
/var/log/ntp/ntp.log #查看ntp日志


五、配置客户端
1.LINUX客户端: (局域网内对时间有要求的机器)
echo “00 */1 * * * root /usr/sbin/ntpdate 192.168.0.240;/sbin/hwclock -w”>>/etc/crontab
每小时同NTP server进行一次时钟同步,并写入本机BIOS

2.Solaris客户端:
echo “15 5 * * * /usr/sbin/ntpdate 192.168.0.240”>>/etc/crontab

 

 

WINDOWS 做NTP服务器

找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路
首先在http://www.meinberg.de/english/sw/index.htm
下载了一个windows的NTP服务程序:ntp4171.zip
windows 192.168.1.32
1.安装是提示设置服务器地址,我设置的本机widows机器的IP
2.ntpd的控制在:
   控制面板->;管理工具->;组件服务-NetworkTimeProtocol
3.可以启动ntpd守护进程保持时间同步
4.在C:\WINNT目录下有个ntp的配置文件ntp.conf
  设置为:
   server   127.127.1.0   prefer
   fudge    127.127.1.0   stratum   10
5.确定ntp是否工作: ntpq -p


 
http://www.cnblogs.com/diyunpeng/archive/2011/05/26/2059339.html
0 0
原创粉丝点击