Skip to main content

NetBox FreeIPA Plugin

NetBox plugin for integration with FreeIPA identity management system. View and manage FreeIPA enrolled hosts, DNS zones, and records directly from NetBox.

Features

  • View enrolled hosts from FreeIPA
  • DNS zones and records management
  • Detailed host information (FQDN, SSH keys, descriptions)
  • Automatic background synchronization (hosts, DNS zones, and DNS records)
  • Manual sync option via Web UI and API
  • REST API support
  • Filtering and search
  • High-performance bulk operations for large installations

Compatibility

NetBox v4.0 or later (v4.2+ recommended for automatic background synchronization)

Installation

pip install netbox-freeipa

Configuration

Edit /opt/netbox/netbox/netbox/configuration.py:

PLUGINS = ['netbox_freeipa']

PLUGINS_CONFIG = {
    'netbox_freeipa': {
        'freeipa_host': 'ipa.example.com',
        'freeipa_username': 'admin',
        'freeipa_password': 'your-password',
        # Optional settings:
        'freeipa_verify_ssl': True,
        'sync_interval': 300,  # seconds
        'auto_sync_enabled': True,
    }
}

Run migrations and restart:

cd /opt/netbox/netbox
python manage.py migrate
sudo systemctl restart netbox netbox-rq

Important: For automatic background synchronization to work, ensure the netbox-rq worker is running:

# Check status
sudo systemctl status netbox-rq

# View worker logs
sudo journalctl -u netbox-rq -f

Usage

Navigate to Plugins > FreeIPA in NetBox menu to access:

  • Hosts - View and manage FreeIPA enrolled hosts
  • DNS Zones - View DNS zones from FreeIPA
  • DNS Records - View DNS records associated with zones

Automatic Synchronization

The plugin automatically synchronizes all data (hosts, DNS zones, and records) every 5 minutes by default (configurable via sync_interval). Check the Jobs section in NetBox admin to monitor synchronization status.

REST API

# List hosts
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/hosts/

# List DNS zones
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-zones/

# List DNS records
curl -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-records/

# Trigger manual sync for hosts
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/hosts/sync/

# Trigger manual sync for DNS zones
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-zones/sync/

# Trigger manual sync for DNS records
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/dns-records/sync/

# Trigger full sync (all data types)
curl -X POST -H "Authorization: Token YOUR_TOKEN" \
     https://netbox.example.com/api/plugins/freeipa/sync/all/

Build & Publish

# Install build tools
pip install build twine

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

License

Apache License 2.0

Metadata

Release files for netbox-freeipa 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-freeipa 0.3.0
File Size Uploaded
netbox_freeipa-0.3.0.tar.gz 26.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-freeipa 0.3.0
File Interpreter ABI Platform
netbox_freeipa-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 63.4 kB

Release files / netbox_freeipa-0.3.0.tar.gz

Download URL netbox_freeipa-0.3.0.tar.gz
Size 26.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b90331d0e73cba0de3ff5fa264ff4fd3a86a66f87c4464028f446389dfdca561
BLAKE2b-256 checksum
How to use checksums
899856322c448e02a2dfadfb84a98269cce015cfde6b15eee5677e2e0a92f19d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / netbox_freeipa-0.3.0-py3-none-any.whl

Download URL netbox_freeipa-0.3.0-py3-none-any.whl
Size 36.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67854b2d8706d251d34b0881f87ab7494330051623097f6e07ed184a79853fc8
BLAKE2b-256 checksum
How to use checksums
b4657ddb6144cbb68d3049e734d0593e156be820fea722df919abb8c4539eaae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.9

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page