A Netbox plugin for Access List management.
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
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.
This project is currently maintained jointly by:
See the CONTRIBUTING for more information.
Each Plugin Version listed below has been tested with its corresponding NetBox Version.
NetBox Version | Plugin Version |
---|---|
4.1.x | 1.7.0 |
>= 4.0.2 < 4.1.0 | 1.6.1 |
3.7.x | 1.5.0 |
3.6.x | 1.4.0 |
3.5.x | 1.3.0 |
3.4.x | 1.2.2 |
3.3.x | 1.1.0 |
3.2.x | 1.0.1 |
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
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.
},
}
To add the required netbox-acls
tables to your NetBox database, run the migrate
manager subcommand in the NetBox virtual environment:
cd /opt/netbox
sudo ./venv/bin/python3 netbox/manage.py migrate
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.
- In the WSL terminal, enter
code
to run Visual studio code. - Install the devcontainer extension "ms-vscode-remote.remote-containers"
- 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
- If you'd like the netbox instance to be prepopulated with example data from netbox-initializers run
make initializers
- 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.
Access List (Type Extended) - Individual View
Access List (Type Standard) - Individual View
Extended Access List Rules - List View
Standard Access List Rules - List View
Access List Interface Assignments- List View
Host (device, virtual_chassis, virtual_machine) Access Lists - New Card
Host Interface (vminterface interface) Access Lists - New Card