شروع به کار
نمای کلی و معماری
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 دانلود میکند — چیزی برای انتخاب وجود ندارد.
چه اتفاقی میافتد
- bootstrap آخرین manifest انتشار را دریافت میکند، امضا و تاریخ انقضای آن را بررسی میکند، بسته را دانلود کرده و SHA256 آن را بررسی میکند. عدم تطابق، نصب را پیش از اجرای هر چیزی متوقف میکند.
- از شما میخواهد مجوز MikroTik برای RouterOS CHR را بپذیرید، سپس آخرین ایمیج پایدار CHR را از MikroTik دانلود کرده و SHA256 آن را بررسی میکند. این ایمیج هرگز توسط SILAB بازتوزیع نمیشود.
- 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 دانلود میکند و از همانجا اجرا میکند، تا بتواند خودش را ارتقا دهد و پس از راهاندازی مجدد ادامه دهد.
چه اتفاقی میافتد
- WSL2 را فعال میکند. بار اول به یک راهاندازی مجدد Windows نیاز دارد؛ سپس نصب خودش ادامه مییابد.
- یک نمونهٔ اختصاصی Ubuntu 24.04 با نام SILAB وارد میکند (با بررسی checksum). سایر توزیعهای WSL شما بدون تغییر باقی میمانند.
- SILAB را درون همان نمونه با نصبکنندهٔ Linux نصب میکند.
- یک آیکون 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.
نصبکننده چه چیزی را راهاندازی میکند
| مؤلفه | جزئیات |
| QEMU | qemu-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 از میان لینک.
- با
admin / admin وارد شوید و رمز عبور را تحت System → Profile تغییر دهید.
- یک آزمایشگاه بسازید، سپس Lab → Topology را باز کنید.
- روی + Node کلیک کنید و دو گرهٔ Router (CHR) اضافه کنید — در این مثال R1 و R2.
- روی + Connect کلیک کنید، ابتدا R1 و سپس R2 را کلیک کنید، و پورتها را انتخاب کنید — برای مثال
ether1 روی هر دو.
- روی Start lab کلیک کنید. تحت شبیهسازی نرمافزاری، یک آزمایشگاه دو-روتری تازه در حدود نیم دقیقه راهاندازی و پیکربندی میشود.
- روی 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 است |
| SSH | ssh -p <20000 + id×10 + 1> admin@<host> |
| WebFig | http://<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 را نشان میدهد. یک زمانبند روزانه انتشارهای جدید را بررسی میکند.
- Apply update انتشار امضاشده را دانلود میکند و آن را بررسی میکند.
- نصب را در
/var/backups/silab پشتیبانگیری میکند، فایلهای جدید را جایگزین میکند و engine و وب را ریاستارت میکند. روترهای در حال اجرا، به کار خود ادامه میدهند.
- اگر چیزی با خطا مواجه شود، نسخهٔ قبلی بهطور خودکار بازگردانده میشود.
پس از یک ارتقای نسخهٔ 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] ایمیل بزنید.