نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

نصب و کانفیگ NetBox IPAM و DCIM Tool در Ubuntu 20.04

نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

یک زیرساخت مستند به خوبی نشان می دهد که تیم عملیات در سازمان شما چقدر متعهد ، سازمان یافته و قابل ارائه است. این به عنوان یک ابزار فوق العاده برای آموزش کارکنان جدید و همچنین بی دردسر کردن کار آنها عمل می کند ، زیرا به ایجاد نقشه ذهنی از هر دستگاهی در مرکز داده کمک می کند. آن روزهایی که روی کاغذ کشیده می شدند ، چاپ می شدند و روی دیوار چسبانده می شدند ، گذشته است. زیبایی ابزارهای منبع باز مانند NetBox این اسناد را بار دیگر بدون درد و سرگرم کننده کرده است. این راهنما بر نصب NetBox در اوبونتو 20.04 جدید (Focal Fossa) تمرکز دارد.

قبل از اینکه زمین را بشکافیم ، اجازه دهید با این ابزار آشنا شویم. NetBox یک IPAM منبع باز است برنامه وب DCIM برای مدیریت و مستندسازی شبکه های کامپیوتری و مدیریت آدرس های IP استفاده می شود. در ابتدا توسط تیم مهندسی شبکه در DigitalOcean طراحی شد. نمای کلی اجزای آن به صورت نمودار در زیر نشان داده شده است.

نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

پیشنهاد ویژه قائم هاست سرور مجازی آلمان با انواع سیستم عامل از جمله آخرین نسخه Ubuntu منتشر شده با پایین ترین قیمت و بالاترین کیفیت ، شرکت قائم هاست با یک دهه تجربه در زمینه ارائه سرویس های سرور مجازی و اختصاصی از بیش از 20 دیتاسنتر مختلف در داخل و خارج از کشور یکی از بزرگترین ارائه دهندگان سرور مجازی و اختصاصی با سابقه درخشان می باشد.

Netbox امکانات زیر را در مدیریت شبکه شامل می شود:

  • مدیریت آدرس IP (IPAM) – شبکه ها و آدرس های IP ، VRF ها و VLAN ها
  • قفسه تجهیزات – سازماندهی شده توسط گروه و سایت
  • دستگاهها – انواع دستگاهها و محل نصب آنها
  • اتصالات – اتصالات شبکه ، کنسول و برق بین دستگاه ها
  • مجازی سازی – ماشین ها و خوشه های مجازی
  • مدارهای داده-مدارها و ارائه دهندگان ارتباطات طولانی مدت
  • اسرار – رمزگذاری اعتبارنامه های حساس

مرحله 1: پیش نیاز های مورد نیاز را نصب کنید

بهترین راه برای شروع این است که هر گونه پیش نیاز لازم برای اجرای NetBox در اوبونتو 20.04 LTS را نصب کنید. بنابراین ، اجازه دهید با نصب همه آنها مانند تصویر زیر به جاده برویم.

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 را تنظیم می کند. لطفاً راهنمای زیر را برای انجام این کار بررسی کنید.

پس از نصب موفقیت آمیز 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 را نصب و پیکربندی کنید

اکنون ما در این راهنما در انتهای عمیق هستیم که در آن می توانیم Netbox را از git کلون کنیم و مراحل پیکربندی آن را برای ما آغاز کنیم. می توانید کمی هوای تازه بخورید و سپس یکبار دیگر خود را غوطه ور کنید تا ادامه دهید.

به / opt / directory تغییر دهید و netbox را از git کلون کنید

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/

تنظیم محیط پایتون

ما از محیط مجازی پایتون استفاده می کنیم تا مطمئن شویم بسته های مورد نیاز NetBox با هیچ چیز در سیستم اصلی در تضاد نیستند. این یک دایرکتوری به نام venv در ریشه NetBox ما ایجاد می کند.

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

در مرحله بعد ، محیط مجازی را فعال کرده و بسته های مورد نیاز پایتون را نصب کنید.

$ cd /opt/netbox/
$ source venv/bin/activate
(venv) tech@ubuntu:/opt/netbox$

