一般企业出于安全或者出口带宽等各方面原因,内网主机是无法直接接通外网,这个方法可以让内网无法上网的机器同步本机时间,而本机可以通过公网同步公网的ntp源。实现类似中转跳转的功能。
搭建之前需要2个主机,一个作为server端另一个用来作为client端。
进入正题:
在server端安装ntpd服务端,关闭防火墙或者放通防火墙端口
[root@xiaobo ~]# yum install -y ntp
#安装ntpd服务
[root@xiaobo ~]# systemctl stop firewalld
#关闭防火墙,如果不想关闭防火墙可以放通端口
[root@xiaobo ~]# firewall-cmd –permanent –add-port=123/udp
[root@xiaobo ~]# firewall-cmd –permanent –add-port=123/tcp
#防火墙具体还要看你们配置没有,如有配置请注意安全区域。

编辑/etc/ntp.conf 并更改文件内容
[root@xiaobo ~]# vim /etc/ntp.conf
#修改如下文件内容
restrict 127.0.0.1
restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap
#允许那些网段或者IP同步,不做限制则0.0.0.0 mask 0.0.0.0.需要注意的是4.2版本的ntpd的restrict参数不要加notrust否则客户端会同步不了。
server ntp.aliyun.com prefer
#server自身和谁同步。我这里用的是阿里云的。
server 127.127.1.0
#把自身的时间同步给客户端。

配置完毕启动服务
[root@xiaobo ~]# systemctl start ntpd
#启动服务,7系列和6系列命令不一样,具体自行百度。
[root@xiaobo ~]# systemctl status ntpd
● ntpd.service – Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2019-01-26 22:08:24 CST; 1min 41s ago
Process: 2182 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 2184 (ntpd)
CGroup: /system.slice/ntpd.service
└─2184 /usr/sbin/ntpd -u ntp:ntp -g
#查看服务状态

服务端状态没有问题,找client去同步下试试看。
[root@xiaobo ~]# ntpdate 192.168.100.110
26 Jan 22:19:43 ntpdate[3156]: adjust time server 192.168.100.110 offset -0.001781 sec

如果出现the NTP socket is in use, exiting错误,关闭ntpd的服务在同步即可。在搭建server端的时候注意防火墙要放通UDP/123端口,包括你网络所经过的防火墙而不单单指的是主机上的防火墙,应该也考虑到中间链路的硬件防火墙。