مستندات

SILAB مستندات

از نصب تک‌خطی تا اولین آزمایشگاه شما، و همهٔ ابزارهای روی میز کار.

15 موضوع 4 بخش نصب‌کننده‌های Linux & Windows
نصب سریع

آزمایشگاه‌ها در چند دقیقه، با یک دستور.

در Ubuntu، خط اول را به‌عنوان root اجرا کنید. در Windows، خط دوم را در PowerShell به‌عنوان مدیر اجرا کنید. هر دو پیش از اجرای هر چیزی، نسخهٔ امضاشده را تأیید می‌کنند.

راهنمای کامل نصب را بخوانید
Linux — bash
curl -fsSL https://silab.securytik.com/install.sh | sudo bash
Windows — PowerShell (not cmd)
irm https://silab.securytik.com/install.ps1 | iex

شروع به کار

نمای کلی و معماری

SILAB — SecuryTik Interactive LABoratory — یک آزمایشگاه شبیه‌سازی شبکه است که برای مدرسان و دانشجویان MikroTik ساخته شده. یک توپولوژی بکشید، دکمهٔ شروع را بزنید، و هر روتر یک Cloud Hosted Router (CHR) واقعی از RouterOS است که با یک دوبار-کلیک به آن دسترسی دارید: کنسولی در مرورگر، WinBox، WebFig یا SSH.

SILAB برای چه کسانی است

مدرسانی که کلاس آماده می‌کنند، دانشجویانی که برای گواهی‌نامهٔ MikroTik تمرین می‌کنند، و مهندسانی که می‌خواهند پیش از دست‌زدن به محیط عملیاتی، تغییری را روی RouterOS واقعی امتحان کنند. SILAB در همان روحیهٔ EVE-NG و PNETLab است، اما روی یک کار متمرکز و ساده‌سازی‌شده.

چگونگی کارکرد آن

SILAB روی QEMU خام اجرا می‌شود. وقتی میزبان KVM دارد، SILAB از آن استفاده می‌کند؛ وقتی ندارد — یک VPS ارزان، یک VM روی لپ‌تاپ، یک نمونهٔ ابری تودرتو — به شبیه‌سازی نرم‌افزاری (TCG) برمی‌گردد و همچنان یک روتر را در حدود نیم دقیقه بالا می‌آورد. روترها یک ایمیج پایهٔ مشترک روی دیسک و صفحات حافظهٔ یکسان در RAM دارند، و سوییچ‌ها، رایانه‌ها و ابرهای اینترنت تقریباً هزینه‌ای ندارند.

مرورگر→ nginx→ silab-web→ silab-engine→ QEMU + CHR برای هر روتر
بخشنقش
silab-webرابط وب، به‌عنوان کاربر بدون‌امتیاز silab، فقط روی 127.0.0.1 و پشت nginx
silab-engineسرویس root: روترها، کابل‌ها، شبکهٔ مدیریتی و port forwardها؛ از طریق یک unix socket با وب ارتباط می‌گیرد
یک QEMU برای هر روترهر روتر در واحد systemd خودش با محدودیت CPU و RAM اجرا می‌شود، بنابراین یک روتر پرترافیک نمی‌تواند میزبان را فریز کند
پیوندهاپیوندهای tc بین پورت‌ها STP، LACP و LLDP را عبور می‌دهند؛ هاب‌ها، رایانه‌ها و ابرهای NAT اینترنت، bridge و namespace های Linux هستند، نه VM
شبکهٔ مدیریتیایزوله، فقط DHCP، درون هر روتر در VRF مخصوص خودش (vrf-mgmt) نگه‌داشته می‌شود

SILAB چه کاری می‌کند

روترهای واقعی

روترها و سوییچ‌های CHR اصل MikroTik، دقیقاً کابل‌کشی‌شده به‌صورت ether1..N همان‌طور که رسم شده.

یک کلیک با شما فاصله دارد

کنسول مرورگر، WinBox، WebFig و SSH برای هر روتر.

کابل‌ها & برق

قطع کردن، مختل کردن، ضبط؛ خاموش کردن، ریست، power cycle، wipe.

رایانه‌های مجازی

کلاینت‌های DHCP، استاتیک یا PPPoE با ping، trace و بیشتر.

ابزارهای مدرس

عملیات دسته‌ای روی هر روتر، تغییر نام زنده، آزمایشگاه‌های کوچک و قابل‌اشتراک.

مثل هر محصول SecuryTik

به‌روزرسانی‌های امضاشده، پشتیبان‌گیری & بازیابی، تم‌های روز و شب.

