آموزش کامل نصب و راه‌اندازی ntopng

آموزش کامل نصب و راه‌اندازی ntopng و مانیتورینگ پهنای باند در لینوکس

اشتراک گذاری در شبکه های اجتماعی

مانیتورینگ پهنای باند دیگر یک گزینه نیست. وقتی ترافیک سرویس‌ها بالا می رود، هزینه پهنای باند افزایش پیدا می کند و تجربه کاربر تحت تاثیر قرار می شود. ابزار ntopng نسل جدید ntop است؛ وب اپلیکیشنی سبک و قدرتمند که با تحلیل عمیق ترافیک، تا لایه کاربردی، تصویر شفافی از مصرف پهنای باند، کاربران پرترافیک، پروتکل‌ها، پورت‌ها و تاخیرها ارائه می دهد. ntopng به صورت بومی با Linux کار می کند، رابط وب دارد، با nDPI ترافیک را دسته بندی می کند و برای محیط های کوچک تا بزرگ مقیاس پذیر است. ntopng اطلاعات شبکه را از پورت‌های Mirroring، SPAN، TAP یا از NetFlow/IPFIX (با nProbe) جمع آوری می کند.

ntopng چیست و چه تفاوتی با ntop دارد؟

ntopng بازنویسی مدرن ntop است و یک پروب شبکه با دید ۳۶۰ درجه محسوب می شود؛ برای هر میزبان، فلوی ارتباطی، اپلیکیشن لایه ۷ و تاخیر شبکه گزارش می دهد. داشبورد وب دارد، گزارش های بلندمدت و هشدارهای امنیتی تولید می کند و با ابزارهایی مثل nProbe، PF_RING، n2disk و ClickHouse/Influx ادغام می شود. نسخه‌های Community و Enterprise دارد و بخش هایی مثل برخی تایم سریزها و امکانات امنیتی پیشرفته در پلن های بالاتر فعال می شود. :contentReference[oaicite:0]{index=0}

ntopng

پیش نیازها و انتخاب توزیع

  • دسترسی روت یا sudo
  • سیستم عامل: Ubuntu 20.04/22.04/24.04 یا Debian 11، و خانواده RHEL مانند AlmaLinux/Rocky/CentOS 7/8/9
  • کارت شبکه ای که قصد مانیتور آن را دارید (مثلا ens160 یا eth0)
  • پورت وب پیش فرض ntopng برابر 3000 است (HTTP). می توانید آن را تغییر دهید یا HTTPS را فعال کنید. :contentReference[oaicite:1]{index=1}

نصب ntopng در Ubuntu 20.04/22.04/24.04 و Debian 11

۱) افزودن مخزن رسمی ntop

ntop بسته های آماده پایدار برای Ubuntu و Debian ارائه می کند. برای Ubuntu 22.04 دستورها نمونه زیر است (برای 20.04 و 24.04 آدرس فایل apt-ntop-stable.deb متناظر را جایگزین کنید): :contentReference[oaicite:2]{index=2}

# Ubuntu 22.04
sudo apt-get update
sudo apt-get install -y software-properties-common wget
sudo add-apt-repository -y universe
wget https://packages.ntop.org/apt-stable/22.04/all/apt-ntop-stable.deb
sudo apt install -y ./apt-ntop-stable.deb

۲) نصب بسته ها

پس از افزودن مخزن، بسته های اصلی را نصب کنید. nProbe و n2disk برای برخی سناریوها تجاری هستند و ممکن است لایسنس بخواهند؛ نصب آن‌ها اختیاری است. :contentReference[oaicite:3]{index=3}

sudo apt-get clean all
sudo apt-get update
sudo apt-get install -y ntopng pfring-dkms nprobe n2disk cento
# در صورت نیاز به درایورهای ZC:
# sudo apt-get install -y pfring-drivers-zc-dkms

نکته: nProbe و n2disk برای استفاده کامل نیاز به لایسنس دارند. بسته های Community بدون لایسنس اجرا می شوند اما امکاناتشان محدود است. :contentReference[oaicite:4]{index=4}

نصب ntopng در AlmaLinux/Rocky/CentOS

۱) افزودن مخزن رسمی ntop

# AlmaLinux / Rocky 8 یا 9
sudo dnf install -y dnf-plugins-core
# برای Alma/Rocky 8:
sudo dnf config-manager --set-enabled powertools
sudo dnf install -y epel-release
# برای Alma/Rocky 9:
sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release

