本文为大家介绍 linux 中 ntp 时间服务器及客户端的安装与配置的方法,有需要的朋友可以参考下。
1、主要文件及命令:
/etc/ntp.conf 服务器配置文件
/etc/sysconfig/clock 时区配置文件
/bin/date 显示和设置时间的命令
/sbin/hwclock 用于 BIOS 时钟 (硬件时钟) 的修改与显示的命令
/usr/sbin/ntpd 主要提供 NTP 服务的程序
/usr/sbin/ntpdate 用于客户端的时间校正
2、服务端:查软件是否已安装:
[root@localhost ~]# rpm -qa | grep ntp
ntp-4.2.2p1-9.el5_4.1 (这个就是已经安装的RPM包,或者其他版本的ntp)
如果没有安装,可从http://support.ntp.org/bin/view/Main/SoftwareDownloads下载,安装RPM包:
[root@localhost ~]# rpm -ivh ntp-4.2.2p1-9.el5_4.1.rpm
3、备份一下配置文件
cp /etc/ntp.conf /etc/ntp.conf_bak
4、ntp.conf文件主要参数说明:
4.1、利用 restrict 来管理权限控制
restrict [你的IP] mask [netmask_IP] [parameter]
其中 parameter 的参数主要有底下这些:
ignore: 拒绝所有类型的 NTP 联机;
nomodify: 客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数, 但客户端仍可透过这部主机来进行网络校时的;
noquery: 客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时啰;
notrap: 不提供 trap 这个远程事件登录 (remote event logging) 的功能。
notrust: 拒绝没有认证的客户端。
4.2、利用 server 设定上层 NTP 服务器
server [IP or hostname] [prefer]
perfer 表示‘优先使用’
5、具体配置如下:
原来的上层服务器及对上层的限制注释掉,然后直接加上这几项
6、重启服务:
7、加入开机启动:c
8、查看系统日志看有没有报错:
9、查看启动的端口:
10、检查与上层服务器是否同步成功(约15分钟后才会和上层连接):
ntpstat 或 ntpq -p
11、先对服务器进行手动较正,要不误差超过1000秒的话服务会自动停掉:
12、别的客户端要进行同步,则这样处理:
vim /etc/crontab
/etc/init.d/crond restart
13、要点:
1)、Linux 系统本来就有两种时间,一种是 Linux 以 1970/01/01 开始计数的系统时间,一种则是 BIOS 记载的硬件时间;
2)、Linux 可以透过网络校时,最常见的网络校时为使用 NTP 服务器,这个服务启动在 udp port 123;
3)、时区档案主要放置于 /usr/share/zoneinfo/ 目录下,而本地时区则参考 /etc/localtime;
4)、NTP 服务器为一种阶层式的服务,所以 NTP 服务器本来就会与上层时间服务器作时间的同步化, 因此 nptd 与 ntpdate 两个指令不可同时使用;
5)、NTP 服务器的联机状态可以使用 ntpstat 及 ntpq -p 来查询;
6)、NTP 提供的客户端软件为 ntpdate 这个指令;
7)、在 Linux 下想要手动处理时间时,需以 date 设定时间后,以 hwclock -w 来写入 BIOS 所记录的时间。
8)、NTP 服务器之间的时间误差不可超过 1000 秒,否则 NTP 服务会自动关闭。