Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

Questions? Comments? Please join us on IRC in #netbox on irc.freenode.net!

Build Status

python 2.7
masterBuild Status
developBuild Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see docs/getting-started.md for instructions on installing NetBox.

To upgrade NetBox, please download the latest release and run upgrade.sh.

Components

NetBox understands all of the physical and logical building blocks that comprise network infrastructure, and the manners in which they are all related.

DCIM

DCIM comprises all the physical installations and connections which comprise a network. NetBox tracks where devices are installed, as well as their individual power, console, and network connections.

Site: A physical location (typically a building) where network devices are installed. Devices in different sites cannot be directly connected to one another.

Rack: An equipment rack into which devices are installed. Each rack belongs to a site.

Device: Any type of rack-mounted device. For example, routers, switches, servers, console servers, PDUs, etc. 0U (non-rack-mounted) devices are supported.

IPAM

IPAM deals with the IP addressing and VLANs in use on a network. NetBox makes a distinction between IP prefixes (networks) and individual IP addresses.

Because NetBox is a combined DCIM/IPAM system, IP addresses can be assigned to device interfaces in the application just as they are in the real world.

Aggregate: A top-level aggregate of IP address space; for example, 10.0.0.0/8 or 2001:db8::/32. Each aggregate belongs to a regional Internet registry (RIR) like ARIN or RIPE, or to an authoritative standard such as RFC 1918.

VRF: A virtual routing table. VRF support is currently still under development.

Prefix: An IPv4 or IPv6 network. A prefix can be assigned to a VRF; if not, it is considered to belong to the global table. Prefixes are grouped by aggregates automatically and can optionally be assigned to sites.

IP Address: An individual IPv4 or IPv6 address (with CIDR mask). IP address can be assigned to device interfaces.

VLAN: VLANs are assigned to sites, and can optionally have one or more IP prefixes assigned to them. VLAN IDs are unique only within the scope of a site.

Circuits

Long-distance data connections are typically referred to as circuits. NetBox provides a method for managing circuits and their providers. Individual circuits can be terminated to device interfaces.

Provider: An entity to which a network connects to. This can be a transit provider, peer, or some other organization.

Circuit: A data circuit which connects to a provider. The local end of a circuit can be assigned to a device interface.

Secrets

NetBox provides encrypted storage of sensitive data it calls secrets. Each user may be issued an encryption key with which stored secrets can be retrieved.

Note that NetBox does not merely hash secrets, a function which is only useful for validation. It employs fully reversible AES-256 encryption so that secret data can be retrieved and consumed by other services.

Secrets Any piece of confidential data which must be retrievable. For example: passwords, SNMP communities, RADIUS shared secrets, etc.

User Key: An individual user's encrypted copy of the master key, which can be used to retrieve secret data.

About

IP address management (IPAM) and data center infrastructure management (DCIM) tool.

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages