linux NTP配置方法.docx
《linux NTP配置方法.docx》由会员分享,可在线阅读,更多相关《linux NTP配置方法.docx(11页珍藏版)》请在冰点文库上搜索。
![linux NTP配置方法.docx](https://file1.bingdoc.com/fileroot1/2023-6/1/8640f526-c168-4262-a6eb-308f15ddc318/8640f526-c168-4262-a6eb-308f15ddc3181.gif)
linuxNTP配置方法
LinuxNTP配置方法
一、 配置Linux异构网络下的ntp时间服务器
1. 软件下载安装
以源代码为例
#/tmp/wget
#tar-zxvfntp-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
makeclean;make
makecheck
makeinstall
安装完成。
注:
其实在我们安装Linux系统的时候,已经自带了ntp软件包,
我们可以通过rpm-qntp命令来查询
例如:
[root@Oracle~]#rpm-qntp
ntp-4.2.0.a.20040617-4.EL4.1
二、理解NTP服务的配置文件
1.NTP软件包的结构和相关命令
NTP服务的配置文件包括四个文件如表2。
表2NTP服务的配置文件
与NTP及系统时间有关的执行文件包括几个文件如表3。
表3与NTP及系统时间有关的执行文件
说明:
Linux时钟类型在分类和设置上却和Windows大相径庭。
和Windows不同的是,Linux将时钟分为系统时钟(SystemClock)和硬件(RealTimeClock,简称RTC)时钟两种。
系统时间是指当前LinuxKernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“StandardBIOSFeture”项中进行设置。
当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
2.理解NTP服务端的设置文件/etc/ntp.conf
关于权限设定部分
权限的设定主要以restrict这个参数来设定,格式如下:
restrictIP地址mask子网掩码参数
其中IP可以是IP地址,也可以是default,default就是指所有的IP
参数有以下几个:
ignore :
关闭所有的NTP联机服务
nomodify:
客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust:
客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery:
不提供客户端的时间查询
注意:
如果参数没有设定,那就表示该IP(或子网)没有任何限制。
用server这个参数设定上级时间服务器,格式如下:
serverIP地址或域名[prefer]
IP地址或域名就是我们指定的上级时间服务器,如果Server参数最后加上prefer,表示我们的NTP服务器主要以该部主机时间进行校准。
driftfile格式如下:
driftfile文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意:
driftfile后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成ntpd守护进程可以写入。
3.ntp.conf配置文件实例:
以互联网的时间服务器为时间服务器的时钟
设置要求:
以time.nist.gov为时间服务器,在ntp.conf中增加以下内容:
restrictdefaultignore #关闭所有的NTP要求封包
restrict192.168.1.0mask255.255.255.0notrapnomodify
servertime.nist.gov #设置时间服务器
server127.127.1.1 #开启内部递归网络接口lo
fudge 127.127.1.1stratum10refidNIST #LCL不同步
driftfile/etc/ntp.drift
logfile /var/log/ntp.log
Broadcastdelay 0.008#广播延迟时间#
以内部ntp服务器为数据服务器时钟
设置要求:
不对Internet提供服务,仅对内部子网192.168.0.0/24提供服务,内部子网的客户端不能修改NTP服务器的时间参数。
在ntp.conf中增加以下内容:
restrictdefaultignore #关闭所有的NTP要求封包
restrict127.0.0.1 #开启内部递归网络接口lo
restrict192.168.0.0mask255.255.255.0nomodify#在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。
server198.123.30.132 #198.123.30.132作为上级时间服务器参考
restrict198.123.30.132#开放server访问我们ntp服务的权限
driftfile/var/lib/ntp/drift
broadcastdelay 0.008#广播延迟时间#
4.其他设置工作:
保存退出后。
启动NTP服务servicentpdstart
如果想每次系统启动,NTP服务自动启动,请输入下面命令:
#/sbin/chkconfig --add ntpd
#/sbin/chkconfig --level 234 ntpd on //配置在开机时运行
打开iptables防火墙123端口
NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp123这个端口。
方法如下,使用以下规则:
#/sbin/iptables-AINPUT-pUDP-ieth0-s192.168.0.0/24 \
>--dport123-jACCEPT
注意:
Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件。
5.查看ntp服务器工作情况
通常我们使用命令查看123端口和ntp系统进程判断ntp服务器是否工作正常。
命令如下:
netstat-unl|grep123#查看123端口,操作结果如图1
图1使用命令查看123端口
ps-ef|grepntp#查看ntp进程是否启动,操作结果如图2
图2使用命令查看ntp系统进程
6.监控ntp服务器
ntpq用来监视ntpd操作,使用标准的NTP模式6控制消息模式,并与NTP服务器通信。
ntpq-p查询网络中的NTP服务器,同时显示客户端和每个服务器的关系,
例如:
执行命令:
ntpq–p后,输出结果为:
ntpq-p
remote refid sttwhenpollreach delay offset jitter
=================================
*time-A.timefreq.ACTS. 1u 1521024 377 43.527 -11.093 3.982
+clock.isc.org 204.123.2.5 2u 2301024 377 67.958 -7.729 0.071
time-a.nist.gov.ACTS. 1u 3231024 377 58.705 994.866999.084
“*”:
响应的NTP服务器和最精确的服务器。
“+”:
响应这个查询请求的NTP服务器。
“blank(空格)”:
没有响应的NTP服务器。
“remote”:
响应这个请求的NTP服务器的名称。
“refid”:
NTP服务器使用的更高一级服务器的名称。
“st”:
正在响应请求的NTP服务器的级别。
“when”:
上一次成功请求之后到现在的秒数。
“poll”:
当前的请求的时钟间隔的秒数。
“offset”:
主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。
三、LinuxNTP客户端的使用
1.Linux系统使用命令行配置:
在Linux上面进行网络校时非常简单,执行ntpdate即可:
ntpdate192.168.0.1#192.168.0.1是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock-w
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑/etc/crontab文件
加入下面一行:
308***root/usr/sbin/ntpdate192.168.0.1;/sbin/hwclock-w#192.168.0.1是NTP服务器的IP地址
然后重启crond服务
servicecrondrestart
这样,每天8:
30Linux系统就会自动的进行网络时间校准。
2. 桌面环境下配置方法
可以使用图形化的时钟设置工具,如RHEL4.0中的日期与时间设置工具,也可以在虚拟终端中键“redhat-config-time”命令,或者选择“K选单/系统设置/日期与时间”来启动日期时间设置工具。
使用该工具不必考虑系统时间和硬件时间,只需从该对话框中设置日期时间,可同时设置、修改系统时钟和硬件时钟。
如图3。
图3使用图形化的时钟设置工具
四.WindowsXP、2003、2000系统使用NTP进行时间校准:
利用操作系统提供的校时服务(WindowsXP、Windows2003适用):
1、 双击任务栏右下角“时间”,打开[时间和日期属性]设置对话框,如图4。
图4打开[时间和日期属性]设置对话框
2、 选择[Internet时间]标签,选中[自动与Internet时间服务器同步]选项,在[服务器]中填入时间服务器的ip地址或者域名。
点击[应用]并按[立即更新]可直接同步。
如图5。
图5进行时间同步
利用操作系统提供的校时服务(Windows2000适用):
1、 在[控制面板]中打开[管理工具],再打开[服务],在服务中找到[WindowsTime]
2、 双击服务名称,在打开的“WindowsTime的属性”中设置“启动类型”为“自动”,再按下启动按钮。
如图6。
图6选择WindowsTime的属性为自动启动
3、 然后切换到命令行下在DOS命令行下让Windows使用时间服务器:
nettime/setsntp:
xxx.xxx.xxx.xxx(时间服务器域名或者ip地址)
要想立刻与时间服务器同步需要重启时间服务,相应的命令是:
netstopw32time
netstartw32time
图7通过命令行实现时间同步
以后你的机器就会有一个准确的时间。
说明:
W32tm.exe是用来同步本地计算机与远程计算机或域的时间的类似命令。
由于其灵活性,W32tm.exe是时间同步的首选方法。
默认情况下Windows2000的时间服务w32time是关闭的。
Windows包含W32Time,它是Kerberos身份验证协议所需的时间服务工具。
Windows时间服务的目的是确保组织中运行MicrosoftWindows2000或更高版本的所有计算机都使用同一个时间。
五、windows98/me/NT客户端使用工具软件Automachron实现时间同步
Windows98/nt可以使用Automachron软件:
1.下载achron5,链接:
ftp:
//
2.安装软件;
3.运行:
程序-->Automachron-->Automachron;
4.右键单击任务栏右下脚选取Automachron图标-->Properties-->Host-->NetworkHost;
填入,Syncatstartup前复选框打勾,Runatstartup前复选框打勾
系统每次启动后均会自动同步时间,如需手动同步,点击Sync按钮即可,如图8。
图8使用工具软件Automachron实现时间同步