先决条件和准备工作
ConfD 安装
ConfD(Tail-f 的产品)用作路由主动测试系统与 NETCONF 之间的中介。ConfD 将路由、主动测试、配置和操作数据连接到 NETCONF & YANG API。
ConfD 应与控制中心软件一起安装,如 路由主动测试安装指南中所述。
验证 ConfD 是否正在运行
要验证 ConfD 是否已启动并正在运行,请运行命令
ssh -s <username>@localhost -p 830 netconf
<username>如安装指南安装
ConfD 部分中的命令所
netconf user create
在输出中,验证是否包含控制中心模块。输出应包含如下所示的行:
<capability>http://ncc.netrounds.com?module=netrounds-ncc&revision=2017-06-15</capability>
将配置数据库与控制中心同步
最后,我们需要通过 NETCONF 更新配置数据库。我们将在这里通过名为 ncclient(NETCONF 客户端)的 Python 库来做到这一点。但是,只要使用 NETCONF/YANG 协议,也可以使用不同的编程语言完成该任务。
ncclient 的作用是充当托管 NETCONF/YANG API 的 ConfD 服务器的客户端。
值得指出的是,ncclient 与控制中心(以前称为“Netrounds 控制中心”)没有任何关系,尽管名称恰好以“ncc”开头。
以下是安装 ncclient 的方法:
- 从 https://github.com/ncclient/ncclient 下载软件。
- 运行以下命令:
pip install ncclient
我们现在可以按如下方式执行同步。请注意,这需要在单独的计算机上完成,而不是在控制中心服务器本身上完成:
#
# NOTE:
# This script acts as a client towards ConfD running on the NCC server.
# It will use the NETCONF/YANG API for communication.
#
# The script is not meant to run on the NCC server!
# Run it on a separate client computer.
#
from ncclient import manager
from ncclient.xml_ import to_ele
# NETCONF server
host = '<host IP>' # Replace with server IP of Control Center
port = 830
user = '<username>' # Replace with username defined in "netconf user create" command
password = '<password>' # Replace with password defined in "netconf user create" command
# Product account
netrounds_account = '<account>' # Replace with account name
with manager.connect(host=host, port=port, username=user, password=password,
hostkey_verify=False) as m:
# Update config database
xml = """<sync-from-ncc xmlns="http://ncc.netrounds.com"/>"""
# Convert to ElementTree Element
elem = to_ele(xml)
print m.dispatch(elem)
每当独立于 NETCONF 安装和注册测试代理时,也需要此过程。有关详细信息,请参阅 测试代理业务流程概述 一节中的注释。
设置多个 NETCONF 控制的路由主动测试帐户
除了在 安装指南的“安装 ConfD”部分中以这种方式配置的帐户之外,您仅希望设置更多由 NETCONF 控制的路由活动测试帐户时,才需要执行以下步骤。
对于每个此类帐户,请按以下步骤操作:
- 在控制中心中,登录帐户并导航到 帐户 > 权限。
- 添加用户“confd@netrounds.com”,然后单击“ 邀请” 按钮,在GUI中授予此ConfD用户管理员权限。
- 将配置数据库与控制中心同步,如将 配置数据库与控制中心同步一节中所述。
您现在应该能够使用同一 ConfD 用户控制多个路由主动测试帐户。
开始通过ConfD控制路由主动测试帐户后,不得通过Web GUI对此帐户进行与任何“配置”相关的路由主动测试功能进行更改(请参阅路由 主动测试中支持的功能一章)。如果这样做,将导致同步丢失。