Git Product home page Git Product logo

netbox-acls's Introduction

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 basis 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.7 1.5.0
3.6 1.4.0
3.5 1.3.0
3.4 1.2.2
3.3 1.1.0
3.2 1.0.1

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

netbox-acls's People

Contributors

ryanmerolle avatar jeremystretch avatar abhi1693 avatar dependabot[bot] avatar jahknem avatar jeffgdotorg 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.