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-configautomatically - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nautobot_custom_tunnel_builder-0.3.1a3.tar.gz.
File metadata
- Download URL: nautobot_custom_tunnel_builder-0.3.1a3.tar.gz
- Upload date:
- Size: 796.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a803f7907d7ae2905feaec0f1a252adcdd2a34a3e4cc48f5835d79a86e36c316
|
|
| MD5 |
ab014fe5b5fbfe515ad3faba251a267a
|
|
| BLAKE2b-256 |
330c9ae0da9f7d9b3e0a2314e7c6f06e4f8a497d0f10233fc2cd1544dcf0775c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_custom_tunnel_builder-0.3.1a3.tar.gz -
Subject digest:
a803f7907d7ae2905feaec0f1a252adcdd2a34a3e4cc48f5835d79a86e36c316 - Sigstore transparency entry: 1092070819
- Sigstore integration time:
-
Permalink:
nrtc-ops/nautobot-app-custom-tunnel-builder@bfde28a8fe0f5ec529b12d32d918ac79a042bd9c -
Branch / Tag:
refs/tags/v0.3.1a3 - Owner: https://github.com/nrtc-ops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bfde28a8fe0f5ec529b12d32d918ac79a042bd9c -
Trigger Event:
release
-
Statement type:
File details
Details for the file nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl.
File metadata
- Download URL: nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl
- Upload date:
- Size: 867.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a06394ec63a9720282fbd816ac5c4b81a2283f4c98552f3699d39c0bef9165f2
|
|
| MD5 |
75331ea89dc380ac66a8ffc6c5b10839
|
|
| BLAKE2b-256 |
35cc113891568b91742e11f8c19127e9bd1cbc8f8d107d1c08f40c9cedc703f4
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nautobot_custom_tunnel_builder-0.3.1a3-py3-none-any.whl -
Subject digest:
a06394ec63a9720282fbd816ac5c4b81a2283f4c98552f3699d39c0bef9165f2 - Sigstore transparency entry: 1092070826
- Sigstore integration time:
-
Permalink:
nrtc-ops/nautobot-app-custom-tunnel-builder@bfde28a8fe0f5ec529b12d32d918ac79a042bd9c -
Branch / Tag:
refs/tags/v0.3.1a3 - Owner: https://github.com/nrtc-ops
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bfde28a8fe0f5ec529b12d32d918ac79a042bd9c -
Trigger Event:
release
-
Statement type: