在Ubuntu 20.04上安装和配置NetBox IPAM和DCIM工具

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

记录良好的基础架构说明了如何在组织内落实,组织和介绍运营团队。这有助于为数据中心中的所有设备创建思维导图,因此它不仅可以培训新员工,而且还可以作为简化工作的绝佳工具。在纸上绘制,印刷并粘贴在墙上的日子已经过去。诸如NetBox之类的开放源代码工具的优美之处,使此类文档又轻松又有趣。本指南介绍了如何在新的Ubuntu 20.04(Focal Fossa)上安装NetBox。

在开始之前,让我们了解一下此工具。 NetBox是一个开源IPAM。 DCIM Web应用程序,用于管理和记录计算机网络以及管理IP地址。它最初是由DigitalOcean的网络工程团队构思的。组件概述如下。

归功于Netbox文档页面

Netbox包括以下网络管理方面:

  • IP地址管理(IPAM)-IP网络和地址,VRF和VLAN
  • 设备机架-由团体和站点组织
  • 设备–设备类型和设备安装位置
  • 连接性-设备之间的网络,控制台和电源连接
  • 虚拟化-虚拟机和集群
  • 数据线–长途通信线和提供商
  • 秘密–敏感信息的加密存储

“生活中最大的悲剧之一就是注意潜在的未开发死亡。” — Miles Munroe

步骤1:安装所需的依赖项

最好的入门方法是在Ubuntu 20.04 LTS上安装运行NetBox所需的所有依赖项。因此,如下所示安装所有内容,让我们继续前进。

sudo apt-get install -y git gcc nginx redis s python3-setuptools  graphviz python3 python3-pip python3-venv python3-dev build-essential libxml2-dev libxslt1-dev libffi-dev libpq-dev libssl-dev zlib1g-dev

现在进行下一步以建立数据库等。

步骤2:安装和配置PostgreSQL

NetBox开发人员需要使用PostgreSQL来存储数据。因此,此步骤将安装和配置PostgreSQL服务器。幸运的是,这里有详细的指南来设置PostgreSQL。请检查以下指南。

在Ubuntu 20.04(Focal Fossa)上安装PostgreSQL数据库服务器

成功安装PostgreSQL后,创建NetBox数据库和用户,如下所示。

$ sudo -u postgres psql

CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'StrongPassword';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
q

确保您可以以Netbox用户身份登录数据库。

$ psql -U netbox -h localhost -W