# اضافه کردن ریپو ntop
sudo sh -c 'curl https://packages.ntop.org/centos/ntop.repo > /etc/yum.repos.d/ntop.repo'

در CentOS 7 نیز ابتدا EPEL را اضافه کنید و سپس ntop.repo را قرار دهید. :contentReference[oaicite:5]{index=5}

۲) نصب بسته ها

sudo yum clean all || sudo dnf clean all
sudo yum -y update || sudo dnf -y update
sudo yum -y install ntopng pfring-dkms nprobe n2disk cento || \
sudo dnf -y install ntopng pfring-dkms nprobe n2disk cento

# در صورت نیاز:
# sudo yum -y install pfring-drivers-zc-dkms

نام بسته ها و وجود برخی زیرمجموعه ها ممکن است با نسخه توزیع فرق داشته باشد؛ الگوی کلی افزودن مخزن ntop و سپس نصب ntopng و اجزای وابسته همین است. :contentReference[oaicite:6]{index=6}

پیکربندی ntopng

ntopng را می توان با گزینه های خط فرمان یا فایل /etc/ntopng/ntopng.conf کنترل کرد. هر گزینه در یک خط و با فرمت --option=value قرار می گیرد. نمونه زیر رایج ترین گزینه ها را نشان می دهد. :contentReference[oaicite:7]{index=7}

نمونه فایل تنظیمات

# رابط وب روی پورت 3000 فقط روی لوکال هاست (می توانید به 0.0.0.0:3000 تغییر دهید)
--http-port=:3000

# اگر پشت Nginx/HAProxy هستید و مسیر خاصی می خواهید
# --http-prefix="/ntopng"

# کارت شبکه برای شنود
-i=ens160

# شبکه های داخلی برای تشخیص اینترنال/اکسترنال
-m=192.168.10.0/24,10.0.0.0/8

# محدودیت منابع
--max-num-hosts=250000
--max-num-flows=200000

# عدم انجام DNS Lookup (سریع تر)
--dns-mode=3

# ارسال فلوها به ClickHouse (اختیاری و پیشرفته)
# --dump-flows=clickhouse

گزینه -w یا --http-port پورت وب را تعیین می کند و اگر مقدار 0 بدهید HTTP غیرفعال می شود. می توانید به جای آن HTTPS را فعال کنید. :contentReference[oaicite:8]{index=8}

راهنمای سریع: ابزار ntopng-config در بعضی توزیع ها برای اعمال تنظیمات متداول به صورت تعاملی وجود دارد. :contentReference[oaicite:9]{index=9}

اجرای سرویس و مدیریت با systemd

پس از تنظیم فایل، سرویس را فعال و اجرا کنید:

sudo systemctl enable ntopng
sudo systemctl start ntopng
sudo systemctl status ntopng
# مشاهده لاگ:
journalctl -u ntopng -f

ntopng از یونیت های تمپلیت هم پشتیبانی می کند؛ یعنی می توانید برای هر کارت شبکه یک سرویس جدا با نام ntopng@interface داشته باشید (برای هر نمونه فایل تنظیمات متناظر لازم است). :contentReference[oaicite:10]{index=10}

باز کردن پورت در فایروال

UFW (Ubuntu/Debian)

sudo ufw allow 3000/tcp
sudo ufw reload

firewalld (Alma/Rocky/CentOS)

sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload

ورود اولیه به رابط وب

مرورگر را باز کنید و این آدرس را بزنید: http://IP-SERVER:3000/. کاربر پیش فرض admin است. در اولین ورود، ntopng از شما می خواهد رمز عبور را تغییر دهید. :contentReference[oaicite:11]{index=11}

اگر رمز را فراموش کردید، می توانید با دستور redis-cli del ntopng.user.admin.password مقدار رمز را از Redis حذف کنید و پس از ریستارت، با admin/admin وارد شوید و رمز جدید بگذارید. :contentReference[oaicite:12]{index=12}

ایمن سازی دسترسی وب ntopng

به صورت پیش فرض، ntopng با HTTP روی پورت 3000 اجرا می شود. در محیط تولید بهتر است فقط HTTPS را فعال کنید یا ntopng را پشت یک Reverse Proxy مانند Nginx/HAProxy قرار دهید. مثال فعال سازی مستقیم HTTPS در ntopng: :contentReference[oaicite:13]{index=13}

# در /etc/ntopng/ntopng.conf
--http-port=0
--https-port=443
# مسیر کلید و گواهی را طبق راهنمای SSL ntopng تنظیم کنید
# --https-doc-root=...

