Skip to main content

A NetBox plugin for Access List management

Project description

NetBox Access Lists Plugin

A Netbox plugin for Access List management.

Features

This plugin provides the following models:

  • Access Lists
  • Access List to Interface Assignment
  • Access List Rules (abstract model bassis for other rules)
  • Access List Standard Rules
  • Access List Extended Rules

Origin

Based on the NetBox plugin tutorial by jeremystretch:

All credit should go to Jeremy. Thanks, Jeremy!

This project just looks to build on top of this framework and model presented.

Contributing

This project is currently maintained jointly by:

See the CONTRIBUTING for more information.

Compatibility

Each Plugin Version listed below has been tested with its corresponding NetBox Version.

NetBox Version Plugin Version
3.2 1.0.1
3.3 1.1.0
3.4 1.2.2
3.5 1.3.0

Installing

For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.

You can install with pip:

pip install netbox-acls

or by adding to your local_requirements.txt or plugin_requirements.txt (netbox-docker):

netbox-acls

Configuration

Enable the plugin in /opt/netbox/netbox/netbox/configuration.py, or if you use netbox-docker, your /configuration/plugins.py file :

PLUGINS = [
    "netbox_acls"
]

PLUGINS_CONFIG = {
    "netbox_acls": {
        "top_level_menu": True # If set to True the plugin will add a top level menu item for the plugin. If set to False the plugin will add a menu item under the Plugins menu item.  Default is set to True.
    },
}

Developing

VSCode + Docker + Dev Containers

To develop this plugin further one can use the included .devcontainer configuration. This configuration creates a docker container which includes a fully working netbox installation. Currently it should work when using WSL 2. For this to work make sure you have Docker Desktop installed and the WSL 2 integrations activated.

  1. In the WSL terminal, enter code to run Visual studio code.
  2. Install the devcontainer extension "ms-vscode-remote.remote-containers"
  3. Press Ctrl+Shift+P and use the "Dev Container: Clone Repository in Container Volume" function to clone this repository. This will take a while depending on your computer
  4. If you'd like the netbox instance to be prepopulated with example data from netbox-initializers run make initializers
  5. Start the netbox instance using make all

Your netbox instance will be served under 0.0.0.0:8000, so it should now be available under localhost:8000.

Screenshots

Access List - List View Access List - List View

Access List (Type Extended) - Individual View Access List Type Extended - Individual View

Access List (Type Standard) - Individual View Access List Type Standard - Individual View

Extended Access List Rules - List View Extended Access List Rules - List View

Standard Access List Rules - List View Standard Access List Rules - List View

Access List Interface Assignments- List View Access List Interface Assignments- List View

Host (device, virtual_chassis, virtual_machine) Access Lists - New Card Host Access Lists - New Card

Host Interface (vminterface interface) Access Lists - New Card Host Interface Access Lists - New Card

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox-acls-1.3.0.tar.gz (29.6 kB view hashes)

Uploaded source

Built Distribution

netbox_acls-1.3.0-py3-none-any.whl (39.9 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page