با نصب شروع کنید، یا از منو برای رفتن به هر موضوع استفاده کنید.

شروع به کار

نصب

SILAB هر چیزی که نیاز دارد — QEMU، ایمیج RouterOS، nginx و سرویس‌های خودش — را با یک دستور نصب می‌کند. مستقل است: روی یک سیستم Ubuntu تازه نصب می‌شود و در کنار هر چیز دیگری که از قبل روی میزبان است، بدون دست‌زدن به آن، قرار می‌گیرد.

هر نصب تأیید می‌شود: bootstrap پیش از اجرای هر چیزی، امضای manifest نسخه را در برابر کلید انتشار SILAB و SHA256 بستهٔ نصب بررسی می‌کند، سپس از شما می‌خواهد مجوز MikroTik را بپذیرید.

پلتفرم خود را انتخاب کنید:

نصب

Linux (یک دستور)

روی Ubuntu 22.04، 24.04 یا 26.04 (amd64 یا arm64)، به‌عنوان root اجرا کنید:

curl -fsSL https://silab.securytik.com/install.sh | sudo bash

نصب‌کننده از bucket دانلود ما دریافت می‌کند، و وقتی bucket در دسترس نباشد، خودش از انتشار GitHub SILAB دانلود می‌کند — چیزی برای انتخاب وجود ندارد.

چه اتفاقی می‌افتد

  1. bootstrap آخرین manifest انتشار را دریافت می‌کند، امضا و تاریخ انقضای آن را بررسی می‌کند، بسته را دانلود کرده و SHA256 آن را بررسی می‌کند. عدم تطابق، نصب را پیش از اجرای هر چیزی متوقف می‌کند.
  2. از شما می‌خواهد مجوز MikroTik برای RouterOS CHR را بپذیرید، سپس آخرین ایمیج پایدار CHR را از MikroTik دانلود کرده و SHA256 آن را بررسی می‌کند. این ایمیج هرگز توسط SILAB بازتوزیع نمی‌شود.
  3. QEMU، nginx و سرویس‌های SILAB را نصب می‌کند، و رابط وب را روی پورت 80 منتشر می‌کند — یا 8088 وقتی پورت 80 از قبل اشغال است، برای مثال توسط SAMM.

اولین ورود

سرور را در مرورگر باز کنید و وارد شوید:

URL ورودhttp://<server>/ · نام کاربریadmin · رمز عبورadmin

رمز عبور را فوراً تحت System → Profile تغییر دهید. SILAB تا زمانی که رمز پیش‌فرض در حال استفاده باشد، یک هشدار نشان می‌دهد.

نصب‌های خودکار (بدون ناظر) بدون ترمینال (cron، CI، ssh -T) نصب‌کننده به‌صورت خودکار اجرا می‌شود. برای پذیرش مجوز MikroTik بدون درخواست تأیید، SILAB_ACCEPT_MIKROTIK_LICENSE=1 را تنظیم کنید — به نیازمندی‌ها & گزینه‌ها مراجعه کنید.

نصب

Windows (WSL2)

SILAB روی Windows 10 (نسخهٔ 2004 یا جدیدتر) و Windows 11 در نمونهٔ مستقل WSL2 خودش اجرا می‌شود، که با یک نصب‌کننده راه‌اندازی می‌شود. PowerShell را باز کنید — نه Command Prompt (cmd) — و خط زیر را اجرا کنید. اگر PowerShell به‌عنوان مدیر اجرا نشده باشد، Windows درخواست مجوز می‌کند: روی Yes کلیک کنید و نصب در یک پنجرهٔ مدیر جدید ادامه می‌یابد.

irm https://silab.securytik.com/install.ps1 | iex

از bucket دانلود ما دریافت می‌کند، و وقتی bucket در دسترس نباشد، خودش از انتشار GitHub SILAB دانلود می‌کند.

bootstrap نصب‌کنندهٔ کامل را در %ProgramData%\SILAB\silab-windows.ps1 دانلود می‌کند و از همان‌جا اجرا می‌کند، تا بتواند خودش را ارتقا دهد و پس از راه‌اندازی مجدد ادامه دهد.