گزینه های کاربردی دیگر:

  • محدود کردن Bind فقط به 127.0.0.1 و قرار دادن Nginx جلوی آن
  • تنظیم -m برای شبکه های داخلی تا تفکیک داخل/خارج دقیق شود
  • غیرفعال کردن لاگین عمومی و تعریف نقش ها فقط برای ادمین های مجاز

آشنایی سریع با کار با ntopng

۱) داشبورد و نمای کلی

داشبورد به شما نرخ لحظه ای ترافیک، اینترفیس های فعال، تاپ تاکرها و وضعیت هشدارها را نشان می دهد. با کلیک روی هر میزبان یا فلو وارد جزئیات می شوید و RTT، از دست رفتن بسته ها، Retransmission و آمار TCP را می بینید. :contentReference[oaicite:14]{index=14}

۲) میزبان ها، شبکه ها و اَپ ها

  • Top Talkers: میزبان های پرترافیک را ببینید.
  • Application Protocols: بر اساس nDPI، سهم هر اپلیکیشن (HTTPS، QUIC، DNS، SSH و …) را مشاهده کنید.
  • Local Broadcast Domains: تقسیم بندی شبکه های محلی به شما کمک می کند الگوهای ترافیک داخلی را دقیق تر تحلیل کنید. :contentReference[oaicite:15]{index=15}

۳) کشف شبکه

از بخش Network Discovery جستجوی فعال دستگاه ها را با پروتکل هایی مانند ARP، SSDP، mDNS و SNMP انجام دهید تا لیست به روزی از تجهیزات شبکه به دست آید. :contentReference[oaicite:16]{index=16}

۴) ذخیره سازی تایم سریز و گزارش های بلندمدت

برای برخی قابلیت ها مانند Network Matrix در نسخه Community محدودیت وجود دارد، اما به شکل کلی می توانید تایم سریزهای مختلف را نگهداری کنید و با دیتابیس هایی مانند ClickHouse ادغام انجام دهید. نمونه تنظیم --dump-flows=clickhouse در داکیومنت آمده است. :contentReference[oaicite:17]{index=17}

ادغام با NetFlow/IPFIX از طریق nProbe (اختیاری)

اگر روترها یا مبدل های NetFlow/IPFIX دارید، nProbe فلوی ترافیک را جمع می کند و به ntopng می فرستد. nProbe یک محصول تجاری است و برای استفاده کامل نیاز به لایسنس دارد. در محیط های چند سایته، این مدل فشار کمتری به لینک های Mirroring وارد می کند و مقیاس پذیری بهتری به دست می آید. :contentReference[oaicite:18]{index=18}

اجرای چند نمونه ntopng روی یک سرور

می توانید برای هر اینترفیس یک سرویس جدا اجرا کنید. برای این کار برای هر اینترفیس یک فایل تنظیمات مانند /etc/ntopng/ntopng-ens160.conf بسازید و از یونیت های تمپلیت systemd استفاده کنید: :contentReference[oaicite:19]{index=19}

sudo systemctl start ntopng@ens160
sudo systemctl enable ntopng@ens160

خطایابی سریع

  • سرویس بالا نمی آید: لاگ را دنبال کنید: journalctl -u ntopng -f و صحت نام اینترفیس در -i را بررسی کنید. :contentReference[oaicite:20]{index=20}
  • فراموشی رمز: رمز ادمین را با Redis پاک کنید و سرویس را ریستارت کنید. :contentReference[oaicite:21]{index=21}
  • عدم دسترسی وب: پورت 3000 را در فایروال باز کنید یا اگر HTTPS را فعال کرده اید، روی 443 تست کنید. برای استقرار تولیدی از Reverse Proxy استفاده کنید. :contentReference[oaicite:22]{index=22}

بهترین روش ها برای امن سازی و بهره وری

  • HTTP را ببندید و فقط HTTPS را فعال کنید، یا دسترسی HTTP را فقط به لوکال هاست محدود کنید و پشت Nginx قرار دهید. :contentReference[oaicite:23]{index=23}
  • از نقش های حداقلی برای کاربران استفاده کنید و دسترسی ادمین را محدود کنید. :contentReference[oaicite:24]{index=24}
  • شبکه های داخلی را با -m دقیق مشخص کنید تا تفکیک داخل/خارج درست انجام شود. :contentReference[oaicite:25]{index=25}
  • برای محیط های پرترافیک از PF_RING استفاده کنید تا Drop پایین بماند. :contentReference[oaicite:26]{index=26}

