如何在 CentOS 中设置 NTP 服务器
背景
当服务器多了,时间准确与否,一致与否是个大问题。虽然这个问题总是被忽略,但是统一一致的时间是很有必要的。下面说一下在局域网内配置Linux时间服务器的方法。
配置的环境及要求:
1假设在19216800网段内,要以IP为1921680240的Linux机器时间服务器。
21921680240服务器能上外网,能与比较权威的公网时间服务器同步
3同网段内的其他机器每小时自动向1921680240同步时间
一、安装
yum -y install ntp ntpdate二、配置
21NTP server的主配置文件为/etc/ntpconf 现对/etc/ntpconf的各项进行说明
cp /etc/ntpconf /etc/ntpconfbakvim /etc/ntpconf
2
vi /etc/ntpconf(以下是ntpconf文件的内容)
#设置此服务器同上层服务器做时间同步的IP地址,prefer意味着首选IP地址
#经试验,下面的几个时间服务器速度还不错(默认配置即可)
server 2107214544 prefer
server 2182113042
server 0asiapoolntporg
server 1asiapoolntporg
server 2asiapoolntporg
#记录上次的NTP server与上层NTP server联接所花费的时间
driftfile /etc/ntp/drift
#设置默认策略为允许任何主机进行时间同步
restrict default ignore
#设置允许访问此时间服务器的时间服务的IP地址
#根据自己实际情况配置
restrict 127001
restrict 192168102 # 指定某台机器时间同步
restrict 19216800 mask 2552552550 #允许19216800/254子网内主机时间同步
restrict 0000 mask 0000 nomodify notrap #允许任何主机跟进行时间同步
#指定阶层编号为10,降低其优先度。
fudge 12712711 stratum 10
#设置ntp日志的path
statsdir /var/log/ntp/
#设置ntp日志文件
logfile /var/log/ntp/ntplog
三、维护
----添加为服务
chkconfig --level 345 ntpd on----启动
service ntpd start或
/etc/rcd/initd/ntpd start----停止
service ntpd stop或
/etc/rcd/initd/ntpd stop----管理命令
ntpq –p#查看本机和上层服务器的时间同步结果
ntptrace#可以用来追踪某台时间服务器的时间对应关系
ntpdate IP#客户端要和NTP server进行时钟同步。
/var/log/ntp/ntplog#查看ntp日志
----------------------------------
开启防火墙端口
iptables -A INPUT -p udp -dport 123 -j ACCEPT/etc/initd/iptables save
service iptables restart
四、配置客户端
测试同步:
ntpdate ip地址
设置自动同步:
echo “00 /1 root /usr/sbin/ntpdate 1921680240;/sbin/hwclock -w”>>/etc/crontab每小时同NTP server进行一次时钟同步,并写入本机BIOS
Windows(2003)下配置NTP时间服务器
一、服务端设置:
因为默认情况下,WINDOWS SERVER 2003 是作为NTP客户端工作的 ,所以必须通过修改注册表,以使系统作为NTP服务器运行。注意,工作之前请先备份注册表文件。
1、通过开始菜单,输入regedit命令后打开注册表设定画面,此时请一定备份注册表文件。
2、修改以下选项的键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpServer内的「Enabled」设定为1,打开NTP服务器功能
3、修改以下键值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
AnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。
4、在dos命令行执行以下命令,确保以上修改起作用
net stop w32time
net start w32time
推荐计划;如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「enable」设定为0 以防止作为客户端自动同步外界的时间服务
二、客户设置:
1、指定主时间服务器。在DOS方式输入“net time /setsntp:ntpsjtueducn”,这里我们指定ntpsjtueducn是主时间服务器,也可以是其它地址(2107214544)。
2、自由设定XP时间同步间隔:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient的「SpecialPollInterval」默认设定为604800(或86400)
PS:
对话框中的“基数栏”选择到“十进制”上,显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的如果您想让WINODWS以多长时间自动对时,只要按这个公式算出具体的秒数
1、首先使用组合键WIN + R 启动运行窗口,在打开的窗口中输入regedit,点击确定按钮。
2、输入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,找到Config目录,双击Config目录下的AnnounceFlags。
3、把注册表项的值设定为5,点击确定按钮。
4、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Services\W32Time\Time\NtpServer,再输入注册表路径,双击NtpServer下的Enabled文件。
5、把Enabled的值设定为1,点击确定按钮。
6、然后打开命令提示符窗口,输入net stop w32time停止服务,再输入net start w32time启动服务。
7、输入命令w32tm /stripchart /computer:127001,有时间回显说明配置成功了。
NTP(Network Time Protocol,网络时间协议)是基于RFC1305的协议,是一个跨越广域网或局域网的复杂的同步时间协议。一般情况下建议配置在路由器上,当然配置在其它设备上都是可以的。接下来我们根据下面的拓扑图来看一下在路由器上配置NTP服务器的方法以及交换机、windows服务器、Linux服务器如何设置NTP客户端。拓扑如下:
路由器NTPserver上配置如下:
R1>en
R1#conf t
Enter configuration commands, one per line End with CNTL/Z
R1(config)#hostname NTPserver
NTPserver(config)#no ip do lo
NTPserver(config)#line con 0
NTPserver(config-line)#exec-t 0 0
NTPserver(config-line)#logg syn
NTPserver(config-line)#exit
NTPserver(config)#int e0/1
NTPserver(config-if)#int e0/0
NTPserver(config-if)#exi
NTPserver(config)#int e0/0
NTPserver(config-if)#ip ad 19216811 2552552550
NTPserver(config-if)#no shut
NTPserver(config-if)#
Mar 1 00:02:39959: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up
Mar 1 00:02:40959: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up
NTPserver(config-if)#clock time
NTPserver(config-if)#do wr
Building configuration
[OK]
NTPserver(config-if)#exit
NTPserver(config)#cloc
NTPserver(config)#clock time
NTPserver(config)#clock timezone peking +8
NTPserver(config)#
Mar 1 00:03:27019: %SYS-6-CLOCKUPDATE: System clock has been updated from 00:03:27 UTC Fri Mar 1 2002 to 08:03:27 peking Fri Mar 1 2002, configured from console by console
NTPserver(config)#exit
NTPserver#
Mar 1 00:04:02975: %SYS-5-CONFIG_I: Configured from console by console
NTPserver#cloc
NTPserver#clock set 12:02:20 6 Aug 2012
NTPserver#
Aug 6 04:02:20003: %SYS-6-CLOCKUPDATE: System clock has been updated from 08:04:45 peking Fri Mar 1 2002 to 12:02:20 peking Mon Aug 6 2012, configured from console by console
NTPserver#conf t
Enter configuration commands, one per line End with CNTL/Z
NTPserver(config)#ntp master
0条评论