چه اتفاقی می‌افتد

  1. WSL2 را فعال می‌کند. بار اول به یک راه‌اندازی مجدد Windows نیاز دارد؛ سپس نصب خودش ادامه می‌یابد.
  2. یک نمونهٔ اختصاصی Ubuntu 24.04 با نام SILAB وارد می‌کند (با بررسی checksum). سایر توزیع‌های WSL شما بدون تغییر باقی می‌مانند.
  3. SILAB را درون همان نمونه با نصب‌کنندهٔ Linux نصب می‌کند.
  4. یک آیکون SILAB به دسکتاپ و منوی Start اضافه می‌کند: منوی کوچکی برای Start، Stop، مشاهدهٔ Status، Open کردن آن در مرورگر، و Share on the LAN تا سایر رایانه‌ها — و WinBox آن‌ها — بتوانند به آزمایشگاه دسترسی داشته باشند.
مجازی‌سازی سخت‌افزاری در Windows الزامی است برخلاف Linux، WSL2 بدون Intel VT-x / AMD-V نمی‌تواند اجرا شود. روی یک رایانهٔ واقعی، "Intel Virtualization Technology" یا "SVM Mode" را در تنظیمات BIOS/UEFI روشن کنید. درون یک ماشین مجازی باید به مهمان (guest) عبور داده شود — در VMware با VM خاموش، گزینهٔ "Virtualize Intel VT-x/EPT or AMD-V/RVI" را تیک بزنید. نصب‌کننده این را بررسی می‌کند و می‌گوید چه چیزی را باید تغییر دهید.

نصب از یک فایل دانلودشده

نصب‌کنندهٔ کامل را می‌توان مستقیماً هم اجرا کرد، برای مثال از یک نسخه روی یک USB:

powershell -ExecutionPolicy Bypass -File silab-windows.ps1

حذف نصب

-Uninstall نمونهٔ SILAB، میانبر و قوانین اشتراک‌گذاری در LAN را حذف می‌کند:

powershell -ExecutionPolicy Bypass -File "$env:ProgramData\SILAB\silab-windows.ps1" -Uninstall

نصب

نیازمندی‌ها & گزینه‌ها

نیازمندی‌ها

  • Linux: Ubuntu 22.04، 24.04 یا 26.04، amd64 یا arm64، با دسترسی root / sudo. وقتی /dev/kvm قابل‌استفاده باشد، KVM به‌طور خودکار استفاده می‌شود؛ بدون آن، SILAB تحت شبیه‌سازی نرم‌افزاری اجرا می‌شود — نیازی به VT-x نیست.
  • Windows: Windows 10 نسخهٔ 2004 (build 19041) یا جدیدتر، یا Windows 11، با مجازی‌سازی سخت‌افزاری (VT-x / AMD-V) روشن برای WSL2.
  • اندازه: 2 هسته و 4 گیگابایت RAM چند روتر را اجرا می‌کند؛ برای هر روتر حدود 200 تا 300 مگابایت RAM در نظر بگیرید.
  • RouterOS: CHR 7.15 یا جدیدتر، دانلودشده از MikroTik.

نصب‌کننده چه چیزی را راه‌اندازی می‌کند

مؤلفهجزئیات
QEMUqemu-system-x86 (یا -arm روی میزبان‌های arm64) و qemu-utils؛ وقتی /dev/kvm قابل‌استفاده باشد، KVM به‌طور خودکار استفاده می‌شود
RouterOS CHRآخرین ایمیج پایدار، پس از پذیرش مجوز MikroTik، از MikroTik دانلود می‌شود؛ با SHA256 تأیید می‌شود
nginxرابط وب را روی پورت 80 منتشر می‌کند (یا 8088 وقتی پورت 80 اشغال است، مثلاً توسط SAMM)، به‌عنوان سایت مخصوص SILAB، بدون دست‌زدن به سایت‌های دیگر اضافه می‌شود
silab-webرابط وب به‌عنوان کاربر بدون‌امتیاز silab، فقط روی 127.0.0.1 (پشت nginx)
silab-engineسرویس root: روترها، کابل‌ها، شبکهٔ مدیریتی، port forwardها
زمان‌بندهابررسی روزانهٔ انتشار (silab-updater.timer)، پشتیبان‌گیری روزانه در ساعت 04:00 (silab-backup.timer)، ادغام حافظه (silab-ksm)
شبکه‌بندیbridge های مخصوص خودش (sl*) و جدول nftables (inet silab)؛ هرگز به رابط LAN شما دست نمی‌زند
فایروال میزباندر جایی که Docker یا ufw ترافیک forward‌شده را drop می‌کنند، silab-fw.service قوانین ACCEPT محدود (با تگ silab) برای port forwardهای آزمایشگاه، ابرهای اینترنت و هاب‌ها اضافه می‌کند، و در هر بار بوت دوباره آن‌ها را اضافه می‌کند
Docker یا ufw بعداً اضافه شده؟ اگر Docker را نصب کنید یا ufw را بعد از SILAB فعال کنید، systemctl restart silab-fw را اجرا کنید (یا سیستم را ری‌استارت کنید) تا قوانین آزمایشگاه دوباره اضافه شوند.

