NetBox RPKI Plugin
Netbox plugin for adding BGP RPKI elements.
Free software: Apache-2.0
Features
Implements data models and forms for modeling Resource Public Key Infrastructure (RPKI) items. On organization the publishes ROAs (either self-hosted, or through a RIR’s hosted-RPKI service) can use this plugin to create a self-hosted record of the critical RPKI elements such as resource certificates and ROAs
Models / DB tables
Organization
Represents a customer/consumer of Regional Internet Registrar (RIR) RPKI services
Fields
org-id, name, ext_url, parent_rir (foreign key to IPAM ASN)
Resource Certificate
Represents the “Resource Certificate” element of the RPKI architecture
An X.509 certificate with RFC3779-style extensions for IPs/ASNs
Signed by an RIR’s RPKI trust-anchor certificate
Attests to authority for at least one ASN and at least one IP netblock
Used to sign the RPKI End Entity (EE) certificates which are used to sign individual ROAs
May be either self-hosted/managed/published (managed by customer) or managed by the RIR (as part of a “managed” RPKI service)
Fields
name, issuer, subject, serial, valid_from, valid_to, auto_renews, public_key, private_key, publication_url, ca_repository, self_hosted, rpki_org (foreign key to rpki organization)
ROA prefix
Represents the attestion relationship between an ROA and a prefix.
This model/table is not explicitly accessible via the UI menu
ROA ASN
Represents the attestion relationship between an ROA and an ASN.
This model/table is not explicitly accessible via the UI menu
Certificate prefix
Represents the attestion relationship between an ROA and a prefix.
This model/table is not explicitly accessible via the UI menu
Certificate ASN
Represents the attestion relationship between an ROA’s EE certificate and an ASN.
This model/table is not explicitly accessible via the UI menu
Screencaps
RPKI Organizations/Certificates/Resources
RPKI ROAs
Compatibility
Installing
For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.
Install using pip:
pip install netbox_rpki
or by adding to your local_requirements.txt
or plugin_requirements.txt
(netbox-docker):
netbox_rpki
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py
,
or if you use netbox-docker, your /configuration/plugins.py
file :
PLUGINS = [
'netbox_rpki'
]
PLUGINS_CONFIG = {
"netbox_rpki": {'top_level_menu': False},
}
Run python -m manage.py migrate
from the …/netbox/netbox/ directory in your netbox installation. (or include the manage.py migrate command in Dockerfile-Plugins if using netbox-docker.)