searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

通过python脚本实现SDWAN发布、删除BGP默认路由

2023-08-31 09:09:23
29
0

SDWAN的智能网关与接入点POP建立BGP邻居,且同租户的智能网关可以通过BGP动态学习到对端发布的子网。

在流量归集场景下,如某一个公司总部的智能网关需要发布默认路由0.0.0.0/0,将分支智能网关的流量引入,就需要通过frr发布默认路由。

SDWAN的组网场景和功能较多,测试人员往往需要构建用例自动化,frr通过vtysh命令行进行配置交互,自动化使用bash命令无法完成多项配置。针对此项需求,可以通过python脚本实现SDWAN发布、删除BGP默认路由。

pexpect是一个用于自动化和控制外部进程的Python库。它可以模拟交互式的终端会话,并通过捕捉和处理输出来实现自动化操作。 下面是pexpect库的一些主要特点和用法:

  1. 自动化交互:pexpect可以模拟用户与外部进程的交互,包括发送命令、接收输出、捕捉提示符等。这使得它非常适合自动化测试、配置管理和系统管理等场景。
  2. 跨平台支持:pexpect可以运行在多个操作系统上,包括Linux、UNIX、macOS和Windows等。
  3. 支持多种外部进程:pexpect不仅可以与终端交互,还可以与其他外部进程进行交互,例如ssh、telnet、scp等。
  4. 异步操作:pexpect允许通过非阻塞方式进行交互操作,这意味着您可以同时与多个进程进行交互,而不必等待每个进程执行完毕。
  5. 正则表达式匹配:pexpect可以使用正则表达式来匹配输出,从而更灵活地捕捉和处理输出。 

以下是通过pexpect库实现SDWAN发布、删除BGP默认路由的示例代码。<AS号>需替换为实际的自治系统号,脚本首先连接到vtysh命令行界面,然后通过发送相应的命令来发布或删除BGP默认路由,最后退出vtysh命令行界面。

总结起来,pexpect是一个功能强大的Python库,可以帮助我们自动化和控制外部进程的交互,从而提高效率和减少手动操作的工作量。

0条评论
0 / 1000
猫猫大户人家
2文章数
0粉丝数
猫猫大户人家
2 文章 | 0 粉丝
猫猫大户人家
2文章数
0粉丝数
猫猫大户人家
2 文章 | 0 粉丝
原创

通过python脚本实现SDWAN发布、删除BGP默认路由

2023-08-31 09:09:23
29
0

SDWAN的智能网关与接入点POP建立BGP邻居,且同租户的智能网关可以通过BGP动态学习到对端发布的子网。

在流量归集场景下,如某一个公司总部的智能网关需要发布默认路由0.0.0.0/0,将分支智能网关的流量引入,就需要通过frr发布默认路由。

SDWAN的组网场景和功能较多,测试人员往往需要构建用例自动化,frr通过vtysh命令行进行配置交互,自动化使用bash命令无法完成多项配置。针对此项需求,可以通过python脚本实现SDWAN发布、删除BGP默认路由。

pexpect是一个用于自动化和控制外部进程的Python库。它可以模拟交互式的终端会话,并通过捕捉和处理输出来实现自动化操作。 下面是pexpect库的一些主要特点和用法:

  1. 自动化交互:pexpect可以模拟用户与外部进程的交互,包括发送命令、接收输出、捕捉提示符等。这使得它非常适合自动化测试、配置管理和系统管理等场景。
  2. 跨平台支持:pexpect可以运行在多个操作系统上,包括Linux、UNIX、macOS和Windows等。
  3. 支持多种外部进程:pexpect不仅可以与终端交互,还可以与其他外部进程进行交互,例如ssh、telnet、scp等。
  4. 异步操作:pexpect允许通过非阻塞方式进行交互操作,这意味着您可以同时与多个进程进行交互,而不必等待每个进程执行完毕。
  5. 正则表达式匹配:pexpect可以使用正则表达式来匹配输出,从而更灵活地捕捉和处理输出。 

以下是通过pexpect库实现SDWAN发布、删除BGP默认路由的示例代码。<AS号>需替换为实际的自治系统号,脚本首先连接到vtysh命令行界面,然后通过发送相应的命令来发布或删除BGP默认路由,最后退出vtysh命令行界面。

总结起来,pexpect是一个功能强大的Python库,可以帮助我们自动化和控制外部进程的交互,从而提高效率和减少手动操作的工作量。

文章来自个人专栏
天翼云SD-WAN
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0