override های محیطی

این‌ها را جلوی دستور نصب تنظیم کنید، برای مثال curl -fsSL https://silab.securytik.com/install.sh | sudo SILAB_HTTP_PORT=8080 bash.

متغیراثر
SILAB_HTTP_PORT=Nپورت رابط وب (پیش‌فرض 80 وقتی آزاد باشد، در غیر این صورت 8088)
SILAB_APP_PORT=Nپورت مخصوص خود برنامه روی 127.0.0.1، پشت nginx (پیش‌فرض 8089)
SILAB_ACCEPT_MIKROTIK_LICENSE=1پذیرش مجوز MikroTik بدون درخواست تأیید
SILAB_SKIP_IMAGE=1میزبان آفلاین: نصب بدون دانلود RouterOS (بعداً با silab image add <file>)
SILAB_VERBOSE=1خروجی خام دستور به‌جای نمایش پیشرفت

شروع به کار

اولین آزمایشگاه شما

دو روتر و یک کابل، از یک بستر خالی تا یک ping از میان لینک.

  1. با admin / admin وارد شوید و رمز عبور را تحت System → Profile تغییر دهید.
  2. یک آزمایشگاه بسازید، سپس Lab → Topology را باز کنید.
  3. روی + Node کلیک کنید و دو گرهٔ Router (CHR) اضافه کنید — در این مثال R1 و R2.
  4. روی + Connect کلیک کنید، ابتدا R1 و سپس R2 را کلیک کنید، و پورت‌ها را انتخاب کنید — برای مثال ether1 روی هر دو.
  5. روی Start lab کلیک کنید. تحت شبیه‌سازی نرم‌افزاری، یک آزمایشگاه دو-روتری تازه در حدود نیم دقیقه راه‌اندازی و پیکربندی می‌شود.
  6. روی R1 دوبار-کلیک کنید تا کنسول آن باز شود، به ether1 روی هر روتر یک آدرس بدهید، و از Ping استفاده کنید — R1 و سپس R2 را کلیک کنید — تا کابل را آزمایش کنید.
یک آزمایشگاه در هر زمان SILAB در هر زمان یک آزمایشگاه اجرا می‌کند. مدیر آزمایشگاه‌ها، فایل‌های .silab را می‌سازد، باز می‌کند، تکثیر می‌کند، تغییر نام می‌دهد، صادر و وارد می‌کند.

فایل آزمایشگاه

یک آزمایشگاه یک نمودار YAML کوچک است. وقتی به‌صورت فایل .silab صادر شود، نمودار را به‌همراه یک .rsc برای هر روتر حمل می‌کند — معمولاً چند کیلوبایت. SILAB گیرنده، آزمایشگاه را از ایمیج RouterOS خودش بازسازی می‌کند، و فایل‌های وارد‌شده به‌شدت اعتبارسنجی می‌شوند: بدون مسیرهای میزبان، بدون آرگومان‌های خام QEMU.

silab: 1
name: OSPF basics
routeros: "7.24.4"
nodes:
  - {id: 1, name: R1, kind: router, x: 100, y: 100, config: R1.rsc}
  - {id: 2, name: R2, kind: router, x: 400, y: 100}
  - {id: 3, name: LAN, kind: hub,    x: 250, y: 300}
  - {id: 4, name: PC1, kind: pc,     x: 250, y: 450}
links:
  - {a: {node: 1, port: 1}, b: {node: 2, port: 1}, delay_ms: 20}
  - {a: {node: 2, port: 2}, b: {node: 3}}
  - {a: {node: 4}, b: {node: 3}}

هر آزمایشگاه نسخهٔ RouterOS خودش را پین می‌کند، بنابراین یک آزمایشگاه به‌اشتراک‌گذاشته‌شده در همه‌جا یکسان رفتار می‌کند.

ساخت آزمایشگاه‌ها

گره‌ها & کابل‌ها

گره‌ها را با + Node اضافه کنید و آن‌ها را پورت‌به‌پورت با + Connect کابل‌کشی کنید — در حالی که آزمایشگاه اجرا می‌شود، بدون هیچ ری‌استارتی.

نوع‌های گره

