نیازمندیهای سیستم
پنل برای اجرا به چه چیزی نیاز دارد، روترهای شما برای مدیریت شدن به چه چیزی، و کدام پورتها باید میان آنها باز باشد.
مرور کلی
در نسنت پنل دو طرف را باید بررسی کنید. میزبان (host) هر جایی است که کانتینر (container) در آن اجرا میشود، یعنی یا یک میزبان Docker روی شبکهٔ محلی (LAN) شما، یا خودِ میکروتیک. روترهای مدیریتشده همان دستگاههای RouterOS هستند که پنل با آنها ارتباط میگیرد. نیازمندیهای این دو از هم جداست و نصب روی خود روتر سختگیرانهتر است.
اگر روی یک سرور یا رایانهٔ رومیزی نصب میکنید، تقریباً هر سختافزار امروزی کافی است.
ایمیج (image) چند مگابایت بیشتر نیست و باینری با GOMAXPROCS=1 اجرا میشود. اگر روی
خود روتر نصب میکنید، سطرهای مربوط به RAM و device-mode را با دقت بخوانید، چون
نصبها معمولاً همانجا شکست میخورند.
پنل کجا اجرا میشود
روی هر میزبان Docker
| نیازمندی | مقدار |
|---|---|
| محیط اجرای کانتینر | Docker، یا هر چیزی که ایمیج OCI را اجرا کند |
| معماریها | linux/amd64، linux/arm64، linux/arm/v7 |
| ایمیج | ghcr.io/nasnet-community/nasnet-panel:latest |
| حافظه | حدود ۳۰ مگابایت آزاد کافی است. ایمیج بر پایهٔ busybox و musl است و باینری آن فشرده شده |
| شبکه | باید به روترهای شما روی شبکهٔ محلی برسد، پس اگر نمیرسد از --network=host استفاده کنید |
| پورتها | 80 و 443 داخل کانتینر، نگاشته به هر پورتی که بخواهید (در مستندات 8080) |
روی روتر، داخل کانتینر RouterOS
| نیازمندی | مقدار |
|---|---|
| RouterOS | نسخهٔ ۷ |
| بستهها | container نصب و فعال باشد |
| حالت دستگاه | device-mode container فعال باشد، که بار اول به تأیید فیزیکی نیاز دارد |
| معماری برد | arm، arm64 یا x86_64 |
| RAM آزاد | دستکم ۳۰ مگابایت |
| فضای ذخیرهسازی | حافظهٔ خارجی متصل باشد. پیشفرض نصبکننده disk1/ است |
فعال کردن device-mode کانتینر برای بار اول عمداً یک گام دستی است. RouterOS یک فشار
کوتاه دکمهٔ reset/mode را میخواهد، یا روی بردهایی که این دکمه را ندارند یک خاموش و
روشن کامل. این کار از راه دور انجام نمیشود، پس نصب را برای زمانی برنامهریزی کنید که
کسی به دستگاه دسترسی فیزیکی دارد.
روی رایانهای که نصبکننده را از آن اجرا میکنید
فقط زمانی اهمیت دارد که به جای نصبکنندهٔ گرافیکی از scripts/install.sh استفاده کنید.
| نیازمندی | مقدار |
|---|---|
| ابزارهای پوسته | bash، curl، ssh، scp و sha256sum یا shasum |
| دسترسی | روتر روی Winbox 8291 و SSH 22 پاسخ بدهد |
دستگاههای پشتیبانیشده
روترهایی که پنل میتواند مدیریت کند
هر میکروتیکی که RouterOS نسخهٔ ۷ یا بالاتر را اجرا میکند، به شرط آن که دستکم یکی از مسیرهای مدیریتیاش در دسترس باشد. فهرست مدلهای مجاز وجود ندارد، چون پنل با خودِ RouterOS ارتباط میگیرد، نه با یک برد خاص.
| کلاس دستگاه | پشتیبانی | توضیح |
|---|---|---|
| میکروتیک با RouterOS نسخهٔ ۷ و بالاتر | بله | هدف اصلی پنل. همهٔ قابلیتها بر پایهٔ رفتار نسخهٔ ۷ نوشته شدهاند. |
| میکروتیک با RouterOS نسخهٔ ۶ | خیر | REST API در آن وجود ندارد و مدل پیکربندی نسخهٔ ۶ متفاوت است. |
| CHR و RouterOS روی x86 | بله | مثل هر میزبان RouterOS دیگری با آن رفتار میشود. |
| روترهای غیرمیکروتیک | خیر | هیچ چیز دیگری با RouterOS API ارتباط نمیگیرد. |
بردهایی که میتوانند میزبان پنل باشند
فقط زمانی اهمیت دارد که پنل را روی خود روتر اجرا کنید، نه روی یک سرور. نصبکننده معماری برد را تشخیص میدهد و ایمیج متناظر را میگیرد.
| معماری برد | ایمیج کانتینر | توضیح |
|---|---|---|
arm |
linux/arm/v7 |
روی بردهای کلاس hAP و cAP رایج است. |
arm64 |
linux/arm64 |
hAP ax، Chateau ax، RB5009 و مشابه آنها. |
x86_64 |
linux/amd64 |
دستگاههای RouterOS روی x86 و CHR. |
معماری هر چه باشد، برد به بستهٔ container، فعال بودن device-mode container، حافظهٔ
خارجی و دستکم ۳۰ مگابایت RAM آزاد هم نیاز دارد. بردی که شرط معماری را دارد ولی شرط
RAM را ندارد، نصب میشود و بعد در حال اجرا نمیماند.
پنل چه چیزی را مدیریت میکند
| نیازمندی | مقدار |
|---|---|
| RouterOS | نسخهٔ ۷ یا بالاتر |
| مسیرهای ارتباطی (transports) | REST API، RouterOS API روی 8728/8729، SSH یا Telnet |
| اعتبارنامه (credentials) | یک کاربر RouterOS با دسترسی لازم برای تغییری که میخواهید انجام دهید |
پنل اول REST API را امتحان میکند، بعد به RouterOS API بومی برمیگردد و در آخر به SSH یا Telnet. لازم نیست یکی را انتخاب کنید. فقط باید دستکم یکی از آنها فعال و در دسترس بماند.
در مرورگر
رابط کاربری یک برنامهٔ تکصفحهای (single-page app) با React است و همان پروسهای که API را ارائه میدهد آن را هم به مرورگر میفرستد، پس به یک مرورگر امروزی و رایج با JavaScript فعال نیاز دارد. نه frontend جداگانهای برای استقرار هست و نه مبدأ (origin) دیگری که لازم باشد مجاز شود.
ساخت از روی کد منبع
فقط زمانی لازم است که در حال توسعهٔ پنل باشید، نه اجرای آن.
| نیازمندی | مقدار |
|---|---|
| Node.js | نسخهٔ 20 یا بالاتر |
| Go | نسخهٔ 1.26 یا بالاتر |
| پورتهای توسعه | 3000 برای dev server مربوط به frontend، 8080 برای backend |
رفع مشکلات
| نشانه | چه کنید |
|---|---|
| کانتینر روی روتر بالا میآید و بعد بسته میشود. | علت معمول، کم بودن RAM آزاد است. پیش از تلاش دوباره /system/resource/print را ببینید و کانتینرهای دیگر را متوقف کنید، چون پنل به آن ۳۰ مگابایت نیاز دارد و این مقدار باید واقعاً آزاد باشد، نه فقط نصبشده. |
نصبکننده روی گام device-mode متوقف میشود. |
این شکست نیست، بلکه RouterOS در حال درخواست تأیید فیزیکی است. دکمهٔ reset/mode را کوتاه فشار دهید یا روتر را خاموش و روشن کنید، بعد نصبکننده را دوباره اجرا کنید. |
| پنل بالا میآید ولی هیچ روتری را نمیبیند. | کانتینر به احتمال زیاد روی یک شبکهٔ bridge است که مسیری به شبکهٔ محلی شما ندارد. آن را با --network=host دوباره اجرا کنید، یا پنل را روی شبکهای بیاورید که به روترها میرسد. |