自动配置生成

时间:2016-01-12 16:24:47

标签: python scripting firewall

我正在多个地点为我的客户安装Cisco ASA防火墙。所有位置的基本ASA配置与接口IP地址,路由下一跳等特定事物的偏差相同。

对于每个位置,我都有一张包含所有变量的Excel表格。

我知道基本的Python。问题是:是否有可能在python中编写一个脚本,它将读取Excel表中的变量并生成ASA的配置?

此外,有人可以推荐一个源来学习针对网络或这样的自动化任务的脚本吗? (简单的谷歌搜索引导我到许多令人困惑的选项,因此这里的问题)

2 个答案:

答案 0 :(得分:0)

这很容易用Python完成,但需要学习一些。

根据Excel文件的格式,我建议OpenPyXLXLRD

这还取决于您想要输出的配置格式。如果它是JSON Config文件,您可以简单地使用内置的json模块。否则,有许多其他模块可用于CSV等等。

然而,有一个警告。如果您对代码中的所有Excel列/位置进行硬编码,那么在列更改的情况下,您可能会受到伤害。

答案 1 :(得分:0)

我建议你使用模板引擎,如jinja2和python。 (https://github.com/jedelman8/interop-nyc-2014.git) (http://keepingitclassless.net/2014/03/network-config-templates-jinja2/

或者您可以使用简单的Ansible工具和Jinja2模板来生成配置。 (不需要编程技巧) (https://sreeninet.wordpress.com/2014/09/28/ansible-for-networking-automation-part-1/) (https://sreeninet.wordpress.com/2014/09/28/ansible-for-network-automation-part-2/) (https://sreeninet.wordpress.com/2014/09/28/network-device-configuration-using-templates-with-jinja2-and-yaml/) (http://jedelman.com/home/ansible-for-networking/

我还建议你看一个非常好的图书馆" netmiko"对于将来的ssh连接和推送,拉配置(https://github.com/ktbyers/netmiko/tree/master/examples

以上所有选项都适合您。见下面的例子。我自己是网络专家,发现这些很有用。