گرهچیست
Router (CHR)یک Cloud Hosted Router اصل MikroTik. پورت‌ها درون RouterOS به‌صورت ether1..N نام‌گذاری شده‌اند، منطبق با نمودار.
Switch (CHR)یک CHR که به‌صورت سوییچ راه‌اندازی شده.
Hubیک قطعهٔ مشترک — یک bridge از Linux، بدون VM.
PCیک رایانهٔ مجازی: کلاینت DHCP، استاتیک یا PPPoE با کنسول مخصوص خودش. به رایانه‌های مجازی مراجعه کنید.
Internet (NAT)یک ابر NAT که راهی به بیرون، به اینترنت، به آزمایشگاه می‌دهد، هرگز به LAN میزبان.

نام یک روتر را روی بستر تغییر دهید و identity آن در RouterOS به‌صورت زنده دنبال می‌کند. هر روتر می‌تواند یک پیکربندی راه‌اندازی (.rsc) داشته باشد که در اولین بوت اعمال می‌شود.

کابل‌ها

  • کابل‌های نقطه‌به‌نقطه هر فریم را عبور می‌دهند: STP، LACP، LLDP، MNDP و تگ‌های VLAN.
  • کابل را قطع و وصل کنید، یا عمداً آن را مختل کنید: delay، jitter، loss، bandwidth.
  • چند کابل بین همان دو گره، کنار هم رسم می‌شوند، هرکدام با برچسب‌های مخصوص خودش.
  • روی یک کابل راست-کلیک کنید تا آن را به‌صورت زنده در Wireshark ضبط کنید.

برق

روی یک روتر راست-کلیک کنید تا منوی برق به سبک VMware باز شود:

عملروتر چه چیزی می‌بیند
روشن کردنبرق اعمال شد
خاموش کردن / راه‌اندازی مجددیک خاموش‌شدن یا راه‌اندازی مجدد تمیز
ریستدکمهٔ ریست — بدون خاموش‌شدن
خاموش کردن (کشیدن پریز)قطع برق: RouterOS دقیقاً همان چیزی را از دست می‌دهد که یک قطع برق واقعی از دست می‌دهد
Power cycleقطع و دوباره وصل کردن — همچنین روشی که تغییرات device-mode در RouterOS (container، traffic-gen و غیره) تأیید می‌شوند
پاک‌سازیدیسک به ایمیج پایه برمی‌گردد
مجوز رایگان CHR یک CHR بدون مجوز به 1 مگابیت بر ثانیه آپلود برای هر رابط محدود است. این برای آزمایشگاه‌های پیکربندی مناسب است؛ برای آزمون‌های throughput آن را در نظر داشته باشید.

ساخت آزمایشگاه‌ها

دسترسی به یک روتر

روی یک روتر دوبار-کلیک کنید تا کنسول آن در مرورگر باز شود. این از طریق پورت سریال روتر کار می‌کند، بنابراین حتی وقتی دانشجو هر آدرس IP را پاک کرده باشد همچنان کار می‌کند. هر روتر همچنین پورت‌های ثابتی روی میزبان SILAB می‌گیرد، که از LAN یا اینترنت در دسترس است.

روشکجا
کنسولدوبار-کلیک روی روتر → کنسول (مرورگر)
WinBox<host>:20000 + id×10 — R1 :20010 است
SSHssh -p <20000 + id×10 + 1> admin@<host>
WebFighttp://<host>:<20000 + id×10 + 2>

بنابراین روتر 1 به WinBox روی 20010، SSH روی 20011 و WebFig روی 20012 پاسخ می‌دهد؛ روتر 2 روی 20020، 20021 و 20022. روترها با admin / admin وارد می‌شوند.

ssh -p 20011 admin@<silab-host>

WinBox با یک کلیک

روی یک روتر راست-کلیک کنید → WinBox و WinBox از قبل متصل باز می‌شود، با آدرس، نام کاربری و رمز عبور از قبل پر شده. یک صفحهٔ وب نمی‌تواند خودش یک برنامه را روی رایانهٔ شما اجرا کند، بنابراین این کار به یک helper برای WinBox نیاز دارد، که یک‌بار برای هر رایانه از System → Helpers نصب می‌شود:

  • Windows — helper را دانلود کنید، روی آن راست-کلیک کنید → Run with PowerShell. اگر نتواند WinBox را پیدا کند، از شما می‌پرسد که WinBox.exe کجاست. مرورگر را یک‌بار ری‌استارت کنید.
  • Linux — helper را دانلود کنید و sh silab-winbox-linux.sh را اجرا کنید (نه به‌عنوان root). WinBox را پیدا می‌کند، یا مسیر باینری WinBox را می‌پرسد.
  • macOS — تا زمانی که helper موجود شود، روی یک روتر راست-کلیک کنید → Links → WinBox آدرس را کپی می‌کند.