(venv) tech@ubuntu:/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

SECRET_KEY

یک کلید مخفی تصادفی با حداقل 50 نویسه الفبایی ایجاد کنید.

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

-bUf2WxTdH^8%Kcl(_gnN1ym)CEBoDGXe56Lv4FJrYzs@SthQO

سپس کلید را روی فایل /opt/netbox/netbox/netbox/configuration.py تنظیم کنید

مثال:

$ sudo vim /opt/netbox/netbox/netbox/configuration.py
SECRET_KEY = '-bUf2WxTdH^8%Kcl(_gnN1ym)CEBoDGXe56Lv4FJrYzs@SthQO'

مهاجرت های پایگاه داده را اجرا کنید

قبل از اجرای NetBox ، ما باید طرح پایگاه داده را نصب کنیم. این کار با اجرای python3 manager.py migrate از فهرست netbox (/opt/netbox/netbox/در این راهنما) انجام می شود:

(venv) tech@ubuntu :/opt/netbox/netbox $ cd/opt/netbox/netbox/netbox/ 
(venv) tech@ubuntu :/opt/netbox/netbox $ sudo python3 management.py مهاجرت

یک کاربر فوق العاده ایجاد کنید

NetBox هیچ حساب کاربری از پیش تعریف شده ای ندارد. برای ورود به NetBox باید یک کاربر فوق العاده ایجاد کنید:

(venv) tech@ubuntu-20:/opt/netbox/netbox$ sudo python3 manage.py createsuperuser

Username (leave blank to use 'root'): Geeksadmin
Email address: info@qaemhost.ir
Password: 
Password (again): 
Superuser created successfully.

جمع آوری فایل های استاتیک

(venv) tech@ubuntu-20:/opt/netbox/netbox$ sudo python3 manage.py collectstatic --no-input

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

مرحله 4: gunicorn را نصب و پیکربندی کنید

ما در این راهنما یک جلوی ساده WSGI با استفاده از gunicorn تنظیم می کنیم.

gunicorn را با استفاده از pip3 نصب کنید:

$ 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 برای کنترل daemonization خدمات 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 Server

بیایید سرور وب Nginx را پیکربندی کنیم تا به جای تعیین آدرس IP و پورت ، از طریق نام دامنه به Netbox دسترسی داشته باشیم.
ایجاد فایل پیکربندی Nginx جدید برای Netbox.

## 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;
    }
}

فایل /etc /hosts را باز کنید و اگر DNS ندارید خط زیر را شامل FQDN خود اضافه کنید.
netbox.computingforgeeks.com 172.28.218.207

مرحله 7: به رابط کاربری Netbox Web دسترسی پیدا کنید

مرورگر وب پیش فرض خود را باز کرده و نام میزبان سرور Netbox را باز کنید. شما به عنوان یک کاربر عادی در صفحه اول قرار می گیرید. در صورت تمایل به ایجاد تغییرات مدیریتی ، باید با کلیک بر روی ” ورود ” مانند تصویر زیر ، با کاربر مدیر وارد شوید .

نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

نصب و کانفیگ NetBox IPAM در Ubuntu 20.04

این شما را به صفحه ورود هدایت می کند. کاربر مدیر را که در آنجا پیکربندی کرده اید وارد کنید.

آموزش نصب و کانفیگ NetBox در اوبونتو 20

آموزش نصب و کانفیگ NetBox در اوبونتو 20

نحوه نصب و کانفیگ کردن نت باکس در اوبونتو 20.04

نحوه نصب و کانفیگ کردن نت باکس در اوبونتو 20.04

نصب و راه اندازی نت باکس شما به پایان رسیده است و می توانید از NetBox استفاده کنید و لذت ببرید.

جهت مشاوره و سوالات قبل از خرید برای تهیه یک سرور مجازی ایران یا خارج از کشور پرسرعت می توانید هم اکنون از طریق ارسال تیکت به بخش فروش قائم هاست با کارشناسان قائم هاست در ارتباط باشید.

سایر صفحات مرتبط »