بلاگ/نصب و راه‌اندازی میکروتیک (MikroTik CHR) روی سرور هتزنر
به‌روز شده

نصب و راه‌اندازی میکروتیک (MikroTik CHR) روی سرور هتزنر

1405/05/310 بازدید
نصب و راه‌اندازی میکروتیک (MikroTik CHR) روی سرور هتزنر

نصب و راه‌اندازی میکروتیک (MikroTik CHR) روی سرور هتزنر

نمایی از اجرای MikroTik CHR روی زیرساخت سرور اختصاصی میکروتیک CHR یا Cloud Hosted Router نسخه‌ای از RouterOS است که برای اجرا در ماشین‌های مجازی و زیرساخت‌های ابری طراحی شده است. با نصب آن روی یک سرور هتزنر می‌توان سرور را به روتر، فایروال، VPN Gateway یا مرکز مدیریت ترافیک تبدیل کرد. در این راهنما، مراحل نصب میکروتیک روی هتزنر را از ورود به Rescue System تا نوشتن ایمیج CHR روی دیسک و انجام تنظیمات اولیه شبکه بررسی می‌کنیم. تمرکز آموزش بر سرور اختصاصی است؛ زیرا در این نوع سرویس کنترل کامل دیسک و فرایند بوت در اختیار شما قرار دارد.

هشدار: در این فرایند، محتوای دیسک مقصد به‌طور کامل بازنویسی می‌شود. اگر اطلاعات مهمی روی سرور دارید، پیش از شروع نسخه پشتیبان تهیه کنید و نام دیسک را با دقت بررسی کنید.

MikroTik CHR چیست و چه کاربردی دارد؟

CHR نسخه مجازی RouterOS است و تقریباً همان امکانات اصلی روترهای سخت‌افزاری میکروتیک را ارائه می‌دهد. تفاوت اصلی آن این است که به‌جای سخت‌افزار RouterBOARD، روی محیط‌هایی مانند KVM، VMware، Hyper-V و زیرساخت‌های ابری اجرا می‌شود. برخی کاربردهای متداول CHR عبارت‌اند از: - راه‌اندازی سرور VPN با WireGuard، IPsec، L2TP یا SSTP - مدیریت پهنای باند و صف‌بندی ترافیک - پیاده‌سازی فایروال و NAT - مسیریابی با BGP، OSPF و پروتکل‌های دیگر - اتصال امن چند دفتر یا دیتاسنتر - ایجاد روتر مرزی برای شبکه‌های مجازی - مانیتورینگ و تحلیل ترافیک شبکه نسخه رایگان CHR برای آزمایش مناسب است، اما محدودیت سرعت هر رابط دارد. برای استفاده عملیاتی و بهره‌برداری از پهنای باند بالاتر باید مجوز مناسب MikroTik تهیه و روی نمونه CHR فعال شود.

پیش‌نیازهای نصب میکروتیک روی هتزنر

پیش از شروع، موارد زیر را آماده کنید: - یک سرور اختصاصی Hetzner با دسترسی به پنل Robot - آدرس IPv4 اصلی، Netmask و Gateway سرور - دسترسی به Rescue System از طریق SSH - یک رایانه با نرم‌افزار WinBox یا یک مرورگر برای WebFig - نسخه پشتیبان از اطلاعات موجود روی دیسک - مجوز CHR متناسب با سرعت مورد نیاز، در صورت استفاده عملیاتی اطلاعات شبکه سرور را از پنل هتزنر یادداشت کنید. پس از نصب RouterOS ممکن است لازم باشد آدرس IP و مسیر پیش‌فرض را به‌صورت دستی وارد کنید؛ بنابراین نباید فقط به دریافت خودکار تنظیمات از DHCP متکی باشید.

انتخاب دیسک مناسب

سرورهای هتزنر ممکن است دیسک‌هایی با نام /dev/sda، /dev/nvme0n1 یا نام‌های مشابه داشته باشند. دستورهای این مقاله از /dev/nvme0n1 به‌عنوان نمونه استفاده می‌کنند، اما شما باید آن را با نام واقعی دیسک سرور خود جایگزین کنید. برای مشاهده دیسک‌ها در Rescue System از دستور زیر استفاده کنید:

lsblk -o NAME,SIZE,TYPE,MODEL

اگر سرور چند دیسک دارد، انتخاب اشتباه می‌تواند اطلاعات دیسک دیگری را از بین ببرد. ظرفیت و مدل دیسک را با اطلاعات پنل Robot تطبیق دهید.

مقایسه روش‌های اجرای میکروتیک در هتزنر

بسته به نوع سرویس و معماری مورد نیاز، چند روش برای اجرای CHR وجود دارد:

روشسطح کنترلپیچیدگیکاربرد مناسب
نصب مستقیم CHR روی دیسکزیادمتوسطتبدیل کامل سرور به روتر میکروتیک
اجرای CHR داخل KVM یا Proxmoxبسیار زیادزیاداجرای هم‌زمان روتر و چند ماشین مجازی
استفاده از RouterOS روی یک VPS سازگارمتوسطکمآزمایش، VPN یا شبکه‌های سبک
استفاده از روتر سخت‌افزاری MikroTikوابسته به سخت‌افزارمتوسطشبکه محلی و رک اختصاصی

نصب مستقیم، تمام منابع سرور را در اختیار RouterOS قرار می‌دهد و معماری ساده‌ای دارد. در مقابل، نصب Proxmox یا یک توزیع لینوکس و اجرای CHR به‌صورت ماشین مجازی انعطاف بیشتری ایجاد می‌کند، اما تنظیم Bridge، VLAN و دسترسی اضطراری را پیچیده‌تر می‌سازد.

مرحله اول: فعال‌سازی Rescue System هتزنر

ابتدا وارد پنل Hetzner Robot شوید و سرور مورد نظر را انتخاب کنید. در بخش Rescue، سیستم نجات لینوکس ۶۴ بیتی را فعال کرده و یک رمز عبور موقت دریافت کنید. سپس از بخش Reset، سرور را ری‌استارت کنید. پس از بوت شدن Rescue System، با دستور زیر به سرور متصل شوید:

ssh root@SERVER_IP

به‌جای SERVER_IP آدرس IPv4 اصلی سرور را قرار دهید. در اولین اتصال، اثر انگشت میزبان را بررسی و سپس رمز موقت نمایش‌داده‌شده در پنل را وارد کنید. برای اطمینان از دسترسی اینترنت، اتصال را آزمایش کنید:

ping -c 4 download.mikrotik.com

در همین مرحله یک بار دیگر با lsblk نام دیسک مقصد را کنترل کنید.

مرحله دوم: دانلود ایمیج MikroTik CHR

به صفحه دانلود رسمی MikroTik مراجعه کرده و شماره نسخه Stable مورد نظر را پیدا کنید. بهتر است برای محیط عملیاتی از شاخه Stable استفاده کنید، مگر اینکه قابلیت مشخصی فقط در نسخه دیگری در دسترس باشد. شماره نسخه را در یک متغیر قرار دهید. مقدار نمونه زیر را با نسخه Stable انتخابی خود جایگزین کنید:

ROS_VERSION="X.Y.Z"

اکنون ایمیج Raw مربوط به CHR را دانلود کنید:

wget "https://download.mikrotik.com/routeros/${ROS_VERSION}/chr-${ROS_VERSION}.img.zip"

فایل را از حالت فشرده خارج کنید:

unzip "chr-${ROS_VERSION}.img.zip"

پس از استخراج، فایل ایمیج را بررسی کنید:

ls -lh "chr-${ROS_VERSION}.img"

اگر unzip در Rescue System نصب نبود، می‌توانید بسته لازم را نصب کنید:

apt-get update
apt-get install -y unzip

محیط ترمینال Rescue System هتزنر که برای نصب ایمیج روی سرور استفاده می‌شود

مرحله سوم: نوشتن ایمیج CHR روی دیسک

این مرحله تمام جدول پارتیشن و داده‌های دیسک مقصد را بازنویسی می‌کند. ابتدا نام دیسک را در متغیری مشخص کنید:

TARGET_DISK="/dev/nvme0n1"

برای کاهش احتمال خطا، مقدار متغیر و مشخصات دیسک را دوباره نمایش دهید:

printf '%s\n' "$TARGET_DISK"
lsblk "$TARGET_DISK"

در صورت اطمینان کامل، ایمیج را با dd روی خود دیسک بنویسید، نه روی یکی از پارتیشن‌های آن:

dd if="chr-${ROS_VERSION}.img" of="$TARGET_DISK" bs=4M status=progress conv=fsync

پس از پایان عملیات، داده‌های بافرشده را روی دیسک ثبت کنید:

sync

اگر دیسک شما SATA است، ممکن است مقصد صحیح /dev/sda باشد. استفاده از مسیری مانند /dev/sda1 اشتباه است؛ زیرا ایمیج باید روی کل دیسک نوشته شود. در پایان، Rescue System را از پنل غیرفعال کنید و سرور را ری‌استارت کنید:

reboot

اتصال SSH قطع خواهد شد و سرور باید این بار از دیسکی که CHR روی آن نوشته شده است بوت شود.

مرحله چهارم: ورود اولیه به RouterOS

بعد از بوت، ممکن است RouterOS هنوز با IP اصلی سرور در دسترس نباشد. امن‌ترین روش برای تنظیم اولیه، استفاده از کنسول راه دور هتزنر یا KVM است. اگر سرور شما به کنسول متصل نیست، از پنل هتزنر درباره امکانات دسترسی اضطراری همان مدل سرور استفاده کنید. نام کاربری پیش‌فرض RouterOS معمولاً admin است. در نسخه‌های جدید، سیستم ممکن است در اولین ورود از شما بخواهد رمز عبور تعیین کنید. بلافاصله یک رمز قوی انتخاب کنید:

/user set admin password="A-VERY-STRONG-PASSWORD"

برای امنیت بیشتر، یک کاربر مدیریتی جدید بسازید و پس از اطمینان از امکان ورود، حساب پیش‌فرض را غیرفعال کنید:

/user add name=netadmin group=full password="ANOTHER-STRONG-PASSWORD"
/user disable admin

قبل از غیرفعال‌کردن admin، حتماً یک نشست جدید با کاربر تازه آزمایش کنید تا دسترسی خود را از دست ندهید.

مرحله پنجم: پیکربندی IP و Gateway هتزنر

نام رابط شبکه را بررسی کنید:

/interface ethernet print

در اغلب نصب‌ها رابط اصلی ether1 است. آدرس IP اصلی هتزنر را به‌صورت /32 روی آن قرار دهید:

/ip address add address=YOUR_SERVER_IP/32 interface=ether1

در شبکه‌هایی که Gateway خارج از Subnet آدرس اصلی قرار دارد، ابتدا یک مسیر مستقیم برای Gateway بسازید و سپس مسیر پیش‌فرض را اضافه کنید:

/ip route add dst-address=YOUR_GATEWAY/32 gateway=ether1 scope=10
/ip route add dst-address=0.0.0.0/0 gateway=YOUR_GATEWAY

مقادیر YOUR_SERVER_IP و YOUR_GATEWAY را دقیقاً از پنل هتزنر بردارید. ساختار شبکه ممکن است میان محصولات یا تخصیص‌های مختلف هتزنر تفاوت داشته باشد؛ بنابراین تنظیمات واقعی پنل بر هر نمونه عمومی اولویت دارد. DNS را نیز پیکربندی کنید:

/ip dns set servers=1.1.1.1,9.9.9.9 allow-remote-requests=no

حالا ارتباط را آزمایش کنید:

/ping 1.1.1.1 count=4
/ping download.mikrotik.com count=4

اگر پینگ IP موفق است اما نام دامنه پاسخ نمی‌دهد، مشکل معمولاً به تنظیم DNS مربوط می‌شود. اگر هیچ‌کدام پاسخ نمی‌دهند، IP، Gateway، نام رابط و وضعیت لینک را بررسی کنید.

مرحله ششم: ایمن‌سازی دسترسی مدیریتی

قرار دادن RouterOS بدون فایروال روی اینترنت خطرناک است. سرویس‌های غیرضروری را غیرفعال کنید:

/ip service disable telnet
/ip service disable ftp
/ip service disable www
/ip service disable api
/ip service disable api-ssl

اگر فقط از SSH و WinBox استفاده می‌کنید، دسترسی آن‌ها را به IP مدیریتی خود محدود کنید:

/ip service set ssh address=YOUR_ADMIN_IP/32
/ip service set winbox address=YOUR_ADMIN_IP/32

همچنین سرویس‌های کشف همسایه و MAC Server را روی رابط اینترنت غیرفعال کنید:

/ip neighbor discovery-settings set discover-interface-list=none
/tool mac-server set allowed-interface-list=none
/tool mac-server mac-winbox set allowed-interface-list=none

سپس چند قانون پایه برای زنجیره input ایجاد کنید:

/ip firewall filter add chain=input connection-state=established,related action=accept
/ip firewall filter add chain=input connection-state=invalid action=drop
/ip firewall filter add chain=input protocol=icmp action=accept
/ip firewall filter add chain=input src-address=YOUR_ADMIN_IP/32 action=accept
/ip firewall filter add chain=input in-interface=ether1 action=drop

ترتیب قوانین اهمیت دارد. پیش از افزودن قانون نهایی Drop، مطمئن شوید IP مدیریتی صحیح است و نشست فعلی شما از همان آدرس برقرار شده است. در غیر این صورت ممکن است دسترسی راه دور قطع شود. نمای رابط گرافیکی WinBox که برای پیکربندی شبکه و فایروال RouterOS استفاده می‌شود

تنظیم زمان، نام سیستم و به‌روزرسانی

برای تشخیص بهتر دستگاه در شبکه، یک نام مشخص تعیین کنید:

/system identity set name=hetzner-chr

منطقه زمانی را نیز تنظیم کنید:

/system clock set time-zone-name=Asia/Tehran

بسته‌های نصب‌شده و نسخه RouterOS را بررسی کنید:

/system package print
/system resource print

برای بررسی نسخه‌های جدید می‌توانید از دستور زیر استفاده کنید:

/system package update check-for-updates

به‌روزرسانی RouterOS در یک روتر راه دور باید با برنامه انجام شود. پیش از ارتقا، از تنظیمات خروجی بگیرید و امکان دسترسی کنسولی را بررسی کنید:

/export file=before-upgrade
/system backup save name=before-upgrade

فایل Export برای مشاهده و بازیابی منطقی تنظیمات مفید است؛ فایل Backup نیز نسخه دودویی از وضعیت سیستم ایجاد می‌کند. بهتر است هر دو فایل را از روتر دانلود و در محل امن نگهداری کنید.

فعال‌سازی لایسنس CHR

CHR پس از نصب قابل اجرا است، اما مجوز رایگان محدودیت سرعت دارد. برای مشاهده شناسه سیستم و وضعیت مجوز از دستورهای زیر استفاده کنید:

/system license print
/system resource print

انتخاب سطح مجوز باید براساس پهنای باند، تعداد تونل‌ها، نوع ترافیک و نقش روتر انجام شود. اگر هدف شما فقط یادگیری RouterOS است، مجوز رایگان کافی خواهد بود؛ اما برای روتر مرزی، VPN پرترافیک یا سرویس تجاری باید محدودیت مجوز را پیش از بهره‌برداری بررسی کنید. همچنین به ظرفیت CPU توجه داشته باشید. رمزنگاری VPN، فایروال پیچیده، Connection Tracking و صف‌بندی می‌توانند مصرف پردازنده را افزایش دهند، حتی اگر ظرفیت لینک شبکه بالا باشد.

خطاهای رایج هنگام نصب

سرور پس از نصب بوت نمی‌شود

ابتدا مطمئن شوید ایمیج روی کل دیسک نوشته شده است. نوشتن فایل روی یک پارتیشن مانند /dev/nvme0n1p1 باعث ایجاد ساختار بوت صحیح نمی‌شود. ترتیب بوت سرور را نیز از پنل بررسی کنید.

RouterOS بوت می‌شود اما شبکه ندارد

آدرس IP، Gateway و نام رابط را کنترل کنید. در بسیاری از سناریوهای هتزنر، Gateway در محدوده مستقیم IP اصلی دیده نمی‌شود و به مسیر Host با مقصد /32 نیاز دارد.

اتصال WinBox یا SSH قطع می‌شود

ممکن است فایروال پیش از تعریف قانون Allow فعال شده باشد یا سرویس مدیریتی به IP اشتباه محدود شده باشد. در این وضعیت باید از کنسول راه دور وارد شوید و ترتیب قوانین را اصلاح کنید.

سرعت شبکه بسیار پایین است

وضعیت لایسنس CHR را بررسی کنید. محدودیت نسخه رایگان یکی از دلایل رایج سرعت پایین است. مصرف CPU، Duplex رابط، FastTrack و قوانین Queue نیز باید بررسی شوند.

IP اضافی کار نمی‌کند

آدرس‌های Failover، Subnetهای اضافه و vSwitch هتزنر ممکن است به Route یا MAC مجازی نیاز داشته باشند. این تنظیمات را نباید صرفاً با کپی‌کردن پیکربندی IP اصلی انجام داد. نوع IP خریداری‌شده و دستورالعمل شبکه مربوط به همان محصول را بررسی کنید.

چه زمانی سرور اختصاصی انتخاب بهتری است؟

اگر میکروتیک قرار است ترافیک زیادی را مسیریابی کند، چندین تونل VPN داشته باشد یا به‌عنوان روتر مرکزی شبکه استفاده شود، منابع اختصاصی و دسترسی کامل به دیسک مزیت مهمی محسوب می‌شوند. بااین‌حال، محل دیتاسنتر، کیفیت مسیر شبکه، امکان دسترسی اضطراری و مدل تخصیص IP نیز به‌اندازه توان پردازشی اهمیت دارند. اگر برای اجرای RouterOS به زیرساختی با منابع پایدار و کنترل کامل نیاز دارید، می‌توانید مشخصات سرور اختصاصی آریانت را بررسی و پلنی متناسب با پهنای باند و حجم ترافیک خود انتخاب کنید.

جمع‌بندی

نصب میکروتیک روی هتزنر با فعال‌سازی Rescue System، دانلود ایمیج Raw مربوط به MikroTik CHR و نوشتن آن روی دیسک انجام می‌شود. بخش حساس کار، انتخاب صحیح دیسک و تنظیم IP و Gateway پس از اولین بوت است. پس از برقراری شبکه، تغییر رمز عبور، محدودکردن سرویس‌های مدیریتی، ساخت فایروال پایه، تهیه نسخه پشتیبان و بررسی لایسنس را در اولویت قرار دهید. یک CHR بدون تنظیمات امنیتی نباید مستقیماً در اینترنت باقی بماند. در نهایت، پیش از انتقال ترافیک واقعی، دسترسی کنسولی، مسیر پیش‌فرض، DNS، قوانین فایروال، سرعت مجوز و امکان بازیابی تنظیمات را آزمایش کنید. این بررسی کوتاه احتمال قطع دسترسی به روتر و ایجاد اختلال در سرویس‌های متصل را به‌طور محسوسی کاهش می‌دهد.