helper به هیچ دسترسی مدیر نیاز ندارد. ابتدا باید خود WinBox را از mikrotik.com/download داشته باشید.

پورت مدیریتی

SILAB به هر روتر از طریق یک پورت مدیریتی که در VRF مخصوص خودش، vrf-mgmt، نگه‌داشته می‌شود، دسترسی پیدا می‌کند: خارج از جدول مسیریابی دانشجو و خارج از OSPF و BGP. پورت‌های دانشجو همان ether1..N باقی می‌مانند، دقیقاً همان‌طور که رسم شده.

ساخت آزمایشگاه‌ها

رایانه‌های مجازی

یک گرهٔ PC یک کلاینت سبک بدون VM پشت آن است. آدرس آن را از بستر تنظیم کنید — DHCP client، Static، PPPoE client (به‌صورت اختیاری فقط سروری که یک نام سرویس خاص را ارائه می‌دهد) یا No address — یا از کنسول آن. کنسول هیچ shell میزبانی پشت خودش ندارد؛ این‌ها دستورات آن هستند:

دستورچه کاری انجام می‌دهد
ipنمایش آدرس، gateway، DNS و حالت
ip dhcpدریافت آدرس با DHCP (در حین اجرای آزمایشگاه تجدید می‌شود)
ip 192.168.88.10/24 192.168.88.1 1.1.1.1آدرس، gateway و DNS استاتیک (ماسک نقطه‌ای هم کار می‌کند)
ip noneبدون آدرس
pppoe USER PASSWORD [SERVICE]اتصال PPPoE (خودش دوباره تلاش می‌کند)؛ pppoe به‌تنهایی وضعیت را نشان می‌دهد
ping HOST [-c COUNT | -t]Ping؛ با -t تا Ctrl-C ادامه می‌یابد
trace HOSTمسیر، گام‌به‌گام (همچنین tracert، traceroute)
nslookup NAME [SERVER]پرسیدن از DNS
web URLدریافت یک صفحه به‌صورت متن، مثلاً web http://192.168.88.1
arp · route · clear · helpجدول همسایه، مسیرها، پاک‌کردن صفحه، فهرست دستورات

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

در کنار + Connect روی توپولوژی، Ping دسترسی‌پذیری را بدون باز کردن کنسول آزمایش می‌کند: دو دستگاه را کلیک کنید، پنج ping در پس‌زمینه اجرا می‌شود، و نتیجه در یک پاپ‌آپ باز می‌شود. SILAB آدرس روی زیرشبکهٔ مشترک بین آن دو را ping می‌کند، در غیر این صورت اولین آدرس هدف را؛ اگر هدف یک گرهٔ اینترنت باشد، 8.8.8.8 را ping می‌کند.

ساخت آزمایشگاه‌ها

ضبط در Wireshark

روی یک کابل راست-کلیک کنید → Capture in Wireshark: Wireshark روی رایانهٔ شما باز می‌شود و ترافیک آن کابل را به‌صورت زنده، در هر دو جهت، تا زمانی که آن را ببندید نشان می‌دهد.

helper Wireshark را یک‌بار نصب کنید

مثل WinBox، این هم به یک helper کوچک برای هر رایانه نیاز دارد، از System → Helpers. به هیچ دسترسی مدیر نیاز ندارد.

  • Windows — helper را دانلود کنید، روی آن راست-کلیک کنید → Run with PowerShell. اگر نتواند Wireshark را پیدا کند، از شما می‌پرسد که Wireshark.exe کجاست. مرورگر را یک‌بار ری‌استارت کنید: پس از آن لینک‌های ضبط، Wireshark را بدون پرسیدن باز می‌کنند.
  • Linux — helper را دانلود کنید و sh silab-wireshark-linux.sh را اجرا کنید (نه به‌عنوان root). Wireshark را پیدا می‌کند، یا مسیر باینری wireshark را می‌پرسد. به curl نیاز دارد.

ابتدا باید خود Wireshark را از wireshark.org داشته باشید.

خوب است بدانید ضبط روی سرور SILAB اجرا می‌شود، بنابراین Wireshark به هیچ دسترسی ضبطی روی رایانهٔ شما نیاز ندارد. تا 4 ضبط به‌طور هم‌زمان اجرا می‌شود، و یک لینک ضبط فقط یک‌بار، ظرف یک دقیقه کار می‌کند.

ساخت آزمایشگاه‌ها

عملیات‌های گروهی

