تبدیل سرور لینوکس به میکروتیک یعنی جایگزینکردن سیستمعامل و دیسک بوت با MikroTik CHR؛ نه نصب یک برنامه کنار لینوکس. در این راهنما، از بررسی سازگاری و دانلود اسکریپت تا اولین ورود و بررسی IP را مرور میکنیم. اگر هنوز سرور انتخاب نکردهاید، ابتدا صفحهٔ سرور مجازی میکروتیک و پلنها و لوکیشنهای سرور لینوکس را ببینید.
قبل از هر دستور نصب: این روش دیسک سیستم را بازنویسی میکند و لینوکس و اطلاعات همان دیسک از دسترس خارج میشوند. از دادهها خارج از سرور بکاپ بگیرید. دسترسی کنسول و روش بازیابی را پیش از شروع بررسی کنید؛ SSH پس از نصب قطع میشود.
۱. کدام سرور لینوکس را میتوان به میکروتیک تبدیل کرد؟
CHR نسخهٔ مجازی RouterOS است. در انتخاب سرور، کشور بهتنهایی محدودکننده نیست؛ معماری پردازنده، روش بوت، مجازیسازی و درایورهای دیسک و شبکه اهمیت دارند. میتوانید از میان لوکیشنهای لینوکس پرشین کلود یک پلن سازگار انتخاب کنید، اما صرف داشتن لینوکس به معنی تضمین سازگاری همهٔ پلنها نیست.
- x86_64: اسکریپت ایمیج رسمی متناسب با این معماری را انتخاب میکند.
- ARM64: برای خروجی aarch64 یا arm64، ایمیج رسمی ARM64 انتخاب میشود. اسکریپت وجود UEFI را بررسی میکند؛ سازگاری کامل بوت و درایورها همچنان به میزبان بستگی دارد.
- ARM سیودوبیتی: پشتیبانی نمیشود و اسکریپت متوقف خواهد شد.
برای مقایسهٔ کاربرد و منابع، راهنمای انتخاب سرویس را بخوانید. پیش از خریدِ صرفاً برای CHR، سازگاری پلن را از پشتیبانی پرشین کلود بپرسید.
۲. پیشنیازها را بررسی و تنظیمات شبکه را ثبت کنید
دسترسی root یا sudo لازم است. سرور باید به دانلودهای رسمی MikroTik دسترسی داشته باشد. از پنل، کنسول سرور را باز کنید و مطمئن شوید در صورت قطع شبکه میتوانید صفحهٔ بوت و ورود را ببینید. IP، Prefix یا Netmask، Gateway و DNS اعلامشده برای سرویس را در جایی خارج از سرور نگه دارید.
این دستورها فقط اطلاعات فعلی لینوکس را نشان میدهند:
uname -m
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
ip -br address
ip route
df -h /dev/shm
نام رابط لینوکس الزاماً با رابط RouterOS یکسان نیست. در شبکههای /32، Gateway خارج از subnet یا شبکههای دارای تنظیمات خاص، اطلاعات پنل و راهنمای همان سرویس ملاک است؛ آدرسها را حدس نزنید.
اسکریپت باید ریشهٔ لینوکس را به دقیقاً یک دیسک نگاشت کند. اگر چند دیسک یا ساختار مبهم تشخیص دهد، ادامه نمیدهد. ایمیج در حافظهٔ موقت /dev/shm دریافت و استخراج میشود، پس فضای آزاد کافی در آن لازم است. در Ubuntu و Debian ابزارهای نصبنشده با apt-get نصب میشوند؛ در توزیعهای دیگر curl، unzip و گواهیهای CA را پیشاپیش با مدیر بستهٔ خودتان نصب کنید.
۳. اسکریپت را دانلود و به سرور منتقل کنید
دانلود اسکریپت تبدیل لینوکس به میکروتیک از پرشین کلود
فایل را با نام mikrotik.sh از طریق SFTP یا SCP در پوشهٔ دلخواه سرور قرار دهید. پوشهٔ خاصی لازم نیست؛ هنگام اجرا باید در همان پوشه باشید یا مسیر کامل فایل را وارد کنید. نام فایل در لینوکس به بزرگی و کوچکی حروف حساس است: Mikrotik.sh و mikrotik.sh دو نام متفاوتاند.
قبل از اجرا، فایل را بخوانید. برای مشاهدهٔ شناسهٔ صحت نسخهٔ فعلی به بخش SHA256 صفحهٔ میکروتیک مراجعه کنید و با خروجی زیر مقایسه کنید:
sha256sum mikrotik.sh
نسخهٔ معرفیشده در این مقاله بهصورت پیشفرض CHR 7.23.8 را نصب میکند. این انتخاب ثابت است؛ اسکریپت خودکار به جدیدترین نسخه تغییر نمیکند. فایل رسمیِ مخصوص هر معماری با SHA256 بررسی میشود. برای نسخههای دیگر، هش رسمی همان نسخه و معماری لازم است؛ تغییر شماره نسخه بهتنهایی کافی نیست.
۴. اسکریپت را اجرا و دیسک مقصد را تأیید کنید
با کاربر root، از پوشهٔ حاوی فایل اجرا کنید:
bash mikrotik.sh
اگر با کاربر عادی دارای مجوز sudo وارد شدهاید:
sudo bash mikrotik.sh
برای اجرای فایل با bash لازم نیست آن را با chmod اجرایی کنید. اسکریپت معماری و دیسک سیستم را بررسی میکند، ایمیج رسمی را دانلود میکند و پس از کنترل هش، سلامت ZIP و اندازهٔ ایمیج، نام دیسک مقصد و نسخه را نشان میدهد.
قبل از واردکردن YES، نام دیسک را دقیق بررسی کنید. با این تأیید، بازنویسی آغاز میشود. فقط در صورتی ادامه دهید که بکاپ خارج از سرور دارید و آمادهٔ حذف لینوکس هستید. دریافت فایل یا دیدن پیام دانلود به معنی اتمام نصب نیست.
پس از نوشتن موفق ایمیج، اسکریپت پنج ثانیه صبر میکند و ریستارت را خودکار انجام میدهد. اتصال SSH قطع میشود. روی ماشین سازگار، پس از بوت مجدد محیط CHR در کنسول ظاهر میشود. اگر خطایی هنگام نوشتن رخ دهد، اسکریپت ریستارت خودکار انجام نمیدهد؛ ممکن است دیسک نیمهنوشته باشد و بازیابی از کنسول یا Rescue لازم شود.
۵. پس از ریستارت، وضعیت IP را از کنسول بررسی کنید
دستورهای این بخش مخصوص ترمینال RouterOS هستند؛ آنها را در bash لینوکس وارد نکنید. اگر SSH یا WinBox به IP وصل نمیشود، از کنسول پنل وارد شوید. در ایمیج خام CHR، ورود اولیه معمولاً با کاربر admin بدون رمز است؛ اگر درخواست تعیین رمز نمایش داده شد، رمز قوی و اختصاصی تنظیم کنید.
حالت اول: شبکهٔ دیتاسنتر DHCP دارد
اگر DHCP Client روی رابط درست فعال باشد، تنظیمات از شبکه دریافت میشوند. برای بررسی:
/interface print
/ip dhcp-client print detail
/ip address print
/ip route print
وضعیت bound یعنی اجارهٔ DHCP دریافت شده است. اگر برای رابط موردنظر Client وجود ندارد، فقط پس از تأیید ارائهٔ DHCP، در WinBox به IP → DHCP Client بروید و برای همان رابط Client اضافه کنید. اگر مورد موجود غیرفعال است، همان را فعال کنید؛ Client تکراری نسازید. برای نمونه، فقط در صورتی که رابط صحیح ether1 است و Client ندارد:
/ip dhcp-client add interface=ether1 disabled=no
حالت دوم: IP ثابت است یا DHCP آدرس نمیدهد
در WinBox یا کنسول، IP و Prefix را برای رابط صحیح در IP → Addresses، مسیر پیشفرض و Gateway را در IP → Routes و DNS مجاز را در IP → DNS تنظیم کنید. اطلاعات باید دقیقاً متعلق به همان سرویس باشد. تنظیمات شبکهٔ لینوکس قبلی بهصورت خودکار به RouterOS منتقل نمیشوند.
برای شبکهٔ سادهای که Gateway داخل subnet است، نمونهٔ زیر صرفاً فرم دستورها را نشان میدهد. عبارتهای بزرگ را با اطلاعات واقعی سرویس جایگزین کنید؛ این نمونه را همانطور اجرا نکنید. برای /32، Gateway خارج از subnet یا مسیر اختصاصی، ابتدا راهنمای سرویس را بگیرید:
/ip address add address=YOUR_IP/PREFIX interface=YOUR_INTERFACE
/ip route add dst-address=0.0.0.0/0 gateway=YOUR_GATEWAY
/ip dns set servers=YOUR_DNS
پس از تنظیم، وضعیت آدرسها و مسیرها را دوباره بررسی کنید. اگر شبکه به IP دسترسی دارد ولی نام دامنهها باز نمیشود، DNS را بررسی کنید. بازنشدن WinBox همیشه به معنی خرابی IP نیست؛ دسترسی سرویس مدیریت و فایروال داخل روتر یا فایروال پنل هم ممکن است آن را محدود کرده باشد.
راهنمای قدمبهقدم تنظیم شبکه در WinBox
اگر سرور هنوز IP قابل دسترس ندارد، ابتدا از کنسول پنل استفاده کنید. اتصال WinBox از اینترنت به IP نیاز دارد؛ فهرست Neighbors یا اتصال MAC معمولاً از کامپیوتر شما به VPS راه دور در دسترس نیست. پس از برقرارشدن شبکه، در قسمت Connect To آدرس واقعی سرور را وارد کنید. نام و جای دکمهها ممکن است بین نسخههای WinBox کمی متفاوت باشد.
تنظیم DHCP در WinBox
- در Interfaces نام کارت شبکهٔ متصل به شبکهٔ سرویس را بررسی کنید؛ نام ether1 در این راهنما فقط مثال است.
- به IP → DHCP Client بروید. اگر برای همین رابط یک Client وجود دارد، همان را باز کنید و در صورت غیرفعالبودن، Enable کنید.
- فقط اگر Client وجود ندارد و سرویس DHCP ارائه میکند، با دکمهٔ افزودن، رابط صحیح را در Interface انتخاب کنید. برای دریافت مسیر پیشفرض و DNS از شبکه، گزینههای Add Default Route و Use Peer DNS را مطابق تنظیمات سرویس فعال کنید.
- تنظیم را با Apply/OK ذخیره کنید. وضعیت bound را بررسی کنید؛ سپس آدرس دریافتی را در IP → Addresses و مسیر اینترنت را در IP → Routes ببینید.
اگر وضعیت روی searching باقی ماند، ساختن Clientهای بیشتر کمکی نمیکند؛ رابط انتخابشده و ارائهٔ DHCP برای همان سرویس را بررسی کنید. داشتن IP ثابت اختصاصی لزوماً به معنی تنظیم دستی نیست؛ برخی شبکهها همان IP اختصاصی را با DHCP تحویل میدهند.
مثال روشن برای IP ثابت؛ فقط آموزشی
فرض کنید در یک مثال مستنداتی و غیرقابل استفاده روی اینترنت، آدرس 192.0.2.10/24 و Gateway برابر 192.0.2.1 باشد. این اعداد متعلق به سرور شما نیستند؛ آنها را وارد نکنید و دادههای واقعی پنل را جایگزین کنید. این مثال فقط برای Gateway داخل همان subnet است.
- IP → Addresses → افزودن: در Address، مقدار IP همراه Prefix را وارد کنید؛ مثلاً در همین مثال 192.0.2.10/24. در Interface کارت شبکهٔ صحیح را انتخاب و ذخیره کنید. /24 معادل ماسک 255.255.255.0 است، اما Prefix واقعی سرویس شما ممکن است متفاوت باشد.
- IP → Routes → افزودن: در Dst. Address مقدار
0.0.0.0/0 و در Gateway آدرس اعلامشده برای سرویس را بگذارید؛ در مثال ما 192.0.2.1. مسیر موجود را قبل از افزودن بررسی کنید تا مسیر پیشفرض تکراری نسازید.
- IP → DNS: آدرس DNSهای مجاز سرویس را در Servers وارد کنید. برای استفادهٔ خود روتر از DNS، نیازی به روشنکردن Allow Remote Requests نیست؛ این گزینه را صرفاً برای رفع مشکل اینترنت فعال نکنید.
- دوباره Addresses و Routes را بررسی کنید. مسیر پیشفرض باید فعال و Gateway قابل دسترس باشد. در سرویسهای /32 یا Gateway خارج از subnet، این دستورالعمل ساده کافی نیست؛ تنظیم مخصوص همان سرویس را از پشتیبانی بگیرید.
DHCP و IP ثابت را کورکورانه همزمان اضافه نکنید. اگر در حال تغییر روش دریافت آدرس هستید، کنسول را باز نگه دارید و آدرس و مسیر موجود را بررسی کنید؛ حذف یا غیرفعالکردن مسیر فعلی میتواند اتصال شما را قطع کند.
IP نگرفت یا وصل نشد؟ از این ترتیب بررسی کنید
- در کنسول هم RouterOS بالا نمیآید: ابتدا مشکل بوت را بررسی کنید؛ تنظیم DNS این وضعیت را حل نمیکند.
- IP ثبت نشده: وضعیت DHCP Client و رابط را بررسی کنید یا اطلاعات IP ثابت سرویس را وارد کنید.
- IP وجود دارد ولی ارتباط بیرونی برقرار نیست: Prefix، Gateway و فعالبودن مسیر 0.0.0.0/0 را بررسی کنید. در Tools → Ping میتوانید Gateway واقعی و سپس یک IP بیرونیِ مجاز و پاسخگو را آزمایش کنید. پاسخندادن Ping بهتنهایی قطع شبکه را ثابت نمیکند؛ ICMP ممکن است مسدود باشد.
- ارتباط با IP برقرار است ولی نام دامنه resolve نمیشود: تنظیم و دسترسی DNS را بررسی کنید.
- شبکه برقرار است ولی WinBox باز نمیشود: در IP → Services وضعیت سرویس winbox، پورت و محدودیت آدرسهای مجاز را بررسی کنید. فایروال RouterOS و فایروال پنل هر دو میتوانند مانع باشند؛ برای عیبیابی کل فایروال را خاموش نکنید.
اگر مشکل باقی ماند، از پشتیبانی پرشین کلود کمک بگیرید و متن خطا، خروجی وضعیت رابط و مسیرها و تصویر کنسول را بدون رمز عبور بفرستید. برای انتخاب پلن سازگار نیز سرورهای لینوکس و راهنمای سرور میکروتیک در دسترساند.
۶. خطاهای رایج و قدم بعدی
- Run this script as root
- کاربر فعلی مجوز لازم را ندارد؛ با root یا sudo اجرا کنید.
- Unsupported architecture
- خروجی uname -m را بررسی کنید. ARM سیودوبیتی با این اسکریپت قابل نصب نیست.
- ARM64 requires UEFI
- محیط بوت سازگار شناسایی نشده است. کنترل را حذف نکنید؛ روش بوت VPS را با پشتیبانی بررسی کنید.
- Official SHA256 mismatch
- فایل با نسخهٔ بررسیشده یکسان نیست. نصب را متوقف نگه دارید و نسخهٔ اسکریپت و منبع دانلود را بررسی کنید؛ کنترل هش را غیرفعال نکنید.
- Root filesystem does not map to exactly one disk
- دیسک سیستم یکتا تشخیص داده نشده است. مقصد را حدسی تعیین نکنید.
- Not enough free space in /dev/shm
- حافظهٔ موقت کافی نیست. مصرف حافظه و ظرفیت سرویس را بررسی کنید؛ فایلهای ناشناس را برای آزادکردن فضا حذف نکنید.
- سرور بعد از ریستارت بالا نمیآید
- صفحهٔ کنسول را بررسی کنید. خطای بوت یا درایور بهتنهایی با تنظیم IP رفع نمیشود؛ ممکن است بازیابی سیستمعامل لازم باشد.
برای پیگیری، متن خطا، معماری، نسخهٔ اسکریپت و تصویری از کنسول بدون رمز یا اطلاعات محرمانه را از مسیر پشتیبانی ارسال کنید.
۷. لایسنس، امنیت و بکاپ را فراموش نکنید
نصب CHR با این اسکریپت به معنی دریافت لایسنس پولی نیست. سطح Free محدودیت ارسال ۱ مگابیتبرثانیه برای هر رابط دارد. ظرفیت لایسنس و ظرفیت واقعی شبکه دو موضوع جدا هستند؛ پیش از انتخاب سطح مجوز، نیاز شبکه را مشخص کنید.
دسترسی مدیریتی را به IPهای موردنیاز محدود کنید، سرویسهای مدیریت غیرضروری را ببندید و رمز قوی داشته باشید. پیش از تغییر فایروال یا مسیرها، کنسول را باز نگه دارید تا خودتان را از سرور قفل نکنید. از تنظیمات روتر بکاپ مستقل بگیرید و آن را خارج از VPS نگه دارید. تبدیل سیستمعامل، تاریخ تمدید یا شرایط صورتحساب سرور را تغییر نمیدهد.
پرسشهای متداول
آیا لینوکس و فایلها بعد از تبدیل باقی میمانند؟
خیر؛ دیسک سیستم بازنویسی میشود. این روش نصب کنار سیستمعامل قبلی نیست.
آیا همهٔ لوکیشنها قابل استفادهاند؟
نام کشور محدودیت اصلی نیست؛ برای هر لوکیشن باید پلن سازگار با CHR انتخاب شود. فهرست انتخاب را در صفحهٔ سرور لینوکس ببینید.
آیا نصب روی همهٔ مدلهای VPS آزمایش شده است؟
خیر. انتخاب معماری، کنترل هش و فایل دانلود بررسی شدهاند، اما نصب و بوت واقعی روی همهٔ پلنها آزمایش نشده است. این راهنما تضمین سازگاری تمام میزبانها نیست.
منابع و محدودهٔ این راهنما
مبنای مراحل اجرا، نسخهٔ اسکریپت پرشین کلود با CHR 7.23.8 است. این آموزش در ۳۰ اکتبر ۲۰۲۶ تنظیم شده است. برای جزئیات نسخهها و قابلیتها، دانلود رسمی CHR، راهنمای نصب CHR و مستند DHCP Client را بررسی کنید. روش بازنویسی دیسک در این مقاله، اسکریپت معرفیشدهٔ پرشین کلود است و نباید آن را دستورالعمل نصب رسمی همهٔ ارائهدهندگان تلقی کرد.