Skip to main content

VPN APP

Project description

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 >= 3.0,<4.0 (validated on 3.0.1)
  • Python >= 3.11
  • 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:

NEO4J_URI = "bolt://neo4j:7687" NEO4J_USER = "neo4j" NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD", "testneo4j")

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

PLUGINS_CONFIG = {
    "nautobot_app_vpn": {
        "map": {
        "style_url": "https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",
        "attribution": "&copy; OpenStreetMap contributors &copy; CARTO"
        }
    },
}

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

Project details


Download files

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

Source Distribution

nautobot_app_vpn-2.0.1.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nautobot_app_vpn-2.0.1-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file nautobot_app_vpn-2.0.1.tar.gz.

File metadata

  • Download URL: nautobot_app_vpn-2.0.1.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for nautobot_app_vpn-2.0.1.tar.gz
Algorithm Hash digest
SHA256 55fab475c3ccce49aab9683eaff44f1c1b696d7967b2483e773b28ebb7ac28a3
MD5 a93652bde68667fe5534ab24a9f6ef93
BLAKE2b-256 d2ddd9838bf2fd9d1d3b897c74e49cdda00a86cd3ffb519444354bbee15debf1

See more details on using hashes here.

File details

Details for the file nautobot_app_vpn-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nautobot_app_vpn-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 83e6353d93e0afeed6eb75fb3163dd022c5b55675aec0d54aa3ba039de7c02ee
MD5 51e28f139820d8a7e3e683da30c3bc3f
BLAKE2b-256 5ef2bc3fa0306863d36fc963fbd878ba7f7b834d323e3310a22ca57fa66a6030

See more details on using hashes here.

Supported by

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