منوی راهنما
در این صفحه

معماری

نس‌نت پنل از چه بخش‌هایی ساخته شده است، چگونه به روتر وصل می‌شود و هر داده کجا نگه داشته می‌شود.

آخرین به‌روزرسانی ۲۴ مهر ۱۴۰۵نمایش به‌صورت مارک‌داون

مرور کلی

نس‌نت پنل یک برنامهٔ تکی به زبان Go است. همین برنامه هم رابط کاربری (یک برنامهٔ تک‌صفحه‌ای React) را به مرورگر می‌فرستد و هم API پنل را ارائه می‌کند، چون رابط کاربری داخل خود فایل اجرایی قرار گرفته است. نه وب‌سرور جداگانه لازم است، نه پایگاه‌داده، و نه نصب چیزی روی روترهایی که مدیریت می‌کنید.

این طراحی عمدی است: پنل باید روی خود میکروتیک و با حدود ۳۰ مگابایت RAM آزاد اجرا شود.

بخش‌ها

بخش کار آن
رابط کاربری (React) صفحه‌هایی که با آن‌ها کار می‌کنید. فقط با خود پنل ارتباط دارد.
سرویس Go رابط کاربری را ارائه می‌کند، درخواست‌ها را به روتر می‌رساند و اسکریپت‌های پیکربندی RouterOS را می‌سازد.
اسکنر شبکه یک ساب‌نت را برای پیدا کردن دستگاه‌های میکروتیک جست‌وجو می‌کند.

پنل چگونه به روتر وصل می‌شود

  • RouterOS API روی پورت 8728: تقریباً همهٔ خواندن‌ها و تغییرها از این راه انجام می‌شود.
  • SSH روی پورت 22: راه‌انداز گام‌به‌گام اسکریپت پیکربندی را از این راه روی روتر بارگذاری و سپس اجرا می‌کند.

بنابراین این دو سرویس باید روی روتر فعال و از سمت پنل در دسترس باشند.

تغییرهای چندمرحله‌ای، مانند راه‌انداز گام‌به‌گام، تغییر WAN و ساختن سرور یا کلاینت VPN، از قالب‌های آمادهٔ اسکریپت RouterOS ساخته و یک‌جا روی روتر اجرا می‌شوند. در راه‌انداز گام‌به‌گام، پنل پیشرفت اجرا را از روی روتر می‌خواند و نمایش می‌دهد.

هر داده کجا نگه داشته می‌شود

  • نام کاربری و رمز عبور روتر در حافظهٔ سشن مرورگر نگه داشته می‌شود و با هر درخواست برای پنل فرستاده می‌شود. با بستن تب پاک می‌شود. پنل این اطلاعات را روی دیسک ذخیره نمی‌کند و فقط اتصال باز به روتر را مدتی نگه می‌دارد.
  • مرورگر هیچ‌گاه مستقیم با روتر ارتباط نمی‌گیرد. همهٔ درخواست‌ها از پنل عبور می‌کنند.
  • گزارش خطاها را مرورگر می‌فرستد، نه روتر. IPها پیش از ارسال حذف می‌شوند و می‌توانید این قابلیت را برای هر مرورگر از صفحهٔ عیب‌یابی و گزارش خاموش کنید.
  • پنل خودش به GitHub وصل می‌شود تا آخرین نسخهٔ پنل و فهرست افزونه‌ها را بخواند.
  • گفت‌وگوی پشتیبانی در تب راهنما را مرورگر مستقیم از یک سرویس بیرونی بارگذاری می‌کند.

روش‌های اجرا

روش شکل اجرا
روی خود روتر یک کانتینر RouterOS روی veth-nasnet-panel با آدرس 192.168.50.2/24. از LAN با HTTP روی پورت 8080 و HTTPS روی 8443 در دسترس است.
روی یک سرور در LAN یک کانتینر Docker، ترجیحاً با شبکهٔ host تا روترها را ببیند.
از روی کد منبع رابط کاربری روی پورت 3000 و سرویس Go روی 8080.

ایمیج کانتینر بر پایهٔ busybox ساخته شده است و یک فایل اجرایی فشردهٔ Go را اجرا می‌کند. نشانی /health برای بررسی سلامت کانتینر به کار می‌رود. ایمیج‌ها برای linux/amd64، linux/arm64 و linux/arm/v7 منتشر می‌شوند.

مرتبط