• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Python
  • Created over 2 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A short course designed to take new NetBox users from ‘Zero to Hero’.

NetBox - Zero To Hero Course

Introduction

Hello and welcome to this short course designed to take new NetBox users from 'Zero to Hero'. We are excited to have you here!

The goals of this course are as follows:

  • Enable you to get up and running with minimal fuss and immediately start to get value from NetBox
  • Build a solid foundation from which you can start to leverage NetBox's extra features ie. custom fields, reports, plugins etc
  • Introduce the power of NetBox to drive your Network Automation efforts as the 'Single Source Of Truth' for your NetDevOps workflows

Course Format

The course consists of bite sized modules, each one introducing a new concept or feature of NetBox. Each module is a step in the journey that leads to the deployment of a new branch office network at a remote site for a fictional company.

Each module includes a video teaching you how to interact with NetBox either via the Web UI or programmatically using the REST API. You can follow along with your own instance of NetBox, and all the code is available in the accompanying Git Repository - including a Postman Collection, Ansible Playbooks and Python Scripts - so you will have a fully working code base which you can clone to get you started on your way to becoming a NetBox Hero!

Join the Discussion

If you have any questions as you go through the course then pop on over to the NetBox Zero to Hero channel on the NetDev Community Slack! If you aren't already a member then you can sign up for free here.

Example Scenario

The fictional scenario that will be used throughout this course to demonstrate NetBox features is:

  • The organization is a small consulting firm, with a small IT team
  • The network consists of two Data Centers, plus multiple branch office locations around the world
  • Susan and Eric are awesome Network Engineers with a burning desire to introduce this amazing 'NetDevOps' stuff they keep hearing about (so they can do less work but still wow the bosses!)
  • The network team has been handed a new project to deploy a branch office network in the new location in Brisbane, Australia. The corporate standard branch office design consists of a WAN Router, an Access Switch and Wireless Access Points
  • Susan and Eric are going to use NetBox every step of the way to help deliver the project on time and also to power some network automation to get the devices configured error free (this has long been a problem for them with new sites taking hours and even days to stand up!)

So, with that said, lets dive in!

Modules

  • NetBox overview
  • Introduction to the Web Interface and the REST API
  • Model the organization using tenant groups, tenants, regions, site groups, sites, locations, racks and contacts
  • Use the web interface to manually add data for the organization
  • Use the web interface to bulk upload data for the organization
  • Add Manufacturers, Device Types, Platforms, Device Roles and Devices
  • Use Postman to make REST API calls into NetBox to add devices
  • Add IPAM (IP Address Management) Data - RIRs, Aggregates, Prefixes, IP Addresses and VLANs
  • Integrate NetBox with Ansible, and run playbooks to populate the NetBox database with IPAM data
  • Add the Cables, Interface, console and power connections
  • Use the web interface to bulk upload data for Cables and Connections
  • Use the web interface to view the Cables, Interface and Console connections
  • Add Wireless LANs
  • Use simple Python scripts to interact with the NetBox REST API to add Wireless LANs
  • Use the web interface to view Wireless LAN information
  • Set up Ansible to use NetBox as the source of it's Dynamic Inventory
  • Write Ansible playbooks to make REST API calls to NetBox and extract the data to build the device configurations
  • Automate the generation of device configurations using Jinja templates, passing in the data from NetBox
  • Describe how NetBox models Virtualization, including Cluster Types, Clusters, Platforms, VMs and VM Interfaces
  • Describe how to model network services associated with devices and/or virtual machines, along with specific IP addresses
  • Use the web interface to manually add Virtualization and service data, including bulk uploading larger amounts of data where required
  • Describe how NetBox models facility power as discrete power panels and feeds
  • Understand how to add Power Distribution Units (PDUs) to supply power to individual devices
  • Use the web interface to manually add all data relating to facility power including bulk uploading cable connections from CSV data
  • Describe how NetBox models service providers and circuits
  • Understand how to "connect" circuits directly to device interfaces via cables
  • Use Postman to make API calls to NetBox to add this data programmatically
  • Describe what Custom Scripts are in NetBox and what kind of tasks they can be used to accomplish
  • Understand the basics of writing Custom Scripts and also where to find documentation to help you develop your own scripts
  • Kick start your own Custom Scripts collection, with two example scripts to get you up and running.
  • Describe what NetBox reports are and what kind of things they can be used to verify
  • Understand the basics of reports and also where to find documentation and examples to help you develop your own reports
  • Kick start your own NetBox reports collection, with two example reports to get you up and running

Useful Links

More Repositories

1

netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
Python
15,828
star
2

netbox-docker

🐳 Docker Image of NetBox
Python
1,800
star
3

devicetype-library

A collection of community-sourced DeviceType definitions for import to NetBox
Python
899
star
4

netbox-topology-views

A netbox plugin that draws topology views
Python
753
star
5

pynetbox

Python API client library for Netbox.
Python
563
star
6

ansible_modules

NetBox modules for Ansible using Ansible Collections
Python
327
star
7

Device-Type-Library-Import

This library is intended to assist with importing device and module types into NetBox from the NetBox Community DeviceType-Library
Python
262
star
8

netbox-chart

A Helm chart for NetBox
Mustache
247
star
9

netbox-bgp

NetBox plugin for BGP related objects documentation
Python
242
star
10

customizations

A collection of community submitted and maintained customizations including reports, scripts, validators and export templates
Python
205
star
11

netbox-qrcode

NetBox Plugin for generate QR Codes
Python
201
star
12

go-netbox

The official Go API client for Netbox IPAM and DCIM service.
Shell
197
star
13

awesome-netbox

A curated list of awesome NetBox resources
186
star
14

netbox-plugin-tutorial

A tutorial on building custom plugins for NetBox v3.2+
89
star
15

netbox-acls

A NetBox plugin for Access Lists based off of the NetBox Plugin Demo
Python
86
star
16

netbox-napalm-plugin

NetBox Napalm plugin
JavaScript
49
star
17

netbox-reorder-rack

NetBox plugin to allow users to reorder devices within a rack using a drag and drop UI.
Python
45
star
18

netbox-python

Python NetBox API Client
Python
37
star
19

netbox-operator

[INCUBATING] A Kubernetes operator to manage NetBox resources directly through Kubernetes.
Go
33
star
20

cookiecutter-netbox-plugin

Cookiecutter template for easy building NetBox plugins
Python
22
star
21

netbox-healthcheck-plugin

HTML
20
star
22

netbox-demo-data

Demo data useful for populating demo instances of NetBox
19
star
23

migration-scripts

Python
10
star
24

netbox-plugin-demo

Python
7
star
25

netbox.dev-old

netbox.dev website
HTML
1
star
26

netbox-demo

A plugin for NetBox demo instances
Python
1
star