Linux(CentOS)下NTP服务搭建
1、安装
CentOS默认会自动安装NTP服务。如果不确定是否安装了ntp软件包可以用命令rpm �Cqa|grep ntp 查询一下。如果没有安装,可以用命令yum install ntp安装一下,也可以从Centos安装盘安装(搭建简单yum源,安装光盘镜像做源)。
[root@localhost ~]# rpm -qa |grep ntp
ntp-4.2.6p5-1.el6.centos.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
ntpdate-4.2.6p5-1.el6.centos.x86_64
2、配置
vi /etc/ntp.conf
添加如下三行
server 127.127.1.0
fudge 127.127.1.0 stratum 12
restrict default nomodify
//重启 | 开启 | 关闭ntp服务
service ntpd restart | start | stop
//重启ntp服务
[root@localhost ~]# service ntpd restart
关闭 ntpd:[确定]
正在启动 ntpd:[确定]
3、参数详解
server 127.127.1.0
fudge 127.127.1.0 stratum 10
如果第二部配置的server 0.centos.pool.ntp.org iburst 无效时,则NTP服务器会根据这里的配置,把自己的时间做为NTP服务器的时间,即和自己同步。
考虑到有的局域网里不可以访问外网,所有这里需要把这个配置项用上
//开启内部递归网络接口 loopback
restrict 127.0.0.1
//在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数
restrict 192.168.0.0 mask 255.255.255.0 nomodify
//以tom的身份编辑计划任务,每天的12点整,同步一次时间(常用在ntp客户端)
[root@localhost ~]# crontab -e -u tom
0 12 * * * * /usr/sbin/ntpdate 192.168.0.1
//以系统时间为基准,修改硬件时间
[root@localhost ~]# hwclock -w
//以硬件时间为基准,修改系统时间
[root@localhost ~]# hwclock -s
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守护进程可以写入。
4、防火墙配置,开放udp 123端口
[root@localhost ~]# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
[root@localhost ~]#
[root@localhost ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:123
5、手动设置时间/时区
//设置当前时间为2014年11月11号 14点10分
[root@localhost ~]# date -s "11/11/14 14:10"
2014年 11月 11日 星期二 14:10:00 CST
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果要更改为其他时区,可以在/usr/share/zoneinfo寻找,然后链接到 /etc/localtime 。
当然,要先删除那个文件夹目录的下localtime文件。
当然也可以修改/etc/sysconfig/clock
ZONE=Asia/Shanghai ( 查/usr/share/zoneinfo 下面的文件。 )
UTC=false ( 硬件时钟是否为 UTC 或者说 GMT 时钟。 )
ARC=false (如果是在 Alpha 机器上,则设置为 true 。 )