کوک بوک: سناریوهای کاربردی آماده

 مانیتورینگ یک سرور وب پرترافیک

  1. روی نود مانیتور، ntopng را نصب کنید.
  2. پورت Mirroring سوئیچ را طوری تنظیم کنید که ترافیک سرور وب به کارت شبکه مانیتور ارسال شود.
  3. در ntopng.conf مقدار -i=ens160 و -m=192.168.10.0/24 را بگذارید.
  4. سرویس را اجرا کنید و Top Talkers و Application Protocols را تحلیل کنید.

 گزارش مصرف پهنای باند به تفکیک کاربر و اپ

  1. روی گیتوی شبکه، nProbe را نصب کنید و NetFlow را به ntopng بفرستید.
  2. تایم سریزها را فعال کنید تا گزارش های روزانه و هفتگی ساخته شود.
  3. برای اپ های پرترافیک مثل ویدیو یا پلتفرم های P2P هشدار بگذارید.

 امن سازی دسترسی

  1. در فایل تنظیمات، --http-port=0 و --https-port=443 را فعال کنید.
  2. گواهی معتبر وارد کنید یا ntopng را پشت Nginx با SSL Offloading قرار دهید. :contentReference[oaicite:27]{index=27}

سوالات رایج

آیا می توانم پورت وب را عوض کنم؟ بله، با -w یا --http-port؛ مثال: --http-port=:3000 یا -w 3000. :contentReference[oaicite:28]{index=28}

آیا ورود اولیه رمز می خواهد؟ بله، کاربر admin است و در اولین ورود باید رمز را تغییر بدهید. :contentReference[oaicite:29]{index=29}

رمز را فراموش کردم؛ چطور ریست کنم؟ در Redis کلید رمز ادمین را حذف کنید: redis-cli del ntopng.user.admin.password و سرویس را ریستارت کنید. :contentReference[oaicite:30]{index=30}

 دستورات مهم

# کنترل سرویس
sudo systemctl start ntopng
sudo systemctl stop ntopng
sudo systemctl restart ntopng
sudo systemctl enable ntopng
sudo systemctl status ntopng

# لاگ زنده
journalctl -u ntopng -f

# مسیر فایل تنظیمات
cat /etc/ntopng/ntopng.conf

# تغییر یا ریست رمز ادمین
# ورود اول: صفحه وب درخواست تغییر رمز می دهد
# فراموشی رمز:
redis-cli del ntopng.user.admin.password
sudo systemctl restart ntopng

# تغییر پورت وب
# در ntopng.conf:
--http-port=:3000
# یا اجرا با:
ntopng -w 3000

راهنمای رسمی نصب، گزینه های خط فرمان و اجرای سرویس در مستندات ntop و صفحه بسته های رسمی موجود است. :contentReference[oaicite:31]{index=31}

جمع بندی

ntopng با رابط وب سبک و تحلیل عمیق ترافیک شبکه، دیدی سریع و کاربردی نسبت به پهنای باند و الگوهای مصرف ارائه می دهد. با افزودن مخزن رسمی و نصب بسته ها، پیکربندی ساده فایل ntopng.conf، ایمن سازی دسترسی وب و استفاده از داشبوردها، در چند دقیقه یک سامانه مانیتورینگ بهینه برای شبکه خود دارید. اگر لازم باشد، با nProbe از NetFlow/IPFIX هم تغذیه می کنید و گزارش های دقیق تر می گیرید. اجرای چند نمونه برای اینترفیس های مختلف، ذخیره سازی تایم سریز و یکپارچه سازی با پایگاه داده ها، ntopng را برای سناریوهای کوچک تا بزرگ آماده می کند.

نوین هاست یار نوین شماست

نوین هاست یار نوین شماست؛ ما در نوین هاست زیرساخت های بهینه، مقیاس پذیر و امن را برای مانیتورینگ و مدیریت شبکه فراهم می کنیم. اگر به راه اندازی ntopng، پیاده سازی NetFlow/IPFIX، امن سازی دسترسی با HTTPS و Reverse Proxy یا طراحی داشبوردهای گزارش دهی نیاز دارید، تیم ما کنار شماست تا با ترکیبی از سرورهای قدرتمند و بهترین روش های عملیاتی، کارایی و صرفه اقتصادی زیرساخت شما تضمین شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطالب مرتبط