آموزش اتصال آی پی ثابت روی روتر میکروتیک با WireGuard

آموزش   7 دقیقه مطالعه

راه‌اندازی میکروتیک WireGuard یکی از حرفه‌ای‌ترین روش‌ها برای اتصال کل یک شبکه‌ی سازمانی یا خانگی به یک آی پی ثابت است. برخلاف نصب کلاینت روی تک‌تک دستگاه‌ها، وقتی تونل WireGuard را مستقیماً روی روتر میکروتیک پیکربندی کنید، تمام ترافیک عبوری از روتر به‌صورت یکپارچه از طریق آی پی ثابت اختصاصی شما مسیریابی می‌شود. در این آموزش گام‌به‌گام، از ساخت اینترفیس و کلید رمزنگاری گرفته تا تعریف Peer، آدرس‌دهی، مسیریابی و قوانین فایروال در RouterOS را به‌صورت دقیق و فنی بررسی می‌کنیم تا یک اتصال پایدار و امن داشته باشید.

چرا WireGuard روی میکروتیک؟

پروتکل WireGuard به‌دلیل سادگی کد، سرعت بالا و سربار پایین، به استاندارد جدید تونل‌سازی تبدیل شده است. وقتی این پروتکل را روی روتر میکروتیک اجرا می‌کنید، مزایای زیر را به دست می‌آورید:

  • اتصال کل شبکه: همه‌ی دستگاه‌های پشت روتر بدون نیاز به تنظیمات جداگانه از آی پی ثابت استفاده می‌کنند.
  • کارایی بالا: WireGuard در هسته‌ی RouterOS پیاده‌سازی شده و پردازش رمزنگاری با تأخیر بسیار کم انجام می‌شود.
  • پایداری اتصال: برخلاف برخی پروتکل‌های قدیمی، WireGuard در برابر قطعی و تغییر آی‌پی عمومی مقاوم‌تر است.
  • امنیت مدرن: استفاده از رمزنگاری ChaCha20 و کلیدهای عمومی/خصوصی، امنیتی قابل اعتماد فراهم می‌کند.

توجه داشته باشید که WireGuard از نسخه‌ی RouterOS 7 به بعد به‌صورت بومی پشتیبانی می‌شود؛ بنابراین پیش از شروع، از به‌روز بودن سیستم‌عامل روتر خود مطمئن شوید.

پیش‌نیازها و دریافت کانفیگ

پیش از پیکربندی، موارد زیر را آماده کنید:

  • روتر میکروتیک با RouterOS نسخه‌ی ۷ یا بالاتر (نسخه را با دستور /system resource print بررسی کنید).
  • دسترسی به ابزار WinBox یا ترمینال (SSH) روتر.
  • اطلاعات سرور آی پی ثابت شامل آدرس عمومی سرور، پورت WireGuard، کلید عمومی سرور (Server Public Key) و آدرس داخلی تخصیص‌یافته به شما.

این اطلاعات معمولاً در قالب یک فایل کانفیگ WireGuard ارائه می‌شود. برای تهیه‌ی اشتراک و دریافت این مشخصات می‌توانید پلن‌های آی پی ثابت را بررسی کنید. در صورت نیاز به آموزش پروتکل‌های دیگر نیز صفحه‌ی آموزش اتصال راهنمای کاملی در اختیار شما قرار می‌دهد.

ساخت اینترفیس و تولید کلید

نخستین گام، ساختن یک اینترفیس WireGuard روی روتر است. این کار به‌صورت خودکار یک جفت کلید خصوصی و عمومی تولید می‌کند. در ترمینال میکروتیک دستور زیر را وارد کنید:

/interface/wireguard/add name=wg-static listen-port=51820

پس از اجرا، با دستور /interface/wireguard/print می‌توانید کلید عمومی (public-key) تولیدشده روی روتر را مشاهده کنید. این کلید را یادداشت کنید؛ زیرا برای ثبت روتر شما در سمت سرور لازم است. نکات مهم در این مرحله:

  • نام اینترفیس (در اینجا wg-static) باید یکتا و قابل تشخیص باشد.
  • مقدار listen-port پورتی است که روتر روی آن گوش می‌دهد؛ در حالت کلاینت معمولاً ضروری نیست اما تعریف آن مشکلی ایجاد نمی‌کند.
  • کلید خصوصی هرگز نباید به اشتراک گذاشته شود و فقط روی همان روتر باقی می‌ماند.

آدرس‌دهی اینترفیس

اکنون باید آدرس داخلی تخصیص‌یافته به شما (که از سمت سرور دریافت کرده‌اید) را به اینترفیس WireGuard اختصاص دهید. فرض کنید آدرس داخلی شما 10.10.0.2/32 باشد:

/ip/address/add address=10.10.0.2/32 interface=wg-static

این آدرس، هویت روتر شما را درون شبکه‌ی خصوصی تونل مشخص می‌کند. چند نکته‌ی کلیدی:

  • ماسک شبکه را دقیقاً مطابق آنچه سرویس‌دهنده اعلام کرده وارد کنید؛ معمولاً /32 برای یک کلاینت تکی.
  • اگر آدرس را اشتباه وارد کنید، تونل برقرار می‌شود اما ترافیک عبور نخواهد کرد.
  • پس از این مرحله، اینترفیس آماده‌ی اتصال به Peer سرور است.

پیکربندی Peer سرور

قلب اتصال، تعریف Peer یعنی سرور مقصد است. در این بخش مشخص می‌کنیم روتر به کدام سرور و با چه کلیدی متصل شود. دستور نمونه:

