源码包安装ntp后找不到etcntp.conf配置文件
NTP服务器在我这里,我想做客户端连接,但是当我通过终端想打开etc/ntpconf时,提示我没有权限!
找到文件能打开,但是是只读的,不能修改,恳请高人指点如何修改这个文件。
三、什么是NTP
为了实现时间同步,我们就需要用户NTP(Network Time Protocol)这个协议。如图1所示。简单地说,NTP是用来使系统和一个精确的时间源保持时间同步的协议。笔者建议管理员最好在自己管理的网络中建立至少一台时间服务器来同步本地时间。
如 果在一个公司的局域网中,如果让每个员工通过手动的方式每隔一段时间去校准时间,不但不利于管理,而且校准目标时间源也不一定准确。公司局域网络中不同计 算机的时间偏差尤其是客户机/服务器之间的时间偏差,就会对一些要求时间同步的服务产生影响。比如,为了管理方便,服务器设置了一到下班时间便 账号过期,用户无法访问Internet网络。而如果你的电脑时间与服务器的时间不同步,当你为你下班时间未到,正准备发送邮件时,或许在服务器的时间 上,你的账号便过期了,从而导到无法发送邮件。解决这种问题的方法很简单,就是建立一个能提供精确时间的服务器,局域网内的所有电脑统一通过这台时间服务 器进行时间同步、校准。
四、NTP服务器安装
现在,我们就来介绍一下,如何在Linux系统下,建立一个NTP服务器吧。在本文中,我们采用的是Fedora 2操作系统作为例子 (其它版本Linux也可以,系统的配置类似)。
使用 RPM 安装
首先输入如下指令
rpm -q ntp
查询本机是否安装了NTP软件包。如果没有安装的话,找到您的 Linux 的安装光盘,mount 上后,查找以NTP开头的软件包名,然后安装上去,就可以了!
rpm –ivh ntp-412-5i386rpm
五、NTP服务的设置
1.NTP软件包的结构
NTP服务的配置文件:
/etc/ntpconf :这个是 NTP 服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同!
与NTP服务有关的Linux 系统文件及目录:
/usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。
/etc /sysconfig/clock:这个文件是Linux 的主要时区设定文件。每次启动后,Linux 会自动读取这个文件来设定系统预设要显示的时间!比如这个文件内容为“ZONE=Asia/Shanghai”,这表示我们的时间设定使用 /usr/share/zoneinfo/Asia/Shanghai 这个文件!
/etc/localtime:这个文件是本地系 统的时间设定文件! 假设clock 文件里面规定了使用的时间设定文件为 /usr/share/zoneinfo/Asia/Shanghai, Linux 系统就会将 Shanghai那个文件复制一份为 /etc/localtime ,所以系统的时间显示就会以 Shanghai 那个时间设定文件为准。假设这台主机到了美国纽约,您只要将 /etc/sysconfig/clock 里面的ZONE 设定成为ZONE="America/New_York" 并且将/usr/share/zoneinfo/America/New_York复制成为 /etc/localtime ,其它什么设置都不需要改动,系统的显示时间就是美国纽约当地的时间了!
与 NTP 及系统时间有关的执行文件:
/bin/date: Linux 系统上面的日期与时间修改及输出命令。
/sbin /hwclock:因为主机的 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,只是调整了linux的系统时间,还需要使用 hwclock 才能将修改过后的时间写入 BIOS。这个命令必须root用户才能执行 。
/usr/sbin/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务。
/usr/sbin/ntpdate:NTP客户端用来连接NTP服务器命令文件。
2.NTP服务端的设置
编辑 /etc/ntpconf 文件
关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!
上级时间服务器的设定
由于我们配置的NTP 服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP 服务器上面要配置一部上级时间服务器来进行校准!在 Internet 上面提供了许多时间服务器,从下面地址找一个离你最近的
用server这个参数设定上级时间服务器,语法为:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。
解决NTP服务器校准时间时的传送延迟
使用driftfile参数设置:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
ntpconf文件举例:
设置要求:不对 Internet 提供服务,仅对内部子网 19216800/24 提供服务,NTP 服务器的上级时间主机为:clockncfukuoka-uacjp和ntpnasagov,内部子网的客户端不能修改NTP服务器的时间参数。
在ntpconf中增加以下内容:
restrict default ignore # 关闭所有的 NTP 要求封包
restrict 127001 # 开启内部递归网络接口 lo
restrict 19216800 mask 2552552550 nomodify #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数。
server 13310092 prefer #用13310092做上级时间服务器
server 19812330132 #19812330132作为上级时间服务器参考
restrict 13310092 #开放server 访问我们ntp服务的权限
restrict 19812330132
driftfile /var/lib/ntp/drift
保存退出后。启动NTP服务
service ntpd start
如果想每次系统启动,NTP服务自动启动,请输入下面命令: chkconfig -level 35 ntpd on 注意:
1NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口。
2Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件。
六、NTP客户端的使用
Linux系统
在Linux 上面进行网络校时非常简单,执行 ntpdate 即可:
ntpdate 19216801 #19216801是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock -w
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 root /usr/sbin/ntpdate 19216801; /sbin/hwclock -w #19216801是NTP服务器的IP地址
然后重启crond服务
service crond restart
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。
Windows 系统
在 Windows XP上面使用NTP进行时间校准也很简单:
双击桌面任务栏上的时间,弹出“日期和时间”属性窗口,如图所示:
选择Internet时间,在服务器中填入你的NTP服务器的IP地址或者域名,然后点击立即更新,您的系统时间就会立即更新。如果想定时更新,把左上角的自动与Internet时间服务器同步选中,然后点击右下角的应用即可。
yy-2-3tif
如 果不是Windows XP系统,但是NTP服务器同时也是samba服务器的话,则对Windows来说,不需要安装任何时间同步软件,因为Windows客户端可以用net time\\时间服务器IP或服务器netbios名/set/yes来同步。可以把该命令放在开始菜单的启动项中,启动windows时自动同步。
由于net time命令是利用Netbios over TCP/IP协议来同步时间,所以NTP服务器不同时是samba 服务器的话,就需要Windows客户端安装时间同步软件。这方面的软件很多,使用也很简单,读者可以上网查找一下。
直接使用WINDOWS自己来做时间服务器而不采用第三方软件需要修改注册表,存在一定风险。
建议你采用第三方软件来实现NTP服务器
下载网址 http://wwwmeinbergglobalcom/english/sw/ntphtm#ntp_stable
NTP软件的安装文件(ntp-426p5@london-o-lpv-win32-setupexe)
一、搭建时间服务器
1、在一台linux服务器安装ntp server
2、修改ntpconf配置文件
vi /etc/ntpconf
restrict default nomodify
(允许任何IP的客户机都可以进行时间同步,如果是只允许某个网段的客户机进行时间同步可以这样写restrict 1058260 mask 2552552550 nomodify)
3、以守护进程启动ntpd
#/etc/rcd/initd/ntpd -c /etc/ntpconf -p /tmp/ntpdpid
#/etc/rcd/initd/ntpd start
二、配置时间同步客户机
ntpdate 101281425
hwclock -w
使用cron 定时同步
vi /var/spool/cron/root(或crontab -e)
增加一行,在每天的1点10分、9点10分、17点10分与时间同步服务器进行同步并写入BIOS
10 1 ,9,17 root /usr/sbin/ntpdate 101281425; /sbin/hwclock -w
独立主机
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。
date -R #查看的时区设置。
接下来调整系统时间与时间服务器同步
Debian系统安装NTP校时包:
代码如下:
apt-get install ntpdate #安装ntp
CentOS系统安装NTP校时包:
代码如下:
yum -y install ntpdate ntp #安装ntp
Ubuntu系统安装NTP校时包:
代码如下:
sudo apt-get install -y ntpdate ntp
修改/etc/ntpconf
vi /etc/ntpconf 就会看到以下内容:
代码如下:
server 0centosntporg
server timewindowscom
server timenistgov
这是默认的ntp同步服务器,大家可以自己改,全球ntp服务器地址:http://wwwpoolntporg/
我改成了:
代码如下:
server cnpoolntporg //这中国的ntp服务器
server time-anistgov
server timewindowscom
server timenistgov
然 后保存退出(vi退出的方法见:http://wwwdabuinfo/personal-summary-personally-i- carefully-collected-must-be-familiar-with-vim-shortcut-key-operationhtml)
接着输入下面的命令:
代码如下:
ntpdate -d cnpoolntporg #调试查看时间差异
ntpdate cnpoolntporg #同步时间
date -R # 检查时间是否同步
修改 ntp 的配置文件
代码如下:
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes #同步独立主机的硬件时钟
#配置开机启动ntp服务,定期同步时间
chkconfig --levels 235 ntpd on #启动ntp同步
/etc/initd/ntpd start
XEN VPS
最好是安装ntp服务,这样可以解决vps在重启后时间不准的问题。有时候,依靠母鸡的硬件时钟,总是差七八分钟。实在没辙了。而已很多的web服务,如Google Authenticator等,如果时间不同步,会导致无法验证的地步,自然就网站都登陆不上了。
代码如下:
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。
date -R #查看的时区设置。
接下来调整系统时间与时间服务器同步
Debian系统安装NTP校时包:
代码如下:
apt-get install ntpdate #安装ntp
CentOS系统安装NTP校时包:
代码如下:
yum -y install ntpdate ntp #安装ntp
Ubuntu系统安装NTP校时包:
代码如下:
sudo apt-get install -y ntpdate ntp
修改/etc/ntpconf
vi /etc/ntpconf 就会看到以下内容:
代码如下:
server 0centosntporg
server timewindowscom
server timenistgov
这是默认的ntp同步服务器,大家可以自己改,全球ntp服务器地址:http://wwwpoolntporg/
我改成了:
代码如下:
server cnpoolntporg //这中国的ntp服务器
server time-anistgov
server timewindowscom
server timenistgov
然 后保存退出(vi退出的方法见:http://wwwdabuinfo/personal-summary-personally-i- carefully-collected-must-be-familiar-with-vim-shortcut-key-operationhtml)
接着输入下面的命令:
代码如下:
ntpdate -d cnpoolntporg #调试查看时间差异
ntpdate cnpoolntporg #同步时间
date -R # 检查时间是否同步
#配置开机启动ntp服务,定期同步时间
chkconfig --levels 235 ntpd on #启动ntp同步
/etc/initd/ntpd start
#先设置XEN 的VPS使用和系统无关的时间模式
echo 1 /proc/sys/xen/independent_wallclock
然后尝试上面独立主机的配置方法即可。通过配置时间正确后,编辑系统配置文件,让配置永久生效。
代码如下:
vi /etc/sysctlconf
xenindependent_wallclock=1 #在文件中增加并且保存
OpenVZ VPS
(Burst VPS 采用)
OpenVZ的VPS直接从物理机读取时间不允许对主机进行时间修改,你只需修改时区。我还没用过openvz vps,所以,不清楚能否用ntp服务不,可以试试安装ntp service 看。如果可以的话,请告诉我。
代码如下:
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。
date -R #查看时间和时区
此时如果时间和时区都正确,配置成功,时间如果不对,需要联系主机服务商的技术支持,让他们把母鸡(物理机)时间同步,你的VPS时间就会正常。
windows的时间矫正机制先天性不足,而Linux里面默认的ntpd服务可以实现非常完整的ntp功能,包括调整与上级时钟源的同步间隔,查看与上级时钟源的偏差,以及与哪几个时钟源同步等等,如果买不起带有铷原子钟,铯原子钟(一般一台要5w到20w,要看精度),一般都是用Linux来做ntp服务器,你用一台pc机,虚拟机都可以做,成本很低。
安装ntp,yum install ntp
步骤阅读
2
Date 发现格式为EDT,我们需要修改为CST格式
步骤阅读
3
[root@test ~]# mv /etc/localtime /etc/localtimebak
[root@test ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@test ~]# date
步骤阅读
4
并用ntpdate 2089111250,同步网上的一台ntp服务器同步时间
步骤阅读
5
vi/etc/ntpconf,修改配置文件,使能同步网上的ntp服务器
步骤阅读
6
我们这里使用的是centos7不同于以往linux的操作,对于开机自启动的调整,命令有所不同。 chkconfig --list查看非系统内置服务的自启动状态
systemctl enable ntpdservice //开机自启动
步骤阅读
7
ntpq –p
表示目前使用的ntp server的状态
步骤阅读
8
Ntpstat,可以看到已经同步了
步骤阅读
9
显示所有已启动的服务 systemctl list-units --type=service
0条评论