Thanks to visit codestin.com
Credit goes to github.com

Skip to content

iss-world/nautobot-app-vpn

Repository files navigation

Nautobot VPN App

Nautobot VPN App Logo

CI Status PyPI Version PyPI Downloads

An App for Nautobot

Overview

A Nautobot plugin designed to model, visualize, and manage VPN infrastructure, including IPSec tunnels, IKE gateways, crypto profiles, and dynamic topology diagrams sourced from Neo4j.


Key Features

  • IKE Gateway and IPSec Tunnel modeling
  • Inline or default crypto profile selection
  • Dynamic tunnel provisioning form with interface auto-selection
  • Topology visualization via Neo4j + Cytoscape

Requirements

  • Nautobot >= 2.4.0
  • Python >= 3.8
  • Neo4j >= 5.0 (for topology view)

Installation

1. Install via pip

pip install nautobot-app-vpn

2. Enable the plugin

In your nautobot_config.py, add to PLUGINS and configure Neo4j settings:

PLUGINS = [
    "nautobot_app_vpn",
    # ...
]

PLUGINS_CONFIG = {
    "nautobot_app_vpn": {
        "neo4j": {
            "uri": "bolt://neo4j:7687",
            "user": "neo4j",
            "password": "testneo4j",  # Change this
        }
    }
}

Docker/Compose Setup (Optional)

If you are using docker-compose, include this plugin in your plugin_requirements.txt:

nautobot_app_vpn

Then rebuild Nautobot:

docker-compose build nautobot

Usage

Topology View

The plugin provides a Neo4j-powered dashboard under Plugins > VPN Dashboard, enabling visualization of active IPSec tunnels and their metadata using Open Street Map.

Forms for Provisioning

  • Auto-select interfaces based on ISP zone tags
  • Auto-populate IPs from synced device data
  • Support dynamic IP tunnels
  • Create or select IKE/IPsec crypto profiles

Screenshots

VPN Menu

VPN Dashboard

IKE Crypto

IPsec Crypto

IKE Gateway

IPSec Tunnel

Tunnel Monitor


Development

Clone and install in editable mode:

git clone https://github.com/iss-world/nautobot-app-vpn.git
cd nautobot-app-vpn
poetry install

Run linters locally

ruff check .
yamllint .

Contributing

Pull requests are welcome! Please ensure code follows Nautobot plugin guidelines and passes all checks.


License

Apache License 2.0. See LICENSE for details.


Author

Maintained by @npolisetty26