07-H3C vEPC3200 NTP典型配置举例
本章节下载: 07-H3C vEPC3200 NTP典型配置举例 (278.06 KB)
目 录
在大型的网络中,如果依靠管理员手工配置来修改网络中各台设备的系统时间,不但工作量巨大,而且也不能保证时间的精确性。NTP(Network Time Protocol,网络时间协议)可以用来在分布式时钟服务器和客户端之间进行时钟同步,使网络内所有设备的时间保持一致,并提供较高的时间同步精度。NTP采用的传输层协议为UDP,使用的UDP端口号为123。
这里的“分布式”指的是运行NTP的设备,既可以与其他设备的时间同步,又可以作为时钟服务器为其他设备提供时钟同步。
NTP主要应用于需要网络中所有设备的时间保持一致的场合,比如:
· 需要以时间作为参照依据,对从不同设备采集来的日志信息、调试信息进行分析的网络管理系统。
· 对设备时间一致性有要求的计费系统。
· 多个系统协同处理同一个比较复杂的事件的场合。此时,为保证正确的执行顺序,多个系统的时间必须保持一致。
NTP的基本工作原理如图1-1所示。Device A和Device B通过网络相连,Device A和Device B的时间不同,需要通过NTP实现时间的自动同步。为便于理解,作如下假设:
· 在Device A和Device B的时间同步之前,Device A的时间设定为10:00:00 am,Device B的时间设定为11:00:00 am。
· Device B作为NTP服务器,即Device A与Device B的时间同步。
· NTP报文从Device A到Device B、从Device B到Device A单向传输所需要的时间均为1秒。
· Device B处理NTP报文所需的时间是1秒。
图1-1 NTP基本工作原理图
Device A和Device B时间同步的工作过程如下:
(1) Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00 am(T1)。
(2) 当此NTP报文到达Device B时,Device B在NTP报文上增加该报文到达Device B时的时间戳,该时间戳为11:00:01 am(T2)。
(3) 当此NTP报文离开Device B时,Device B再在NTP报文上增加该报文离开Device B时的时间戳,该时间戳为11:00:02 am(T3)。
(4) 当Device A接收到该响应报文时,Device A的本地时间为10:00:03 am(T4)。
至此,Device A可以根据上述时间戳计算两个重要的参数:
· NTP报文的往返时延Delay = (T4 – T1) – (T3 – T2) = 2秒。
· Device A相对Device B的时间差Offset = ((T2 – T1) + (T3 – T4)) / 2 = 1小时。
这样,Device A就能够根据这些信息来设定自己的时间,使之与Device B的时间同步。
以上内容只是对NTP工作原理的一个粗略描述,详细内容请参阅相关的协议规范。
NTP通过时钟层数来定义时钟的准确度。时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟处于未同步状态。
图1-2 NTP网络结构
如图1-2所示,实际网络中,通常将从权威时钟(如原子时钟)获得时间同步的NTP服务器的层数设置为1,并将其作为主时间服务器,为网络中其他设备的时钟提供时间同步。网络中的设备与主时间服务器的NTP距离,即NTP同步链上NTP服务器的数目,决定了设备上时钟的层数。例如,从主时间服务器获得时间同步的设备的时钟层数为2,即比主时间服务器的时钟层数大1;从时钟层数为2的时间服务器获得时间同步的设备的时钟层数为3,以此类推。
为了保证时间的准确性和可靠性,可以为一台设备指定多个时间服务器,设备根据时钟层数等参数进行时钟过滤和选择,从多个时间服务器中选择最优的时钟,与其同步。设备选中的时钟称为参考时钟。时钟优选过程的详细介绍,请参阅相关的协议规范。
在某些网络中,例如无法与外界通信的孤立网络,网络中的设备无法与权威时钟进行时间同步。此时,可以从该网络中选择一台时钟较为准确的设备,指定该设备与本地时钟进行时间同步,即采用本地时钟作为参考时钟,使得该设备的时钟处于同步状态。该设备作为时间服务器为网络中的其他设备提供时间同步,从而实现整个网络的时间同步。
NTP支持以下几种工作模式:
· 客户端/服务器模式。
· 对等体模式。
· 广播模式。
· 组播模式。
vEPC核心网中的时钟同步指的是客户端/服务器模式的时钟同步。NTP客户端上需要指定NTP服务器的地址,NTP客户端向NTP服务器发送NTP时间同步报文,NTP服务器收到报文后会自动工作在服务器模式,并回复应答报文,其中,NTP客户端能够同步NTP服务器的时钟,NTP服务器无法同步客户端的时钟。
与NTP相关的协议规范有:
· RFC 1305:Network Time Protocol (Version 3) Specification, Implementation and Analysis。
· RFC 5905:Network Time Protocol Version 4: Protocol and Algorithms Specification。
当前版本vEPC仅支持做主时间NTP服务器。
用户可以通过以下任意方法修改vEPC的系统时间:
· 修改vEPC所在Docker容器的系统时间。
· 修改服务器的系统时间。
需要注意的是,修改Docker容器或服务器的系统时间后,必须重启vEPC。
vEPC网络为用户内部网络,不能通过Internet获取准确时钟。组网环境如图1-3所示,为了保证vEPC网络中所有设备能够具有相同的时钟,将vEPC Host配置为主时间NTP服务器,网络中的其他设备为NTP客户端。要求:
· vEPC Host的本地时钟作为vEPC网络的参考时钟。
· 其他设备仅通过vEPC Host同步本地时钟。
图1-3 配置vEPC Host为主时间NTP服务器组网图
· 必须保证NTP服务器和NTP客户端的路由可达,否则,NTP客户端无法同步NTP服务器的时钟。
· NTP协议使用UDP端口123,配置时钟同步前必须开放NTP服务器和NTP客户端的UDP端口123。
· 本举例中的vEPC Host和NTP客户端 1为运行H3Linux Release 1.0.0及以上内核版本的服务器,对于其他Linux服务器的NTP配置,可能稍有差异,具体请查看对应版本的Linux NTP配置操作指导。
· 组网中的NTP客户端 2可以是交换机、路由器、防火墙、BBU、RRU等其他网络设备,关于这类设备配置NTP时钟同步的详细步骤,请参见各产品配套版本的配置指导。
(1) 按照图1-3配置各设备接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置vEPC Host作为NTP服务器。
a. 登录H3Linux操作系统,其中,缺省的用户名和密码分别为admin和admin@vEPC3200。
localhost login:admin
passwrod:
b. 进入H3Linux的root用户视图,其中,缺省的root用户Password为root@vEPC3200。
[admin@localhost ~]$ su
Password:
[root@localhost admin]#
c. 切换到/etc目录,备份原有“ntp.conf”。
[root@localhost admin]# cd /etc
[root@localhost etc]# cp -p ntp.conf bak.ntp.conf
d. 查看原有“ntp.conf”和备份后的“bak.ntp.conf”。
[root@localhost etc]# ll | grep ntp.conf
-rw-r--r-- 1 root root 2000 Apr 12 2017 bak.ntp.conf
-rw-r--r--. 1 root root 2000 Apr 12 2017 ntp.conf
其中,“bak.ntp.conf”为备份后的NTP配置文件,“ntp.conf”为原NTP配置文件。
e. 切换到root目录。
[root@localhost etc]# cd
[root@localhost ~]#
f. 创建NTP日志路径和NTP日志文件。
[root@localhost ~]# mkdir /var/log/ntp
[root@localhost ~]# touch /var/log/ntp/ntp.log
g. 修改“ntp.conf”缺省配置。
[root@localhost ~]# vi /etc/ntp.conf
其他显示信息略……
h. 在配置脚本driftfile /var/lib/ntp/drift的下行添加NTP日志路径和NTP日志。
driftfile /var/lib/ntp/drift
statsdir /var/log/ntp
logfile /var/log/ntp/ntp.log
i. 注释掉缺省上层NTP服务器,配置server 127.127.1.0使本机作为网络中的时钟源,配置fudge 127.127.1.0 stratum 10使本机时钟层数为10。
# 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
server 127.127.1.0
fudge 127.127.1.0 stratum 10
缺省的上层NTP服务器如下所示,仅需在每行开头添加“# ”即可注释掉该行脚本。
· 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
127.127.1.0为特殊的IP地址,配置时无需更改为其他IP地址。
j. 保存并退出vi编辑器,具体过程略。
k. 重新启用vEPC Host的NTP时钟同步服务。
[root@localhost ~]# systemctl restart ntpd.service
l. 查看时钟同步状态。
[root@localhost ~]# systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2019-09-03 01:01:29 CST; 12min ago
Process: 37168 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 37169 (ntpd)
Tasks: 1
Memory: 1.4M
CGroup: /system.slice/ntpd.service
└─24684 /usr/sbin/ntpd -u ntp:ntp -g
Sep 03 01:01:29 PLT-SERVER-100 systemd[1]: Starting Network Time Service...
Sep 03 01:01:29 PLT-SERVER-100 systemd[1]: Started Network Time Service.
仅当NTP时钟同步服务状态为active (running)时表明系统NTP时钟同步服务状态正常。
(3) 配置NTP时钟同步功能开机时自动启用。
a. 通过vi编辑器打开rc.local文件。
[root@localhost ~]# vi /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
setenforce 0
systemctl stop firewalld.service
ipvsadm >/dev/null 2>&1 &
/root/prepare_dpdk.ksh &
systemctl start docker.service
cd /root/docker-static-ip/
/usr/bin/python duration.py
systemctl start monitor_container.service
b. 在rc.local文件的最后添加如下配置,使NTP时钟同步功能开机时自动启用。
systemctl restart ntpd.service
systemctl enable ntpd.service
c. 保存并退出vi编辑器,具体过程略。
(4) 配置其他类型的网络设备同步vEPC Host的时钟,例如交换机、路由器、防火墙、BBU、RRU等,此类设备配置NTP时钟同步的详细步骤,请参见各产品配套版本的配置指导。
# 完成上述配置后,在NTP客户端 1上执行“ntpdate 192.168.1.239”命令同步vEPC Host主机的时钟。
[admin@localhost ~]$ su
Password:
[root@localhost admin]# ntpdate 192.168.1.239
19 Nov 14:10:57 ntpdate[3680]: adjust time server 192.168.1.239 offset 0.009137 sec
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!