网络设备配置管理与版本控制

简介:

1. 背景

我们经常会频繁的配置网络设备,但有时候做了某些操作出现了异常,我们不清楚问题出在哪里,还原配置也不起作用,甚至你根本记得你改动了什么。

另外我们希望能够监控网络设备的配置变化,一个公司可能有很多网络工程师,他们都有权限操作路由交换或防火墙设备,我们要知道网络设备配置什么时候发生了变化,并通知其他几位同事。同时我们要对修改操作记录归档,方便日后查阅。

2. 怎样实现网络设备配置管理

我们每隔一段时间便将网络设备的配置导出存档,然后通过版本控制工具进行版本化管理,远离非常简单。

有了版本控制我们可能很方便的回撤操作。下面我来详细讲解怎样安装于配置该软件

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install

$ sudo apt-get install expect
$ sudo chmod +x /usr/local/libexec/*		
		

配置网络设备地址

打开 /usr/local/bin/cisco 文件,修改BACKUP_DIR,改为你的备份目录

$ vim /usr/local/bin/cisco

CFGFILE=$BASEDIR/etc/cisco.conf
BACKUP_DIR=~/.backup

$ cat /usr/local/etc/cisco.conf 
192.168.50.1 mgmt EBopQ1X2vMkrl M8YJxvDiddG6QK
192.168.50.2 mgmt EBopQ1X2vMkrl M8YJxvDiddG6QK
192.168.50.3 mgmt EBopQ1X2vMkrl M8YJxvDiddG6QK
192.168.50.4 mgmt EBopQ1X2vMkrl M8YJxvDiddG6QK

$ sudo chmod 600 /usr/local/etc/cisco.conf		
		

编辑/usr/local/etc/cisco.conf文件,格式如下:

host | username | password | enable password
		

初始化版本仓库

# Initialized empty Git repository in local.
$ cisco init

# Initialized empty Git repository from remote.
$ cisco init http://xxx.xxx.xxx.xxx/project/xxxx.git
$ cisco init user@host:/project/xxxx.git		
		

启动,停止等操作

$ cisco
Usage: /usr/local/bin/cisco {init|start|stop|status|restart}

# cisco start
# cisco stop 		
		

查看网络设备配置变化

查看当前与上一个版本的变化

$ cd your_backup_dir
$ git diff HEAD HEAD~ route.running-config		
		

查看当前与前面第三个版本的变化

$ cd your_backup_dir
$ git diff HEAD HEAD~3 route.running-config		
		

3. 总结

该程序主要是备份网络设备的配置文件,当然也能起到监控做用,但备份间隔时间需要根据你的情况设定,如果太频繁也不太好,间隔太长可能起不到很好的监控作用。

关于监控与报警,你可以通过Git diff 命令对比与上次配置文件的变化,通常是没有变化的,一旦发生变化便通过电子邮件与短信发出警报。至于怎么实现,不再本文讨论范围,有兴趣可以参考笔者的其他技术手札。

关于版本控制软件更多细节,延伸阅读《Netkiller Version 手札》

目录
相关文章
|
1月前
|
存储 安全 网络安全
网络设备的部署(串行与并行)
网络设备的部署(串行与并行)
25 4
|
1月前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
28 0
|
1月前
|
安全 测试技术 网络架构
【专栏】编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。
【4月更文挑战第28天】本文介绍了编写网络设备割接方案的七个步骤,包括明确割接目标、收集信息、制定计划、设计流程、风险评估、准备测试环境和编写文档。通过实际案例分析,展示了如何成功完成割接,确保业务连续性和稳定性。遵循这些步骤,可提高割接成功率,为公司的网络性能和安全提供保障。
|
3天前
|
监控 网络协议 安全
认识网络设备
认识网络设备
|
13天前
|
存储
【基础计算机网络2】物理层——物理层设备
【基础计算机网络2】物理层——物理层设备
|
1月前
|
网络虚拟化 数据安全/隐私保护 网络架构
无线网络管理设备
无线网络管理设备
28 3
|
1月前
|
网络协议 网络安全 数据库
LabVIEW中MAX在我的网络上不显示“远程系统”选项卡或设备
LabVIEW中MAX在我的网络上不显示“远程系统”选项卡或设备
15 0
|
1月前
|
安全 网络安全 数据库
LabVIEW NI网络设备在MAX中不显示或未识别
LabVIEW NI网络设备在MAX中不显示或未识别
29 4
|
1月前
|
存储 Shell 网络安全
|
1月前
|
安全
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究
AC/DC电源模块在通信与网络设备中的应用的研究

热门文章

最新文章