Password: 
psql (12.3 (Ubuntu 12.3-1.pgdg20.04+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

netbox=>

步骤3:安装和配置Netbox

现在,深入本指南并开始从git克隆Netbox并对其进行配置的过程。您可以呼吸新鲜空气,然后再次沉浸以继续前进。

转到/ opt /目录并从git克隆netbox

cd /opt/
sudo git clone -b master https://github.com/digitalocean/netbox.git
cd netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py

编辑配置文件以设置允许的主机和数据库的登录详细信息

$ sudo vim configuration.py

# Example: ALLOWED_HOSTS = ['netbox.example.com', 'netbox.internal.local']
ALLOWED_HOSTS = ['localhost']

# PostgreSQL database configuration.
DATABASE = {
    'NAME': 'netbox',                           # Database name you created
    'USER': 'netbox',                           # PostgreSQL username you created
    'PASSWORD': 'StrongPassword',               # PostgreSQL password you set
    'HOST': 'localhost',                        # Database server
    'PORT': '',                                 # Database port (leave blank for default)
}

创建NetBox用户

将WSGI和HTTP服务配置为在Netbox用户帐户下运行。另外,将媒体目录的所有权分配给该用户。这将允许NetBox保存本地文件。

sudo groupadd --system netbox
sudo adduser --system netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/

设置Python环境

我们使用Python虚拟环境来确保NetBox所需的软件包不会与基本系统中的任何软件包冲突。这将在NetBox根目录中创建一个名为venv的目录。

cd /opt/netbox/
sudo python3 -m venv /opt/netbox/venv

然后激活虚拟环境并安装所需的Python软件包。

$ cd /opt/netbox/
$ source venv/bin/activate
(venv) [email protected]:/opt/netbox$

(venv) [email protected]:/opt/netbox$ sudo pip3 install -r requirements.txt
Collecting Django<3.1,>=3.0
  Downloading Django-3.0.8-py3-none-any.whl (7.5 MB)
     |████████████████████████████████| 7.5 MB 1.7 MB/s

密钥

生成至少50个字母数字字符的随机私钥。

$ cd /opt/netbox/netbox
$ sudo ./generate_secret_key.py

-bUf2WxTdH^8%Kcl(_gnN1ym)[email protected]

然后在文件/opt/netbox/netbox/netbox/configuration.py中设置密钥

例:

$ sudo vim /opt/netbox/netbox/netbox/configuration.py
SECRET_KEY = '-bUf2WxTdH^8%Kcl(_gnN1ym)[email protected]'

执行数据库迁移

在运行NetBox之前,您需要安装数据库架构。为此,请从netbox目录(本指南中为/ opt / netbox / netbox /)运行python3 manage.py migration。

(venv) [email protected]:/opt/netbox/netbox$ cd /opt/netbox/netbox/netbox/
(venv) [email protected]:/opt/netbox/netbox$ sudo python3 manage.py migrate

创建超级用户

NetBox没有预定义的用户帐户。为了能够登录NetBox,您需要创建一个超级用户。

(venv) [email protected]:/opt/netbox/netbox$ sudo python3 manage.py createsuperuser

Username (leave blank to use 'root'): Geeksadmin
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.

收集静态文件

(venv) [email protected]:/opt/netbox/netbox$ sudo python3 manage.py collectstatic --no-input

976 static files copied to '/opt/netbox/netbox/static'

步骤4:安装和配置gunicorn

本指南使用gunicorn设置了一个简单的WSGI前端。

使用pip3安装gunicorn。

$ sudo pip3 install gunicorn
Collecting gunicorn
  Using cached gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
Requirement already satisfied: setuptools>=3.0 in /usr/lib/python3/dist-packages (from gunicorn) (45.2.0)
Installing collected packages: gunicorn
Successfully installed gunicorn-20.0.4

配置Gunicorn

将/opt/netbox/contrib/gunicorn.py复制到/opt/netbox/gunicorn.py并根据需要进行编辑。

$ sudo cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
$ sudo vim /opt/netbox/gunicorn.py

# The IP address (typically localhost) and port that the Netbox WSGI process should listen on
bind = 'localhost:8001'

# Number of gunicorn workers to spawn. This should typically be 2n+1, where
# n is the number of CPU cores present.
workers = 5

# Number of threads per worker process
threads = 3
command = '/usr/local/bin/gunicorn'
pythonpath = '/opt/netbox/netbox'
# Timeout (in seconds) for a request to complete
timeout = 120
#User
user = 'netbox'
# The maximum number of requests a worker can handle before being respawned
max_requests = 5000
max_requests_jitter = 500

步骤5:配置Systemd

使用systemd控制NetBox服务的守护进程。首先,将contrib / netbox.service和contrib / netbox-rq.service复制到/ etc / systemd / system /目录,如下所示:

sudo cp /opt/netbox/contrib/*.service /etc/systemd/system/

然后启动netbox和netbox-rq服务,以便可以在引导时启动它们。

sudo systemctl daemon-reload
sudo systemctl start netbox netbox-rq
sudo systemctl enable netbox netbox-rq

步骤6:配置Nginx Web服务器

配置Nginx Web服务器以通过您的域名访问Netbox,而不是指定IP地址和端口。为Netbox创建一个新的Nginx配置文件。

## Back up the default file
$ cd /etc/nginx/sites-enabled/
$ sudo mv default /tmp

## Create a new file for Netbox
$ sudo vim /etc/nginx/sites-enabled/netbox.conf

将以下配置添加到新的Netbox文件中。

server {
    listen 80;
    server_name netbox.computingforgeeks.com;
    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://localhost:8001;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

如果您没有DNS.netbox.computingforgeeks.com 172.28.218.207,请打开/ etc / hosts文件并添加包含FQDN的以下行:

步骤7:访问Netbox Web UI

打开默认的Web浏览器,然后打开Netbox服务器的主机名。以普通用户身份转到第一页。如果要进行管理更改,必须登录之前通过单击创建的管理员用户登录“看起来像。

在Ubuntu 20.04上安装和配置NetBox IPAM和DCIM工具

您将被重定向到登录页面。输入您在此处设置的管理员用户。

在Ubuntu 20.04上安装和配置NetBox IPAM和DCIM工具

在Ubuntu 20.04上安装和配置NetBox IPAM和DCIM工具

结论

最后,我们有一个可用的Netbox实例。使用此工具来记录您的网络基础结构并改善您的组织。有关如何获取所需配置的详细信息,请参见Netbox官方文档。否则,谢谢您的光临和住宿。

“可悲的是,最痛苦的事情无法解释和无法解释。”-怪胎乔纳森·哈尼施(Jonathan Harnisch)

更有趣的指南:

在Ubuntu / Debian Linux上安装和配置phpIPAM

在Ubuntu和Debian上安装Neat IP Address Planner(NIPAP)

如何在Debian Linux上安装NetBox IPAM

如何在Ubuntu 18.04 LTS上安装NetBox

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

以PDF格式下载指南


这是续集。

这是续集。
这是续集。

Sidebar