动态更新基于irr前缀列表的eos代理
prefix-list-agent的Python项目详细描述
arista eos的前缀列表代理
定期从IRR检索数据并在EOS上构建前缀列表对象。
概述
PrefixListAgent
是一个基于eos sdk的代理,在
基于arista eos的设备或vm。
代理维护用于eos的最新前缀列表策略对象 路由策略配置,基于IRR中的数据。
代理将定期检查设备的运行配置以 收集它负责维护的前缀列表列表。会的 然后通过rptk web服务从irr检索所需的数据,并 在不调用eos配置分析器的情况下更新前缀列表。
安装
从转速(推荐)
将代理作为EOS扩展安装:
ar#copy https://github.com/wolcomm/eos-prefix-list-agent/releases/download/0.1.0a8/prefix_list_agent-0.1.0a8-1.noarch.rpm extension:
ar#extension prefix_list_agent-0.1.0a8-1.noarch.rpm
ar#sh extensions
Name Version/Release Status Extension
----------------------------------------- ------------------ --------- ---------
prefix_list_agent-0.1.0a8-1.noarch.rpm 0.1.0a8/1 A, I 1
A: available | NA: not available | I: installed | NI: not installed | F: forced
在启动时保留要安装的扩展:
ar#copy installed-extensions boot-extensions
Copy completed successfully.
ar#sh boot-extensions
prefix_list_agent-0.1.0a8-1.noarch.rpm
使用pip
除非你知道你在做什么,否则不推荐这种方法。 如果没有其他配置,安装将无法跨 重新加载。
放到外壳上:
ar#bash
从pypi安装:
$ sudo pip install prefix-list-agent
代理配置
守护进程
将代理配置为eos“daemon”:
ar#conf t
ar(config)#daemon PrefixListAgent
ar(config-daemon-PrefixListAgent)#exec /usr/bin/PrefixListAgent
追踪
使用EOS代理跟踪基础结构启用跟踪,例如:
ar(config)#trace PrefixListAgent-PrefixListAgent setting PrefixList*/0-6
设置配置选项
使用以下命令设置配置选项:
ar(config-daemon-PrefixListAgent)#option <option-name> value <option-value>
可用的配置选项有:
rptk_endpoint
(默认值:None
,必需):检索前缀列表数据时要连接的RPTK Web服务终结点。
source_dir
(默认值:/tmp/prefix-lists
):要向其写入前缀列表文件的本地目录。
refresh_interval
(默认值:3600
):前缀列表更新的间隔。
启动代理
ar(config-daemon-PrefixListAgent)#no shutdown
前缀列表配置
prefixlistagent将检查基于源的运行配置 与表单匹配的前缀列表:
ip[v6] prefix-list ${irr_object} source file:${source_dir}/${policy}/${file_name}
其中:
${irr_object}
:构建 前缀列表来自。${source_dir}
:如上所述配置的source_dir
。${policy}
:将IRR对象解析为 前缀列表。必须是RPTK Web服务上可用的有效策略。你可以 使用以下工具检查可用的策略:
$ curl -q ${rptk_endpoint}/policies | jq
${file_name}
:要将结果前缀列表数据写入的文件。这个 每个解析策略的名称应唯一。
下一次更新后,您应该可以使用以下命令查看条目:
ar#show ip[v6] prefix-list ${irr_object} detail