一、条件及环境:
1、CentOS:我用的是最新的CentOS 6.5 64位版,此教程应该也适用于RedHat 6及CentOS 6系列所有系统;
2、编译所需环境:
1 |
# yum -y install vim ntp* wget gcc gcc-c++ ncurses-devel cmake make |
2 |
# cp /etc/ntp.conf /usr/local/src/ntp.conf |
3 |
# yum remove ntp* |
注意:编译安装不会在/etc下自动生成配置文件,所以我先yum安装ntp 4.2.6p5生成/etc/ntp.conf后复制出配置文件,再卸载ntp。
3、关闭防火墙及SELINUX!
1 |
# chkconfig iptables off |
2 |
# vim /etc/sysconfig/selinux |
3 |
将SELINUX=enforcing修改成: |
4 |
SELINUX=disabled |
二、下载并安装ntp 4.2.7p425:
1、下载ntp 4.2.7p425:
如果服务器可以上网,可直接用wget命令下载:
1 |
# cd /usr/local/src |
2 |
# wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-dev/ntp-dev-4.2.7p425.tar.gz |
如果服务器不能上网,那你就去http://www.ntp.org/downloads.html下载到本地,然后通过SFTP或FTP上传到服务器上!
2、解包安装ntp-dev-4.2.7p425.tar.gz:
1 |
# tar zxvf ntp-dev-4.2.7p425.tar.gz |
2 |
# cd ntp-dev-4.2.7p425 |
3 |
# ./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks |
4 |
# make && make install |
3、修改配置文件ntp.conf:
1 |
# cp /usr/local/src/ntp.conf /etc/ntp.conf |
2 |
# vim /etc/ntp.conf |
第(1)种配置:允许任何IP的客户机都可以进行时间同步
则将“restrict default kod nomodify notrap nopeer noquery”这行修改成:
1 |
restrict default nomodify |
第(2)种配置:只允许192.168.200.*网段的客户机进行时间同步
在“restrict default kod nomodify notrap nopeer noquery”(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.200.0 mask 255.255.255.0 nomodify
另外,配置文件默认通过网络同步时间:
1 |
server 0.centos.pool.ntp.org iburst |
2 |
server 1.centos.pool.ntp.org iburst |
3 |
server 2.centos.pool.ntp.org iburst |
4 |
server 3.centos.pool.ntp.org iburst |
(RedHat默认有类似上面4行内容,域名不一样而已)
如果需要使用本地时间,则把上面4行删掉或者用“#”号注释掉,然后添加以下两行:
1 |
server 127.127.1.0 |
2 |
fudge 127.127.1.0 stratum 10 |
(RedHat默认有上面两行,但被注释掉了)
4、启动ntp服务:
1 |
# /usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid |
2 |
# 检查ntp服务器是否在后台运行可以用下面这条命令: |
3 |
# ps -ef | grep ntp |
4 |
# 检查ntpd侦听的UDP 123端口是否正常用下面这条命令: |
5 |
# netstat -unl | grep 123 |
5、用客户端检验时钟同步服务器是否可用。
6、如需设置ntpd服务开机自动启动,则只需把上面的启动命令放入/etc/rc.local文件中即可。