我正在多个地点为我的客户安装Cisco ASA防火墙。所有位置的基本ASA配置与接口IP地址,路由下一跳等特定事物的偏差相同。
对于每个位置,我都有一张包含所有变量的Excel表格。
我知道基本的Python。问题是:是否有可能在python中编写一个脚本,它将读取Excel表中的变量并生成ASA的配置?
此外,有人可以推荐一个源来学习针对网络或这样的自动化任务的脚本吗? (简单的谷歌搜索引导我到许多令人困惑的选项,因此这里的问题)
答案 0 :(得分:0)
这很容易用Python完成,但需要学习一些。
根据Excel文件的格式,我建议OpenPyXL或XLRD。
这还取决于您想要输出的配置格式。如果它是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)
以上所有选项都适合您。见下面的例子。我自己是网络专家,发现这些很有用。