华为datacom认证,华为datacom认证的备份设置?

营销圈公众号引导关注

有备方能无患,网络在割接、变更、维护时都需要备份配置,手工备份一台设备需要几分钟,几十台设备的网络就需要几小时,因此网络自动化和智能化是必然的趋势。华为近期发布了HCIP-Datacom-Network Automation Developer,定位于培养数据通信网络领域具备网络自动化开发专业知识和技能水平的高级工程师,下面就让我们探索其中一个知识点:用Python实现自动化批量备份配置。

案例描述:

如图所示,三台CE12800交换机连成一个环形网络,交换机管理层路由打通,交换机配置为密码认证的STelnet服务器,CE1通过云连接NMS网络管理系统(案例中是本机Python运行环境)。在本机编写待备份设备的设备信息文件,含设备名称、管理IP、用户名和密码。编写Python脚本读取设备信息文件,编写用Paramiko SSH登陆设备,自动备份配置的函数,脚本对设备信息文件中的设备循环调用自动备份配置函数,实现自动批量备份配置到设备名称文件,并输出每个设备备份配置成功或失败的结果。

华为datacom认证,华为datacom认证的备份设置?

实现过程:

实现过程可以概括为三大步:连接并配置设备、编写设备信息文件和批量备份配置脚本、自动化批量备份配置。

一、连接并配置设备

按拓扑连接CE1、CE2、CE3、用云连接本机。CE1、CE2、CE3配置OSPF,宣告直连网段和Loopback,本机设CE1的E0/0/1的IP为网关,基础配置略,配置成功后,本机能ping通三个设备的Loopback。

CE1、CE2、CE3配置STelnet,关键命令如下:

1. 配置SSH服务器的VTY用户界面。

user-interface vty 0 4

authentication-mode aaa

user privilege level 3

protocol inbound ssh

2. 在服务器端创建本地用户,将用户加入管理员组,并配置用户服务方式。

aaa

local-user client001 password irreversible-cipher Huawei@123

local-user client001 service-type ssh

local-user client001 level 3

local-user client001 user-group manage-ug

3. 使能STelnet功能,在服务器端创建SSH用户,并配置认证方式为密码,服务类型为STelnet。

stelnet server enable

ssh user client001

ssh user client001 authentication-type password

ssh user client001 service-type stelnet

配置成功后,本机能STelnet登陆三个设备。

二、编写设备信息文件和批量备份配置脚本

1. 在Excel中编写待备份设备信息,格式如下, A、B、C、D列依次是设备名称、管理IP、SSH用户名、密码,每一行是一个待备份设备。另存为逗号分隔的CSV文件,本例中另存为IP_Password.csv文件。

CSV文件也可以用记事本编辑,用记事本打开,内容如下:

CE1,10.1.1.1,client001,Huawei@123

CE2,10.1.1.2,client001,Huawei@123

CE3,10.1.1.3,client001,Huawei@123

2. 编写Python脚本,脚本分为三大块:读取设备信息文件;用Paramiko SSH登陆设备,自动备份配置的函数;对待备份设备循环调用自动备份配置函数。脚本完整内容如下:

import paramiko

from time import sleep

”’把设备信息文件与Python脚本放在同一目录下。脚本将会:

创建空列表,打开设备信息文件,本例设备信息文件与Python脚本处于同一路径下,逐行遍历,去掉换行,逐行分割成列表,

列表加入空列表,形成设备信息二维列表,即二维列表中包含多个设备信息的列表。”’

devices = []

with open(“IP_Password.csv”) as f:

for line in f:

line = line.strip(‘\n’).split(‘,’)

devices.append(line)

# 用Paramiko做一个Stelnet备份配置函数,自动登陆设备,把配置写入以设备名称命名的文件。

def backup(Name, IP, Username, Password):

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname=IP, username=Username, password=Password)

cli = ssh.invoke_shell()

cli.send(‘N\n’)

sleep(1)

cli.send(‘screen-length 0 temporary\n’)

cli.send(‘display cu\n’)

sleep(3)

dis_cu = cli.recv(999999).decode()

with open(Name+’.txt’, ‘w’) as config:

config.write(dis_cu)

ssh.close()

# 用for循环对待备份设备调用备份配置函数,批量备份配置,可以在本文件目录下查看备份文件。

print(‘已读取设备信息,开始逐个登陆设备,自动备份配置,请稍后……’)

for device in devices:

try:

backup(device[0], device[1], device[2], device[3])

print(device[0]+’备份配置成功。’)

except:

print(device[0]+’备份配置失败,请检查后重试。’)

脚本内容结束,几点说明:如果print(devices),会输出如下内容,[[‘CE1’, ‘10.1.1.1’, ‘client001’, ‘Huawei@123’], [‘CE2’, ‘10.1.1.2’, ‘client001’, ‘Huawei@123’], [‘CE3’, ‘10.1.1.3’, ‘client001’, ‘Huawei@123’]]可以看出,是把每个设备的信息都读入一个列表,三个设备的三个列表又加入一个列表形成设备信息二维列表。备份配置函数中的cli.send(‘N\n’),密码认证方式会询问是否修改密码,发送N回车,选择不修改。备份配置函数中创建并打开以设备名称命名的txt文件,把配置写入该文件,实现了备份配置到设备名称文件。for循环对待备份设备调用备份配置函数,在try-except下调用,如果某个设备备份配置失败,会执行except下的某设备备份配置失败提示,不影响后续设备继续自动备份配置,且便于查看备份结果。

三、自动化批量备份配置

在安装了paramiko库的本机Python运行环境中,执行批量备份配置脚本,会读取设备信息,逐个登陆设备,自动备份配置。执行结果如下:

华为datacom认证,华为datacom认证的备份设置?

在脚本文件所在目录下查看,可以看到已经生成备份配置文件CE1.txt、CE2.txt、CE3.txt,打开文件查看,正是对应设备的备份配置,说明备份配置成功。

华为datacom认证,华为datacom认证的备份设置?

如果某个设备备份配置失败,如CE2的密码错误,执行结果如下,会提示CE2备份配置失败,但不影响后续设备继续自动备份配置。只需把备份失败的设备,检查后再次备份即可。

华为datacom认证,华为datacom认证的备份设置?

好了,这篇文章的内容营销圈就和大家分享到这里,如果大家对网络推广引流和网络创业项目感兴趣,可以添加微信:Sum8338 备注:营销圈引流学习,我拉你进直播课程学习群,每周135晚上都是有实战的推广引流技术和网络创业项目课程分享,当然是免费学!

版权声明:本站部分文章来源互联网用户自发投稿,主要目的在于分享信息,版权归原作者所有,不承担相关法律责任。如有侵权请联系我们反馈邮箱yingxiaoo@foxmail.com,我们将在7个工作日内进行处理,如若转载,请注明本文地址:https://www.yingxiaoo.com/108238.html