Skip to main content

Nautobot app to build IPsec tunnels on Cisco IOS-XE devices

Project description

Nautobot Custom Tunnel Builder

⚠️ Alpha Software: This project is currently in alpha and is under active development. APIs, configuration options, and behavior may change between releases. Use in production environments is not recommended until a stable release is published.

An app for Nautobot that provides a ui/form for inputting tunnel configuration then builds device configurations and automated jobs to push to devices.


Overview

A Nautobot 3.x app that provides a custom web form for building policy-based IPsec tunnels (IKEv1 or IKEv2) on Cisco IOS-XE devices (CSR 1000v, ASR 1000, ISR 4000).

Operators fill out the form, click Build Tunnel, and a Nautobot Job SSHes into the target device, generates and pushes the full crypto map–based IPsec configuration, then saves the running config — all without leaving the browser.

Features

  • Custom Nautobot form at /plugins/tunnel-builder/
  • Policy-based IPsec using crypto maps and crypto ACLs
  • IKEv2 support: proposal → policy → keyring → profile → transform-set → crypto map
  • IKEv1 support: ISAKMP policy + pre-shared key → transform-set → crypto map
  • Algorithm choices: AES-128/192/256, AES-GCM-128/256 (IKEv2), SHA-1/256/384/512, MD5, DH groups 2/5/14/19/20/21
  • IKE version toggle with live show/hide of version-specific form sections
  • Form-level validation including CIDR network parsing and GCM ↔ HMAC cross-field enforcement
  • Nautobot Job (BuildIpsecTunnel) runnable from both the custom form and the Jobs UI
  • SSH via Netmiko — no RESTCONF or NETCONF required
  • PSK redacted from all job logs
  • Runs copy running-config startup-config automatically
  • Navigation menu entry under Network Tools → VPN

Requirements

  • Nautobot >= 3.0.0+
  • Python >= 3.10, < 3.13
  • Netmiko >= 4.0

Documentation

Full documentation for this App can be found in docs/.

Contributing to the Documentation

You can find all the Markdown source for the App documentation under the docs folder in this repository. For simple edits, a Markdown capable editor is sufficient: clone the repository and edit away.

If you need to view the fully-generated documentation site, you can build it with MkDocs. A container hosting the documentation can be started using the invoke commands (details in the Development Environment Guide) on http://localhost:8001. As your changes are saved, they will be automatically rebuilt and any pages currently being viewed will be reloaded in your browser.

Questions

For any questions or comments, please check the FAQ first. Feel free to also swing by the Network to Code Slack (channel #nautobot), sign up here if you don't have an account.

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_custom_tunnel_builder-0.3.1a3.tar.gz (796.0 kB view details)

Uploaded Source

Built Distribution

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

nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl (867.5 kB view details)

Uploaded Python 3

File details

Details for the file nautobot_custom_tunnel_builder-0.3.1a3.tar.gz.

File metadata

File hashes

Hashes for nautobot_custom_tunnel_builder-0.3.1a3.tar.gz
Algorithm Hash digest
SHA256 a803f7907d7ae2905feaec0f1a252adcdd2a34a3e4cc48f5835d79a86e36c316
MD5 ab014fe5b5fbfe515ad3faba251a267a
BLAKE2b-256 330c9ae0da9f7d9b3e0a2314e7c6f06e4f8a497d0f10233fc2cd1544dcf0775c

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_custom_tunnel_builder-0.3.1a3.tar.gz:

Publisher: release.yml on nrtc-ops/nautobot-app-custom-tunnel-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl.

File metadata

File hashes

Hashes for nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl
Algorithm Hash digest
SHA256 a06394ec63a9720282fbd816ac5c4b81a2283f4c98552f3699d39c0bef9165f2
MD5 75331ea89dc380ac66a8ffc6c5b10839
BLAKE2b-256 35cc113891568b91742e11f8c19127e9bd1cbc8f8d107d1c08f40c9cedc703f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl:

Publisher: release.yml on nrtc-ops/nautobot-app-custom-tunnel-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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