Giter VIP home page Giter VIP logo

jinja2-ios-config's Introduction

ABOUT

This is a Jinja2 template for classic IOS switches including some common best practices configuration.

It's inspired by Mierdin/jinja2-nxos-config

Additionally, i added a Vlan "Census" tool. It's meant as a utility to have a quick overview of which vlan is present on which switch. Given a list of hosts and some common settings from YaML files, it will trawl a network and present a table of each vlan and the switches it's configured on.

HOW

It uses YaML files for device-specific configuration. One file per device, containing details for management and for data plane operation (which vlans, where etc.)

REQUIREMENTS

It needs Python2 (obviously) with Jinja2 and YAML support.

TODO

I need to put a TODO list to writing because the task at hand feels a bit overwhelming to me.

  • Move everything to ansible
  • Automatic configuration push not important right now, having config generated and placed in a local directory fine too.
  • Evaluate the following projects for pushing config to routers and switches
  • Vanilla template with common settings
  • Create configuration snippets for the following components:
    • Authentication (defaults + radius yes/no and ip address + psk in vars file)
    • L2
      • VLAN creation
      • Trunk and access port configuration (define a range of ports with property "access" in inventory file, a range with propery "trunk" and what should go into each, access and voice vlan for access ports and allowed vlans for trunk ports)
      • MSTP yes/no and if yes, make a list of vlans and put first half in instance 1 and second half in instance 2 -- OPTIONAL
    • L3/L4
      • Site to Site IKEv2 VPN (define a bunch of variables such as psk, target host, etc. in inventory file and derive every necessary field from it including interesting traffic acl, nat exempt statement etc.)
      • Internet Access NAT (with IPSla and Route-Map per-interface natting)
      • Port Forwarding NAT
      • HSRP
      • OSPF Routing -- OPTIONAL

jinja2-ios-config's People

Contributors

itsgc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.