Lab → Bulk actions یک تغییر را روی هر روتر آزمایشگاه — یا آن‌هایی که تیک زده‌اید — اعمال می‌کند و نتیجه را برای هر روتر نشان می‌دهد.

عملچه کاری انجام می‌دهد
همگام‌سازی ساعتساعت و منطقهٔ زمانی هر روتر از میزبان SILAB، تا لاگ‌ها در سراسر آزمایشگاه هم‌راستا باشند
NTPروشن کردن کلاینت NTP با تا 4 سرور
منطقه زمانییک نام منطقه مانند Asia/Beirut یا UTC تنظیم کنید
DNSتنظیم سرورهای DNS
دستورات RouterOSاجرای یک اسکریپت روی هر روتر
ارتقای RouterOSبه‌روزرسان خود RouterOS، روی یک کانال انتخاب‌شده — روترها به یک مسیر به اینترنت نیاز دارند (یک گرهٔ اینترنت)
راه‌اندازی مجدد / hard reset / power cycleاعمال عملیات برق روی هر روتر به‌طور هم‌زمان
بازنشانی آزمایشگاهبازگشت به حالت اولیهٔ آن

سیستم

به‌روزرسانی‌ها

System → Updates نسخهٔ نصب‌شده، آخرین انتشار و What's new را نشان می‌دهد. یک زمان‌بند روزانه انتشارهای جدید را بررسی می‌کند.

  1. Apply update انتشار امضاشده را دانلود می‌کند و آن را بررسی می‌کند.
  2. نصب را در /var/backups/silab پشتیبان‌گیری می‌کند، فایل‌های جدید را جایگزین می‌کند و engine و وب را ری‌استارت می‌کند. روترهای در حال اجرا، به کار خود ادامه می‌دهند.
  3. اگر چیزی با خطا مواجه شود، نسخهٔ قبلی به‌طور خودکار بازگردانده می‌شود.

پس از یک ارتقای نسخهٔ Ubuntu (22.04 → 24.04 → 26.04)، سرویس‌ها در اجرای بعدی خودشان محیط Python مربوط به SILAB را بازسازی می‌کنند؛ اجرای دوبارهٔ نصب‌کننده هم کار می‌کند.

نسخه‌های RouterOS

چند نسخهٔ RouterOS می‌توانند کنار هم نصب شوند، و SILAB به شما می‌گوید وقتی نسخهٔ جدیدتری از RouterOS منتشر شده. هیچ‌چیز خودش به‌روزرسانی نمی‌شود: هر آزمایشگاه نسخهٔ خودش را پین می‌کند. یکی را از خط فرمان اضافه کنید:

silab image latest
silab image pull 7.24.4
silab image list

سیستم

پشتیبان‌گیری & بازگردانی

System → Backup & restore پشتیبان‌ها را می‌سازد، دانلود، آپلود و بازیابی می‌کند.

  • هر پشتیبان، هر آزمایشگاه را به‌همراه پیکربندی‌های راه‌اندازی، حساب‌ها و تنظیمات نگه می‌دارد.
  • برای نگه‌داشتن وضعیت کامل روترها هم، Include the routers' disks را تیک بزنید — فایل بزرگ‌تر خواهد بود.
  • ایمیج‌های RouterOS شامل نمی‌شوند؛ دوباره از MikroTik دانلود می‌شوند.
  • یک پشتیبان خودکار هر روز ساعت 04:00 (ساعت سرور) اجرا می‌شود. تعداد نسخه‌های خودکاری که نگه داشته شوند را انتخاب کنید؛ پشتیبان‌هایی که خودتان ساخته یا آپلود کرده‌اید هرگز حذف نمی‌شوند.
  • آپلودها باید یک .tar.gz ساخته‌شده توسط SILAB باشند؛ هر چیز دیگری رد می‌شود.
بازیابی همه‌چیز را جایگزین می‌کند یک بازیابی هر آزمایشگاه، حساب‌ها و تنظیمات را با آن‌هایی که در پشتیبان هستند جایگزین می‌کند، و قابل بازگشت نیست. ابتدا آزمایشگاه را متوقف کنید — SILAB در حین اجرا از بازیابی خودداری می‌کند — و برای تأیید، RESTORE را تایپ کنید.

از خط فرمان:

silab backup create --disks
silab backup list

سیستم

خط فرمان

هر کاری که روی بستر انجام می‌شود می‌توان از shell سرور نیز با silab انجام داد:

