この投稿は、ネットワーク、システム、およびデータセンターのドキュメントサーバーのセットアップに関するものです。
インフラストラクチャドキュメントの管理は簡単な作業ではありません。アプリケーションは、NET BOXと呼ばれるインフラストラクチャドキュメントの80%を保持するように設計されています。システムネットワークの担当者である私は、インフラストラクチャのドキュメントを管理できるようなアプリ/サーバーについて常に疑問に思っていました。このアプリケーションについて詳しく説明します。
NETBOXとは何ですか?
このアプリケーションは、主にネットワークデータセンターモジュール(ラック、サーバー管理、電源など)を文書化します。これは、インフラストラクチャを文書化する必要性に対処するために特別に開発されたオープンソースアプリケーションです。これにより、巨大なインフラストラクチャ内のデバイス、ラック、およびサイトを簡単に検索して操作できるようになりました。デバイス、リンク、電源、およびその他の情報に関する完全な情報を表示できます。これには、ネットワーク管理の次の側面が含まれます。
- IPアドレス管理(IPAM) :IPネットワークとアドレス、VRF、およびVLAN。
- 機器ラック :グループおよびサイト別に整理されています。
- デバイス :サーバー、ルーター、スイッチ、およびその他のシステムネットワークデバイス
- 電力リソースと計算。
- 接続 :デバイス間の詳細なリンクと接続。
- 仮想化 :仮想マシンとクラスター
- データ回路 :長距離通信回線とプロバイダー。
次の機能/サービスはネットボックスの対象外です
- ネットワーク監視
- DNSサーバー
- RADIUSサーバー
- 構成管理
- 施設管理
アプリケーションスタック
NetBoxはDjangoPythonフレームワーク上に構築されており、PostgreSQLデータベースを利用しています。選択したHTTPサーバーの背後でWSGIサービスとして実行されます。
関数 | コンポーネント |
---|---|
HTTPサービス | nginxまたはApache |
WSGIサービス | gunicornまたはuWSGI |
アプリケーション | Django / Python |
データベース | PostgreSQL 10+ |
タスクキューイング | Redis / Django-rq |
ライブデバイスアクセス | NAPALM(オプション) |
要件
- Ubuntu 20.04
- PostgresSQL |バージョン10以降
- Redis |バージョン4.0+
- Python |バージョン3.7+
NETBOXをインストールする手順
ステップ1:マシンの準備と更新
OSを更新する
sudo apt-get update
PostgreSQLのインストール
sudo apt install -y postgresql
PostgreSQLを起動して有効にします
systemctl start postgresql systemctl enable postgresql

次のコマンドを実行してバージョンを確認します
psql -V

データベース、ユーザーの作成、DBでのユーザーの権限の設定
DB端末にログイン
sudo -u postgres psql
ターミナルで次のコマンドを渡して、DBとユーザーを作成します
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'netbox123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;

ステップ2:Redisサーバーをインストールする
apt install -y redis-server
次のコマンドを使用してRedisサービスを確認します。
redis-cli ping

ステップ3:NETBOXをインストールする
ネットボックス用のディレクトリを作成する
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
gitをインストールしてネットボックスGitHubリポジトリのクローンを作成します
apt install -y git
sudo git clone -b master –depth1https://github.com/netbox-community/netbox.git。

NetBoxシステムユーザーを作成する
netbox
という名前のシステムユーザーアカウントを作成します 。このアカウントで実行するようにWSGIおよびHTTPサービスを構成します。また、このユーザーにメディアディレクトリの所有権を割り当てます。これにより、NetBoxがアップロードされたファイルを保存できるようになります。
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/

NetBox構成ディレクトリに移動し、configuration.example.py
のコピーを作成します configuration.py
という名前 。このファイルには、すべてのローカル構成パラメーターが含まれます。
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
PostgreSQL、Redis、シークレットキー、および許可されたホストのパラメーターをconfiguration.pyファイルで構成します

次のコマンドを実行してサービスをセットアップします
sudo apt install python3.8-venv sudo /opt/netbox/upgrade.sh sudo PYTHON=/usr/bin/python3.7 /opt/netbox/upgrade.sh

スーパーユーザーを作成する
NetBoxには、事前定義されたユーザーアカウントは付属していません。 NetBoxにログインできるようにするには、スーパーユーザー(管理者アカウント)を作成する必要があります。まず、アップグレードスクリプトによって作成されたPython仮想環境に入ります:
コマンド
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox python3 manage.py createsuperuser
ユーザー:ネットボックス
パスワード:netbox @ 123(ユーザーのパスワード)
ハウスキーピングタスクをスケジュールする
NetBoxにはhousekeeping
が含まれています 管理コマンドは、古いセッションや期限切れの変更レコードのクリアなど、定期的なクリーンアップタスクを処理します。このコマンドは手動で実行できますが、システムのcron
を使用してスケジュールされたジョブを構成することをお勧めします。 デーモンまたは同様のユーティリティ。
このコマンドを呼び出すシェルスクリプトは、contrib/netbox-housekeeping.shに含まれています。システムの毎日のcronタスクディレクトリにコピーまたはリンクするか、crontabに直接含めることができます。 (NetBoxを非標準のパスにインストールする場合は、最初にこのスクリプト内のシステムパスを更新してください。)
次のコマンドを実行します
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
アプリケーションをテストする
次のコマンドを実行します
python3 manage.py runserver 0.0.0.0:8000 --insecure
allow port in firewall
次のコマンドを実行します
ufw allow 8000/tcp ufw reload

ダッシュボードにアクセスする
http://your server IP:8000

ログイン


設定に従ってサイトを構成し、デバイスやその他の詳細を追加します
今日、セットアップネットワーク、システム、およびデータセンタードキュメントサーバーの投稿を受け取りました。