netbox README

The project's README from github.com/netbox-community/netbox. As one markdown file: README.md.

NetBox logo

The cornerstone of every automated network

Latest release License Contributors GitHub stars Languages supported CI status

NetBox Community | NetBox Cloud | NetBox Enterprise

NetBox exists to empower network engineers. Since its release in 2016, it has become the go-to solution for modeling and documenting network infrastructure for thousands of organizations worldwide. As a successor to legacy IPAM and DCIM applications, NetBox provides a cohesive, extensive, and accessible data model for all things networked. By providing a single robust user interface and programmable APIs for everything from cable maps to device configurations, NetBox serves as the central source of truth for the modern network.

NetBox's Role | Why NetBox? | Getting Started | Plugins | Get Involved | Screenshots

NetBox user interface screenshot

NetBox's Role

NetBox functions as the source of truth for your network infrastructure. Its job is to define and validate the intended state of all network components and resources. NetBox does not interact with network nodes directly; rather, it makes this data available programmatically to purpose-built automation, monitoring, and assurance tools. This separation of duties enables the construction of a robust yet flexible automation system.

Reference network automation architecture

The diagram above illustrates the recommended deployment architecture for an automated network, leveraging NetBox as the central authority for network state. This approach allows your team to swap out individual tools to meet changing needs while retaining a predictable, modular workflow.

Why NetBox?

Comprehensive Data Model

Racks, devices, cables, IP addresses, VLANs, circuits, power, VPNs, and lots more: NetBox is built for networks. Its comprehensive and thoroughly inter-linked data model provides for natural and highly structured modeling of myriad network primitives that just isn't possible using general-purpose tools. And there's no need to waste time contemplating how to build out a database: Everything is ready to go upon installation.

Focused Development

NetBox strives to meet a singular goal: Provide the best available solution for making network infrastructure programmatically accessible. Unlike "all-in-one" tools which awkwardly bolt on half-baked features in an attempt to check every box, NetBox is committed to its core function. NetBox provides the best possible solution for modeling network infrastructure, and provides rich APIs for integrating with tools that excel in other areas of network automation.

Extensible and Customizable

No two networks are exactly the same. Users are empowered to extend NetBox's native data model with custom fields and tags to best suit their unique needs. You can even write your own plugins to introduce entirely new objects and functionality!

Flexible Permissions

NetBox includes a fully customizable permission system, which affords administrators incredible granularity when assigning roles to users and groups. Want to restrict certain users to working only with cabling and not be able to change IP addresses? Or maybe each team should have access only to a particular tenant? NetBox enables you to craft roles as you see fit.

Custom Validation & Protection Rules

The data you put into NetBox is crucial to network operations. In addition to its robust native validation rules, NetBox provides mechanisms for administrators to define their own custom validation rules for objects. Custom validation can be used both to ensure new or modified objects adhere to a set of rules, and to prevent the deletion of objects which don't meet certain criteria. (For example, you might want to prevent the deletion of a device with an "active" status.)

Device Configuration Rendering

NetBox can render user-created Jinja2 templates to generate device configurations from its own data. Configuration templates can be uploaded individually or pulled automatically from an external source, such as a git repository. Rendered configurations can be retrieved via the REST API for application directly to network devices via a provisioning tool such as Ansible or Salt.

Custom Scripts

Complex workflows, such as provisioning a new branch office, can be tedious to carry out via the user interface. NetBox allows you to write and upload custom scripts that can be run directly from the UI. Scripts prompt users for input and then automate the necessary tasks to greatly simplify otherwise burdensome processes.

Automated Events

Users can define event rules to automatically trigger a custom script or outbound webhook in response to a NetBox event. For example, you might want to automatically update a network monitoring service whenever a new device is added to NetBox, or update a DHCP server when an IP range is allocated.

Comprehensive Change Logging

NetBox automatically logs the creation, modification, and deletion of all managed objects, providing a thorough change history. Changes can be attributed to the executing user, and related changes are grouped automatically by request ID.

[!NOTE] A complete list of NetBox's myriad features can be found in the introductory documentation.

Getting Started

Plugins

NetBox's functionality can be extended through plugins, which add new models, views, and integrations on top of the core application. A few of the most popular plugins include:

Get Involved

Screenshots

NetBox Dashboard (Light Mode)
NetBox dashboard (light mode)

NetBox Dashboard (Dark Mode)
NetBox dashboard (dark mode)

Prefixes List
Prefixes list

Rack View
Rack view

Cable Trace
Cable trace

netbox (netbox-community/netbox)

Searching Database…

21.7K ·GitHub
这是什么?NetBox 是一个开源的网络基础设施“真相源”(source of truth):它对联网的一切——机架、线缆、IP 地址——进行建模和记录,并把这些数据提供给你的自动化工具。
这是要装在服务器上的软件,还是云服务?核心项目是一个基于 Django(Python)构建的自托管 Web 应用,团队在浏览器里使用;另外也有带免费套餐的 NetBox Cloud 托管版本。
我怎么把它跑起来?按照官方文档里的安装指南操作就行;如果你只是想先看看,现在就能打开公开演示版。
它能帮我配置交换机和路由器吗?不能——NetBox 按设计从不直接碰网络设备。它只负责定义并校验期望状态,以编程方式把这些数据提供出去,实际干活的是专门的自动化、监控和保障工具。
为什么不用表格软件或通用的 CMDB 来管理网络信息?通用工具表达不了网络各要素之间的关系;NetBox 自带一套专门构建、互相关联的数据模型,装好就能用——你不用自己设计数据结构。
除了存数据,NetBox 自己还能做什么?它能用 Jinja2 模板渲染设备配置,可以从界面运行自定义脚本来完成诸如为新分支机构开通资源之类的任务,能触发事件规则的 webhook,还保留完整的变更历史。
它对我录入的数据要求严格吗?除了自带的校验规则,管理员还可以定义自定义校验和保护规则——比如禁止删除状态为 active 的任何设备。
What are similar projects?fleetbase, labtether, evenfire, bisibility, clevis, awx, salt, NodePilot
Size
219.2 MB
Stars
21.7K
Age
10y
Commits · 90 Days