دستورچه کاری انجام می‌دهد
silab image latest / pull <ver> / listنسخه‌های RouterOS از MikroTik
silab lab load <file> / export <file>باز کردن یک آزمایشگاه / ذخیرهٔ آن با پیکربندی هر روتر
silab up / down / statusشروع یا توقف کل آزمایشگاه؛ روترها، وضعیت‌ها، پورت‌ها
silab node reset|poweroff|cycle|wipe R1برق‌دهی به یک روتر مثل یک روتر واقعی
silab link down|up R1:1کشیدن یا وصل کردن یک کابل
silab link impair R1:1 --delay 50 --loss 2خراب کردن عمدی یک لینک
silab console R1کنسول سریال در ترمینال (Ctrl-] برای خروج)
silab backup create [--disks] / listپشتیبان‌ها از خط فرمان
silab lab load ospf-basics.silab
silab up
silab link impair R1:1 --delay 50 --loss 2
silab console R1

مرجع

پرسش‌های متداول و رفع اشکال

آیا به VT-x یا KVM نیاز دارم؟

روی Linux نه: SILAB وقتی میزبان KVM داشته باشد از آن استفاده می‌کند و وقتی نداشته باشد از شبیه‌سازی نرم‌افزاری QEMU (TCG) استفاده می‌کند. روی Windows، SILAB درون WSL2 اجرا می‌شود، و WSL2 نیاز دارد که مجازی‌سازی سخت‌افزاری (Intel VT-x / AMD-V) روشن باشد — درون یک VM باید به مهمان عبور داده شود.

چند روتر می‌توانم اجرا کنم؟

2 هسته و 4 گیگابایت RAM چند روتر را اجرا می‌کند؛ برای هر روتر حدود 200 تا 300 مگابایت RAM در نظر بگیرید. طبق اندازه‌گیری تحت شبیه‌سازی نرم‌افزاری، یک روتر بیکار حدود 220 مگابایت و 4 تا 6 درصد از یک هسته استفاده کرد. هاب‌ها، رایانه‌ها و ابرهای اینترنت تقریباً هزینه‌ای ندارند.

پورت 80 روی سرور من از قبل استفاده می‌شود. آیا SILAB آن را خراب می‌کند؟

نه. SILAB سایت nginx مخصوص خودش را بدون دست‌زدن به دیگران اضافه می‌کند و، وقتی پورت 80 اشغال باشد — برای مثال توسط SAMM — به‌جای آن رابط وب را روی پورت 8088 منتشر می‌کند. SILAB_HTTP_PORT را برای انتخاب پورت دیگری تنظیم کنید.

آیا SILAB شامل RouterOS می‌شود؟

نه. ایمیج‌های RouterOS CHR در زمان نصب، پس از پذیرش مجوز MikroTik، از MikroTik دانلود و با checksum تأیید می‌شوند. SILAB هرگز آن‌ها را بازتوزیع نمی‌کند. یک CHR بدون مجوز به 1 مگابیت بر ثانیه آپلود برای هر رابط محدود است، که برای آزمایشگاه‌های پیکربندی مناسب است.

آیا می‌توانم SILAB را روی سروری بدون دسترسی به اینترنت نصب کنم؟

بله. با SILAB_SKIP_IMAGE=1 نصب کنید و بعداً یک ایمیج RouterOS را با silab image add و به‌دنبال آن فایل ایمیج اضافه کنید.

نصب‌کنندهٔ Windows متوقف می‌شود و می‌گوید مجازی‌سازی خاموش است.

Intel Virtualization Technology یا SVM Mode را در تنظیمات BIOS/UEFI روشن کنید. در یک ماشین مجازی VMware، آن را خاموش کنید و Virtualize Intel VT-x/EPT or AMD-V/RVI را تیک بزنید؛ در Hyper-V، افزونه‌های مجازی‌سازی را به VM نمایان کنید. سپس نصب‌کننده را دوباره اجرا کنید. لاگ آن در %ProgramData%\SILAB\setup.log است.

من Docker را نصب کردم یا ufw را روشن کردم و آزمایشگاه پورت‌های خودش را از دست داد.

systemctl restart silab-fw را اجرا کنید، یا سیستم را ری‌استارت کنید. SILAB قوانین ACCEPT محدود برای port forwardهای آزمایشگاه، ابرهای اینترنت و هاب‌ها، در جایی که Docker یا ufw آن‌ها را drop می‌کردند، اضافه می‌کند، و در هر بار بوت دوباره آن‌ها را اضافه می‌کند.

آیا SILAB رایگان است؟

بله — رایگان برای استفاده، بدون سرور لایسنس و بدون ثبت‌نام.

کمک بیشتری می‌خواهید؟

برای گزارش یک اشکال یا درخواست یک قابلیت به [email protected] ایمیل بزنید.