Tento příspěvek je o nastavení sítě, systému a dokumentačního serveru datacenter.
Správa dokumentace vaší infrastruktury není snadná práce. Aplikace je navržena tak, aby uchovávala 80 % dokumentace infrastruktury s názvem NET BOX. Jako systémový síťový člověk jsem vždy přemýšlel o takové aplikaci/serveru, který by mohl spravovat dokumentaci mé infrastruktury. Dovolte mi, abych vám o této aplikaci řekl více.
Co je NETBOX?
Tato aplikace především dokumentuje moduly síťových datových center, např. racky, správu serverů a zdroje napájení. Jedná se o aplikaci s otevřeným zdrojovým kódem vyvinutou speciálně pro řešení potřeby dokumentace infrastruktury. To usnadnilo vyhledávání a interakci se zařízeními, stojany a weby v obrovské infrastruktuře. Můžete zobrazit úplné informace o zařízeních, odkazech, zdrojích napájení a další informace. Zahrnuje následující aspekty správy sítě.
- Správa IP adres (IPAM) :IP sítě a adresy, VRF a VLAN.
- Stojany na vybavení :Uspořádáno podle skupiny a webu.
- Zařízení :Servery, směrovače, přepínače a další systémová síťová zařízení
- Zdroje energie a výpočty.
- Připojení :podrobné odkazy a spojení mezi zařízeními.
- Virtualizace :Virtuální stroje a clustery
- Datové okruhy :Dálkové komunikační okruhy a poskytovatelé.
Následující funkce/služby nejsou pokryty netboxem
- Monitorování sítě
- Server DNS
- Server RADIUS
- Správa konfigurace
- Správa zařízení
Zásobník aplikací
NetBox je postaven na frameworku Django Python a využívá databázi PostgreSQL. Běží jako služba WSGI za vaším výběrem HTTP serveru.
Funkce | Komponenta |
---|---|
Služba HTTP | nginx nebo Apache |
Služba WSGI | gunicorn nebo uWSGI |
Aplikace | Django/Python |
Databáze | PostgreSQL 10+ |
Řazení úloh | Redis/Django-rq |
Živý přístup k zařízení | NAPALM (volitelné) |
Požadavky
- Ubuntu 20.04
- PostgresSQL | Verze 10+
- Redis | Verze 4.0 a vyšší
- Python | verze 3.7 +
Kroky k instalaci NETBOXu
Krok 1:Příprava a aktualizace počítače
Aktualizujte operační systém
sudo apt-get update
Nainstalujte PostgreSQL
sudo apt install -y postgresql
Spusťte PostgreSQL a povolte
systemctl start postgresql systemctl enable postgresql
zkontrolujte verzi spuštěním následujícího příkazu
psql -V
Vytvořit databázi, uživatel, nastavit oprávnění uživatele na DB
přihlaste se k terminálu DB
sudo -u postgres psql
předáním následujícího příkazu v terminálu vytvořte DB a uživatele
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'netbox123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Krok 2:Instalace serveru Redis
apt install -y redis-server
ověřte službu Redis pomocí následujícího příkazu.
redis-cli ping
Krok 3:Nainstalujte NETBOX
Vytvořte adresář pro netbox
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
Nainstalujte git pro klonování úložiště netbox GitHub
apt install -y git
sudo git clone -b master –depth 1 https://github.com/netbox-community/netbox.git .
Vytvoření systémového uživatele NetBox
Vytvořte systémový uživatelský účet s názvem netbox
. Nakonfigurujeme služby WSGI a HTTP tak, aby běžely pod tímto účtem. Tomuto uživateli také přiřadíme vlastnictví adresáře médií. To zajistí, že NetBox bude moci ukládat nahrané soubory.
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/
Přesuňte se do konfiguračního adresáře NetBox a vytvořte kopii configuration.example.py
s názvem configuration.py
. Tento soubor bude obsahovat všechny vaše místní konfigurační parametry.
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
nakonfigurujte parametry PostgreSQL, Redis, tajného klíče a povolených hostitelů v souboru configuration.py
spusťte následující příkaz pro nastavení služeb
sudo apt install python3.8-venv sudo /opt/netbox/upgrade.sh sudo PYTHON=/usr/bin/python3.7 /opt/netbox/upgrade.sh
Vytvořit superuživatele
NetBox není dodáván s žádnými předdefinovanými uživatelskými účty. Abyste se mohli přihlásit do NetBoxu, musíte si vytvořit superuživatele (účet správce). Nejprve zadejte virtuální prostředí Pythonu vytvořené skriptem upgradu:
Příkazy
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox python3 manage.py createsuperuser
uživatel:netbox
heslo:netbox@123 (uživatelské heslo)
Naplánujte si úklidovou úlohu
NetBox obsahuje housekeeping
Příkaz management zpracovává opakující se úlohy čištění, jako je vymazání starých relací a záznamů změn, jejichž platnost vypršela. Ačkoli lze tento příkaz spustit ručně, doporučuje se nakonfigurovat naplánovanou úlohu pomocí systémového cron
daemon nebo podobný nástroj.
Skript shellu, který vyvolá tento příkaz, je součástí contrib/netbox-housekeeping.sh. Lze jej zkopírovat nebo propojit z adresáře denních úloh cron vašeho systému nebo přímo zahrnout do crontab. (Pokud instalujete NetBox do nestandardní cesty, aktualizujte nejprve systémové cesty v rámci tohoto skriptu.)
spusťte následující příkaz
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Otestujte aplikaci
Spusťte následující příkaz
python3 manage.py runserver 0.0.0.0:8000 --insecure
allow port in firewall
Spusťte následující příkaz
ufw allow 8000/tcp ufw reload
Přístup k řídicímu panelu
http://your server IP:8000
přihlášení
nakonfigurujte své stránky a přidejte svá zařízení a další podrobnosti podle svého nastavení
Dnes jste dostali příspěvek Setup Network, System a Datacenter Documentation Server.