/interface/wireguard/peers/add interface=wg-static public-key='کلید-عمومی-سرور' endpoint-address=SERVER_IP endpoint-port=51820 allowed-address=0.0.0.0/0 persistent-keepalive=25s

هر پارامتر نقش مشخصی دارد:

  • public-key: کلید عمومی سرور که سرویس‌دهنده در اختیار شما گذاشته است.
  • endpoint-address و endpoint-port: آدرس عمومی و پورت سرور آی پی ثابت.
  • allowed-address: با مقدار 0.0.0.0/0 اعلام می‌کنید که تمام ترافیک از طریق این تونل عبور کند. اگر فقط بخشی از ترافیک را می‌خواهید، شبکه‌ی مشخصی را وارد کنید.
  • persistent-keepalive: ارسال بسته‌های زنده‌نگه‌دارنده هر ۲۵ ثانیه، که برای حفظ اتصال پشت NAT حیاتی است.

پس از این مرحله، تونل از نظر منطقی برقرار است؛ اما برای عبور صحیح ترافیک باید مسیریابی و فایروال را تنظیم کنیم.

مسیریابی و قوانین فایروال

برای آنکه ترافیک شبکه‌ی محلی از طریق آی پی ثابت خارج شود، باید مسیر پیش‌فرض و قانون NAT را تعریف کنید. ابتدا یک مسیر برای هدایت ترافیک به تونل اضافه کنید (در صورت نیاز به مسیریابی کامل):

/ip/route/add dst-address=0.0.0.0/0 gateway=wg-static

سپس قانون Masquerade را اضافه کنید تا آدرس‌های شبکه‌ی محلی پشت آدرس تونل پنهان شوند:

/ip/firewall/nat/add chain=srcnat out-interface=wg-static action=masquerade

توصیه‌های امنیتی و عملکردی:

  • برای جلوگیری از قطع شدن مسیریابی، می‌توانید از جدول مسیریابی جداگانه (routing table) و Mangle استفاده کنید تا فقط کلاینت‌های خاص از تونل عبور کنند.
  • یک قانون فایروال برای اطمینان از باز بودن ارتباط به endpoint سرور تعریف کنید تا تونل پایدار بماند.
  • در صورت بروز مشکل DNS، آدرس DNS سرویس‌دهنده را در /ip/dns تنظیم کنید.

در نهایت با دستور /interface/wireguard/peers/print مقدار last-handshake را بررسی کنید؛ اگر زمان اخیری نمایش داده شد، تونل با موفقیت برقرار شده است.

تأیید اتصال و رفع اشکال

پس از تکمیل پیکربندی، صحت اتصال را آزمایش کنید:

  • از روتر یک ping به آدرس داخلی سرور (مثلاً 10.10.0.1) بزنید تا برقراری تونل تأیید شود.
  • آی پی عمومی خروجی را از طریق یک سرویس بررسی آی‌پی آزمایش کنید تا مطمئن شوید آی پی ثابت اعمال شده است.
  • اگر handshake انجام نمی‌شود، صحت کلید عمومی سرور، آدرس endpoint و باز بودن پورت را بازبینی کنید.
  • در صورت برقراری handshake اما عدم عبور ترافیک، قوانین NAT و مسیریابی و درستی allowed-address را کنترل کنید.

با رعایت این مراحل، روتر میکروتیک شما به‌صورت پایدار کل ترافیک شبکه را از آی پی ثابت اختصاصی عبور می‌دهد.

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

آیا WireGuard روی همه‌ی مدل‌های میکروتیک کار می‌کند؟

پشتیبانی از WireGuard از RouterOS نسخه‌ی ۷ به بعد به‌صورت بومی اضافه شده است. تقریباً همه‌ی مدل‌هایی که می‌توانند RouterOS 7 را اجرا کنند، از این پروتکل پشتیبانی می‌کنند؛ بنابراین کافی است نسخه‌ی سیستم‌عامل روتر خود را به‌روزرسانی کنید.

چرا handshake انجام می‌شود اما اینترنت قطع است؟

این مشکل معمولاً به مسیریابی و NAT برمی‌گردد. بررسی کنید که allowed-address روی 0.0.0.0/0 تنظیم شده، قانون masquerade روی اینترفیس تونل وجود دارد و مسیر پیش‌فرض به‌درستی به اینترفیس wg-static اشاره می‌کند. تنظیم DNS صحیح نیز ضروری است.

persistent-keepalive چه کاری انجام می‌دهد و آیا لازم است؟

این پارامتر در فواصل زمانی مشخص (مثلاً هر ۲۵ ثانیه) بسته‌های کوچکی ارسال می‌کند تا مسیر عبور از NAT و فایروال‌ها باز بماند. وقتی روتر شما پشت NAT قرار دارد، تنظیم این مقدار برای جلوگیری از قطع شدن تونل بسیار توصیه می‌شود.

آیا می‌توانم فقط بخشی از ترافیک را از تونل عبور دهم؟

بله. به‌جای مسیریابی کامل، می‌توانید با استفاده از قوانین Mangle و جدول مسیریابی اختصاصی، فقط ترافیک دستگاه‌ها یا مقاصد خاصی را به تونل WireGuard هدایت کنید و بقیه‌ی ترافیک از مسیر معمول اینترنت عبور کند.

کلید خصوصی روتر در کجا نگهداری می‌شود؟

کلید خصوصی هنگام ساخت اینترفیس به‌صورت خودکار تولید و درون پیکربندی روتر ذخیره می‌شود و هرگز نباید با کسی به اشتراک گذاشته شود. تنها کلید عمومی روتر است که برای ثبت در سمت سرور سرویس‌دهنده استفاده می‌شود.

💬