آموزش نصب میکروتیک روی لینوکس
آیا تا به حال به فکر راهاندازی یک روتر قدرتمند با استفاده از سیستمعامل لینوکس افتادهاید؟ اگر پاسخ شما مثبت است، پس این پست بلاگ برای شماست. در این مقاله، نحوه نصب و راهاندازی RouterOS میکروتیک روی لینوکس را به شما آموزش میدهیم. در روش نصب مستقیم از لینوکس برای آمادهسازی ایمیج MikroTik CHR استفاده میکنیم و پس از نصب، RouterOS جایگزین سیستمعامل قبلی روی دیسک میشود. در این مقاله هم روش سنتی و هم روش سرورهای UEFI را آموزش میدهیم.
چه مواردی باعث این میشه که به فکر نصب میکروتیک بر روی لینوکس بیوفتیم؟
نصب میکروتیک در لینوکس میتواند به دلایل متعددی انجام شود که در ادامه به چند مورد از این دلایل اشاره میکنیم:
1. انعطافپذیری و قابلیتهای پیشرفته
MikroTik CHR امکانات مسیریابی و مدیریت شبکه را روی سرور مجازی فراهم میکند و از لینوکس میتوان برای آمادهسازی ایمیج نصب مستقیم آن استفاده کرد. لینوکس به دلیل انعطافپذیری و قابلیت تنظیم بالا، محیطی مناسب برای اجرای نرمافزارهای مختلف و سفارشیسازیهای پیچیده فراهم میکند. از سوی دیگر، RouterOS میکروتیک امکانات گستردهای برای مدیریت شبکه، مسیریابی، فایروال، VPN و غیره ارائه میدهد.
2. صرفهجویی در هزینهها
استفاده از لینوکس به عنوان یک سیستمعامل متنباز و رایگان میتواند هزینههای کلی را کاهش دهد. این ترکیب به خصوص برای سازمانها و شرکتهایی که نیاز به راهحلهای شبکه پیشرفته با هزینههای کمتر دارند، جذاب است.
3. امنیت بالا
لینوکس به دلیل ساختار ماژولار و دسترسی محدود به ریشه (Root)، امنیت بالایی دارد. در نصب مستقیم CHR، لینوکس دیگر سیستمعامل میزبان نیست و امنیت RouterOS به تنظیم فایروال، محدودسازی دسترسی مدیریتی، رمز قوی و بهروزرسانی منظم بستگی دارد.
4. یکپارچگی و مدیریت سادهتر
مدیران شبکهای که با لینوکس آشنا هستند، میتوانند به راحتی RouterOS را مدیریت کنند و از ابزارهای معمول لینوکسی برای نظارت و مدیریت شبکه استفاده کنند. این یکپارچگی میتواند کار را سادهتر و کارآمدتر کند.
5. مقیاسپذیری
لینوکس به دلیل قابلیت مقیاسپذیری بالا، میتواند به راحتی با نیازهای شبکههای مختلف از کوچک تا بزرگ سازگار شود. نصب RouterOS میکروتیک روی لینوکس میتواند به شبکهها اجازه دهد تا به صورت مقیاسپذیر و با انعطافپذیری بالا مدیریت شوند.
6. پشتیبانی از سختافزارهای مختلف
لینوکس از طیف وسیعی از سختافزارها پشتیبانی میکند، که این امکان را فراهم میکند تا RouterOS میکروتیک روی انواع مختلفی از دستگاهها و سرورها نصب شود. این ویژگی میتواند به صرفهجویی در هزینهها و استفاده بهینه از منابع موجود کمک کند.
در ادامه، ابتدا روش نصب روی سرورهای Legacy BIOS و سپس نصب MikroTik CHR روی UEFI مانند Hetzner Cloud را بررسی میکنیم. برای نوشتن ایمیج روی دیسک اصلی، استفاده از Linux Rescue بهمراتب امنتر از اجرای آن روی سیستمعامل در حال استفاده است.
پیشنیازها
قبل از شروع، اطمینان حاصل کنید که موارد زیر را در اختیار دارید:
- یک سیستمعامل لینوکس (ترجیحاً اوبونتو، دبیان یا سنتاواس)
- دسترسی به اینترنت
- دسترسی به ترمینال لینوکس با دسترسیهای روت
مراحل نصب میکروتیک CHR در لینوکس (Legacy BIOS)
ویدیوی اولیه این بخش با Ubuntu 20 تهیه شده است. روش زیر برای سرورهای دارای Legacy BIOS است؛ اگر سرور UEFI دارد، به بخش جدید نصب روی Hetzner در ادامه مراجعه کنید. قبل از هر عملیات، از اطلاعات بکاپ تهیه و حالت Rescue را فعال کنید.
ابتدا باید از نوع هارد سیستم عامل مشخص بشیم که از نوع sda و یا vda هستش؟
برای شناسایی دقیق دیسک مقصد از lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS استفاده میکنیم. دستور df -h بهتنهایی برای انتخاب دیسک مقصد کافی نیست. این فرایند تمام اطلاعات دیسک انتخابی را حذف میکند.
در ویدیویی که برای این پست در نظر گرفته شده ،به صورت کامل توضیح داده شده.
ابتدا از طریق SSH به محیط Rescue وصل میشویم و با دستور nano یک فایل دستورات میسازیم:
nano Mikrotik
توجه : میتوانید هر اسمی رو قرار بدید ؛چون من دارم میکروتیک رو نصب میکنم از این اسم استفاده کردم.
و سپس دستوراتی که خدمتتون قرار میدم رو در فایل مورد نظر قرار بدید:
#!/bin/bash
wget https://download.mikrotik.com/routeros/7.12.1/chr-7.12.1.img.zip -O chr.img.zip
gunzip -c chr.img.zip > chr.img
echo u > /proc/sysrq-trigger
dd if=chr.img bs=1024 of=/dev/vda
echo "sync disk"
echo s > /proc/sysrq-trigger
echo "Sleep 5 seconds"
sleep 5
echo "Ok, reboot"
echo b > /proc/sysrq-trigger
در نمونه بالا دیسک مقصد /dev/vda است. آن را تنها در صورتی استفاده کنید که lsblk همین دیسک را تأیید کند؛ دیسک سرور شما ممکن است /dev/sda یا /dev/nvme0n1 باشد.
در این قسمت ،شما یک فایل ایجاد کردید به نام MIkrotik و دستورات مورد نظر رو به حالت bash قرار دادید.
ذخیره کردن را با کلید های دستوری ctrl+o انجام میدین و مجدد به ترمینال برمیگردید.
با کامند زیر دستوراتی که در فایل MIkrotik قرار دادیم رو اجرا میکنیم:
bash Mikrotik
پس از اجرای موفق دستورات، ایمیج CHR روی دیسک نوشته شده است. حالت Rescue را از پنل سرور غیرفعال کرده و سرور را بوت کنید. این روش لینوکس موجود را جایگزین میکند و به سازگاری حالت بوت نیاز دارد.
پس از بوت موفق، با کنسول یا Winbox وارد RouterOS شوید. وضعیت رمز اولیه به نسخه و تنظیمات بستگی دارد؛ بلافاصله رمز مدیریتی قوی انتخاب کنید.
در قسمت IP > Services سرویسهای غیرضروری مانند HTTP را غیرفعال کنید و دسترسی Winbox/SSH را به IPهای مدیریتی مجاز محدود کنید؛ باز گذاشتن پورتهای مدیریتی برای تمام اینترنت توصیه نمیشود.
اگر RouterOS در سرور Legacy BIOS بوت شد، نصب مستقیم کامل است. اگر به صفحه UEFI Interactive Shell وارد شدید یا بعد از ریبوت سیستم بالا نیامد، بخش بعدی را دنبال کنید.
نصب میکروتیک CHR روی UEFI در Hetzner Cloud
گاهی بعد از نصب CHR روی سرور مجازی جدید، سرور بهجای RouterOS وارد صفحه UEFI Interactive Shell میشود؛ یا نصب در بوت اول کار میکند اما بعد از ریبوت خراب میشود.
چرا نصب معمولی CHR روی UEFI بوت نمیشود؟
در ایمیج RAW مورد آزمایش دو پارتیشن وجود داشت: پارتیشن Boot با حجم 32MB و پارتیشن RouterOS با حجم حدود 94MB. پارتیشن EFI مستقل وجود نداشت. افزودن EFI به انتهای دیسک نیز پس از گسترش خودکار پارتیشن RouterOS موجب همپوشانی شد. راهکار موفق این بود که پارتیشن Boot را به 16MB کاهش دهیم و در فضای آزادشده، قبل از پارتیشن اصلی RouterOS، یک پارتیشن EFI با FAT16 بسازیم؛ بدون تغییر سکتور شروع پارتیشن RouterOS.
پیشنیازها و آمادهسازی Rescue
- سرور x86-64 با امکان دسترسی به Linux Rescue و کنسول سرور
- گرفتن Snapshot یا بکاپ مستقل؛ تمام اطلاعات دیسک مقصد در پایان پاک میشوند
- ابزارهای
wget،unzip،fdisk،losetup،sfdisk،resize2fs،e2fsckوmkfs.vfat - ثبت IP، Gateway و دیسک واقعی سرور پیش از نصب
uname -m
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
ip -4 addr show eth0
ip -4 route show default
برای این آموزش خروجی معماری باید x86_64 باشد. در سرور آزمایششده نام دیسک مقصد /dev/sda بود؛ این نام را برای سرورهای دیگر بدون بررسی کپی نکنید.
مرحله ۱: دریافت و بررسی ایمیج رسمی MikroTik CHR
cd /tmp
wget https://download.mikrotik.com/routeros/7.25.1/chr-7.25.1.img.zip -O chr.zip
unzip -t chr.zip
unzip -p chr.zip > chr.img
fdisk -l /tmp/chr.img
در نسخه آزمایششده، پارتیشن اول از سکتور 34 تا 65569 و پارتیشن دوم از سکتور 65570 شروع میشود. اگر خروجی fdisk متفاوت بود، مقادیر سکتورها را کورکورانه اجرا نکنید.
مرحله ۲: کاهش اندازه فایلسیستم Boot به 16MB
LOOP=$(losetup --find --show --partscan /tmp/chr.img)
echo "$LOOP"
e2fsck -f "${LOOP}p1"
resize2fs -P "${LOOP}p1"
در آزمایش مقدار حداقل اندازه 1075 بلوک 4KB بود. فقط اگر این مقدار کمتر از 4096 بلوک 4KB است و جدول پارتیشن با نمونه فوق یکسان است، ادامه دهید:
resize2fs "${LOOP}p1" 16M
echo 'start=34, size=32768, type=83, bootable' | sfdisk -N 1 "$LOOP"
مرحله ۳: ایجاد پارتیشن EFI با FAT16
echo 'start=32802, size=32768, type=ef' | sfdisk --append "$LOOP"
losetup -d "$LOOP"
LOOP=$(losetup --find --show --partscan /tmp/chr.img)
mkfs.vfat -F 16 -s 1 -n CHR_EFI "${LOOP}p3"به این ترتیب EFI بهعنوان پارتیشن سوم در فضای آزادشده میان Boot و RouterOS ایجاد میشود و شروع پارتیشن اصلی RouterOS در سکتور 65570 بدون تغییر میماند. پیام Partition table entries are not in disk order در این چیدمان بهتنهایی خطا نیست.
مرحله ۴: کپی فایلهای بوت به EFI
mkdir -p /mnt/chrboot /mnt/chrefi
mount -o ro "${LOOP}p1" /mnt/chrboot
mount "${LOOP}p3" /mnt/chrefi
mkdir -p /mnt/chrefi/EFI/BOOT
cp /mnt/chrboot/EFI/BOOT/BOOTX64.EFI /mnt/chrefi/EFI/BOOT/
cp /mnt/chrboot/map /mnt/chrefi/
sync
umount /mnt/chrboot /mnt/chrefi
فایلهای BOOTX64.EFI و map لازم است در پارتیشن EFI قرار بگیرند. وجود این فایلها بهتنهایی تضمین نمیکند فریمور تمام ارائهدهندگان آن را بوت کند.
مرحله ۵: بررسی سلامت پارتیشنها
fdisk -l /tmp/chr.img
e2fsck -fn "${LOOP}p1"
e2fsck -fn "${LOOP}p2"
fsck.vfat -n "${LOOP}p3"
losetup -d "$LOOP"
ایمیج آماده باید سه پارتیشن بدون همپوشانی داشته باشد: p1 بوت 16MB، p3 EFI شانزدهمگابایتی FAT16، و p2 سیستمعامل RouterOS با حدود 94MB. اگر بررسیها خطا دارند، نصب را متوقف کنید.
مرحله ۶: نصب CHR روی دیسک سرور
هشدار حذف اطلاعات: دستور dd در ادامه تمام اطلاعات دیسک انتخابی را از بین میبرد. تنها در Rescue و با داشتن بکاپ اجرا کنید. این مثال فقط برای دیسک /dev/sda است؛ نام دیسک را از lsblk تأیید کنید.
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
dd if=/tmp/chr.img of=/dev/sda bs=4M status=progress conv=fsync
sync
پس از پایان موفق، Rescue را در پنل Hetzner غیرفعال کنید و سرور را بوت کنید. در این روش RouterOS مستقیماً جایگزین لینوکس میشود و به اجرای QEMU یا باقیماندن لینوکس نیاز ندارد.
رفع مشکلات رایج بوت MikroTik CHR
- UEFI Interactive Shell: فایل یا پارتیشن EFI قابل شناسایی نیست؛ وجود
EFI/BOOT/BOOTX64.EFIو نوع فایلسیستم را بررسی کنید. - ERROR: no system package found: ممکن است فایلهای موردنیاز RouterOS یا موقعیت پارتیشن اصلی تغییر کرده باشد. در آزمایش ما جابهجایی سکتور شروع پارتیشن دوم باعث این خطا شد.
- خرابی بعد از Reboot: اگر EFI را در انتهای دیسک بسازید، ممکن است با گسترش خودکار پارتیشن RouterOS همپوشانی پیدا کند.
- CHR روی ARM64: ایمیج RAW مخصوص ARM64 در سایت MikroTik عرضه میشود؛ این راهنمای سکتورها فقط برای ایمیج آزمایششده x86-64 است و نباید بدون بررسی روی ARM64 اجرا شود.
در نتیجه برای نصب میکروتیک روی لینوکس یا نصب CHR روی Hetzner، ابتدا معماری CPU، حالت بوت و نام دیسک را مشخص کنید. برای سرورهای UEFI، روش سنتی کپی RAW ممکن است کافی نباشد؛ روش بالا روی CPX02 آزمایش شده، ولی تضمین جهانی ندارد.
فعالسازی CHR با اکانت Mikrotik
از طریق ترمینال (سادهترین روش)
وارد ترمینال شوید (Winbox یا SSH) و این دستور رو بزن:
/system license renew account=EMAIL password=PASSWORD
به جای:
EMAIL➜ ایمیلی که باهاش تو mikrotik.com ثبتنام کردینPASSWORD➜ رمز اکانت
لولهای میکروتیک CHR:
- Free → محدودیت سرعت 1Mbps
- P1 → تا 1Gbps
- P10 → تا 10Gbps
- P-Unlimited → بدون محدودیت سرعت
بررسی وضعیت لایسنس
بعدش اینو بزنید:
/system license print
باید ببینید لایسنس از trial تبدیل شده به p1 یا p-unlimited یا هرچی که زدین.
با توجه به نیاز کاربران و علاقه ای که به میکروتیک رواج پیدا کرده ،شرکت وان سرور مفتخر است که سیستم عامل میکروتیک را به صورت یکی از سرویس های اصلی قابل ارائه برای کاربران در دسترس قرار دهد.
شما میتوانید از لوکیشن و سرویس دلخواه خودتون بر روی سیستم عامل میکروتیک استفاده کنید.
ویدیوی آموزشی نصب میکروتیک: برای دیدن ویدیوی قبلی مقاله میتوانید از لینک تماشای آموزش در آپارات استفاده کنید.
دیدگاه ها (2)
مهسا کرمیمی گوید:
14/07/2025 در 10:08سلام روز بخیر
این مراحل رو انجام میدم
بعد از ریبوت شدن
کلا دسترسی با پوتی ممکن نیست ، پینگ کاملا قطع میشه و وین باکس هم متصل نمیشه .
فقط با فیلتر شکن میتونم سرور رو پینگ کنم ولی به هیچ عنوان متصل نمیشم .
سرور ایرانی هست و ورژن ها با فیلم یکی هست
ممنو میشم راهنمایی کنید .
adminمی گوید:
09/08/2025 در 11:29سلام خدمتتون
اگر سرور لینوکس شما آی پی رو به شکل DHCP نگیره بعد از نصب میکروتیک هم چون ساختار DHCP داره آی پی نمیگیره و باید به شکل دستی از طریق VNC ست کنید.
اگر پس از نصب کلا میکروتیک بالا نمیاد باید ببینید کدام بخش مراحل رو به درستی انجام ندادید