Tuesday, December 5, 2017

Last week I shared screenshots of a GUI overlay I wrote for my non-API Cisco gear. It's now available on Github. I proudly present, NetConfig

I received such great feedback last week, so thank you all for the comments and inspiration. It took a little longer than anticipated, but it's now available on Github. Link can be found here: http://ift.tt/2jgbEra

NetConfig Concept

I have a number of Cisco Catalyst switches and routers that do not have any API access or easy way of managing them. I've been writing scripts for them for the past few years, and was wanting to make them more accessible via some sort of web app interface.

So I wrote NetConfig, from the ground up. You can see screenshots here: http://ift.tt/2zFVtxo

I'm currently using it to manage my Cisco Nexus and Catalyst switches, routers, and ASA's. (NX-OS, IOS, IOS-XE, and ASA). There are some minor bugs here and there, but it's still something I've been working on actively for 2-3 months now.

I am still very much interested in feedback and any help contributing to this. I intend to continue working on this project in my spare time, and will post updates to the GitHub page as I update the program.

NetConfig Building Blocks

NetConfig is built on Ubuntu 16.04 Server Edition. I haven't tested this on other OS's. Install instructions can be found in INSTALL.txt. I've run through these a few times from a fresh Ubuntu install, and it works well, so let me know if you run into issues.

What NetConfig is

This was originally written as a graphical overlay for my existing Python scripts, and just kept growing. It is built on Flask and Python 2.7, uses HTML and JavaScript on the front end, and Bootstrap for formatting.

It is built specifically for Cisco switches, routers, and firewalls, which use IOS, IOS-XE, NX-OS, or ASA platforms. It will work with any other systems. Since my existing devices I use do not have API support, all real-time data is pulled via SSH and Netmiko. As such, I'm sure there will be formatting bugs and layout issues with other devices. Feel free to post issues or fixes on Github.

What NetConfig is not

This is not an automation or error checking tool. It may evolve into one later on, but not yet.

I plan to work on documentation in the next couple of weeks, as right now there isn't any. In the meantime, please reference the README.txt to get started.

New Features since last week

  1. I had a few requests for Netbox support, since many people (myself included) use Netbox as their DCIM source of truth. NetConfig now supports using Netbox to pull device inventory.
    Note: please read the instructions in NETBOX-INTEGRATION.txt carefully, as there are some custom fields that need to be set in Netbox to work properly with NetConfig.
  2. NetConfig supports a local database file to store device names IP's, and device types. NetConfig now supports multiple device importing using CSV formatting.


No comments:

Post a Comment