内网搭建一台NTP时间服务器

在公司内网搭建一台ntp时间服务器,供局域网内所有机器平滑同步时间

公司局域网无法连接internet

概念:NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。

资源:

时间服务器IP:192.168.138.140(ntp server)

需要同步时间的服务器:192.168.138.136 (ntp client)

linux 系统:CentOS release 6.9

配置ntp server

打开192.168.138.140机器的 /etc/ntp.conf

文件内容如下:

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
driftfile /var/lib/ntp/drift
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw
# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys
# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8
# Specify the key identifier to use with the ntpq utility.
#controlkey 8
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

配置权限

文件中

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

上面是配置的说明,下面是配置项,这部分的配置是对客户端(需要同步时间的服务器)的请求的处理策略,默认是拒绝。有-6的那一行是对ipv6的配置。可选的配置如下:

ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能修改服务端的时间参数,但客户端可以同步时间。
notrust :拒绝没有通过认证的客户端机器
noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap :不提供trap远端登陆
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 访问违规时发送 KoD 包。

把这两行注释掉,然后配置允许哪些机器可以跟ntp server同步时间

可以配置具体的机器,如:

restrict 192.168.138.136 nomodify

可以配置网段,如:mask配置子网掩码

restrict 192.168.0.0 mask 225.225.225.0 nomodify

配置时间源

如果可以连接internet,可以配置internet上的时间源,internet上的ntp服务器有很多,可以去搜一下。

如果不能连接internet,则把本机作为时间源即可,配置如下:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

时间源可以配置多个,先使用最上面的机器,如果这个机器不可用(比如网络连不上),则会逐下使用。

启动或重启ntp服务

查看ntp服务运行状态:

/etc/init.d/ntpd status

启动ntp服务

/etc/init.d/ntpd start

客户端同步时间

使用ntpdate命令同步时间,ntpdate ntp_server_ip

ntpdate 192.168.138.140

linux系统,客户端的ntp服务不能启动,否则会报如下错误:

ntpdate[88383]: the NTP socket is in use , exiting

停止ntp服务

/etc/init.d/ntpd stop

如果要每隔一段时间就同步一次时间,可以配置crontab定时任务,如,每小时校验一次时间

* */1 * * * root /usr/sbin/ntpdate 192.168.138.140 >/dev/null 2>&1

注意事项:

注意防火墙的问题,如果无法同步,则检查防火墙

内网搭建一台NTP时间服务器

相关推荐