WireGuard Site-to-Site در میکروتیک؛ آموزش کامل اتصال دو شبکه – داماش

آموزش WireGuard Site-to-Site در میکروتیک؛ اتصال مدرن دو شبکه

فهرست مطالب

وقتی دو شبکه‌ی مجزا (مثلاً دفتر مرکزی و شعبه) را به هم وصل می‌کنیم، WireGuard امروز سریع‌ترین و سبک‌ترین گزینه است. در RouterOS ۷ پشتیبانی کامل از WireGuard وجود دارد و برای اتصال سایت به سایت (Site-to-Site) ایده‌آل است. در این آموزش دو روتر را طوری به هم وصل می‌کنیم که کامپیوترهای دو شبکه مستقیماً همدیگر را ببینند.

WireGuard Site-to-Site در میکروتیک – داماش
سازنده‌ی تونل Site-to-Site میکروتیک داماش
ابزار رایگان ساخت تونل Site-to-Site در میکروتیک
ابزار رایگان ساخت تونل Site-to-Site در میکروتیک

این آموزش بخشی از مجموعه‌ی میکروتیک داماش است. برای روش‌های دیگر اتصال دو شبکه، تونل Site-to-Site با EOIP/GRE و برای راه‌اندازی VPN برای کلاینت‌ها، راهنمای VPN سرور را ببینید.

WireGuard چیست؟

WireGuard یک پروتکل VPN مدرن است که در سال ۲۰۲۰ به هسته‌ی لینوکس اضافه شد و به سرعت جایگزین پروتکل‌های قدیمی شد. ویژگی‌های اصلی:

  • کد بسیار کم: حدود ۴ هزار خط کد (در برابر صدها هزار خط در IPsec/OpenVPN) — یعنی امنیت قابل بازبینی و باگ کمتر.
  • رمزنگاری اجباری و مدرن: از Curve25519، ChaCha20 و Poly1305 استفاده می‌کند.
  • فقط UDP: هیچ حالت TCP ندارد؛ همین سادگی باعث سرعت بالا می‌شود.
  • روشن بودن ملایم: وقتی ترافیک نیست، خاموش است و باعث قطعی کاذب نمی‌شود.

مفهوم کلیدی: مسیریابی کلید عمومی

WireGuard برخلاف VPNهای سنتی IP مقصد را مسیر نمی‌کند، بلکه بر اساس کلید عمومی کار می‌کند. هر طرف دو کلید دارد:

پیکربندی WireGuard Site-to-Site

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

تنظیم کلیدی که غالباً اشتباه می‌شود: فیلد allowed-address در بخش peer. این فیلد یعنی «از این peer اجازه دارم چه آدرس‌های IP را دریافت کنم». اگر درست تنظیم نشود، تونل وصل می‌شود ولی ترافیک رد نمی‌کند.

مرحله ۱: پیش‌نیازها

  • هر دو روتر RouterOS نسخه‌ی ۷ داشته باشند.
  • حداقل یک طرف آدرس IP عمومی ثابت (یا DDNS) داشته باشد و پورت UDP قابل دسترسی باشد.
  • بلوک IP دو شبکه با هم تداخل نداشته باشد (مثلاً ۱۹۲.۱۶۸.۱.۰/۲۴ و ۱۹۲.۱۶۸.۲.۰/۲۴).

مرحله ۲: ساخت کلیدها

روی روتر A:

/interface wireguard add name=wg-site1 listen-port=13231

سپس کلید عمومی این روتر را ببینید:

/interface wireguard print

دستور بالا کلید خصوصی و عمومی را نشان می‌دهد. کلید عمومی را یادداشت کنید — باید به روتر B بدهید. همین کار را روی روتر B هم انجام دهید (با پورت متفاوت اگر پشت NAT نیست).

مرحله ۳: پیکربندی روتر A

فرض کنیم:

  • روتر A: شبکه‌ی داخلی ۱۹۲.۱۶۸.۱.۰/۲۴، آدرس تونل ۱۰.۱۰.۱۰.۱/۳۰
  • روتر B: شبکه‌ی داخلی ۱۹۲.۱۶۸.۲.۰/۲۴، آدرس تونل ۱۰.۱۰.۱۰.۲/۳۰
/interface wireguard peer add interface=wg-site1 public-key="کلید_عمومی_روتر_B" 
  endpoint.address=198.51.100.2 endpoint.port=13231 
  allowed-address=10.10.10.2/32,192.168.2.0/24 persistent-keepalive=25s

/ip address add address=10.10.10.1/30 interface=wg-site1

/ip route add dst-address=192.168.2.0/24 gateway=10.10.10.2

مرحله ۴: پیکربندی روتر B

/interface wireguard peer add interface=wg-site1 public-key="کلید_عمومی_روتر_A" 
  endpoint.address=198.51.100.1 endpoint.port=13231 
  allowed-address=10.10.10.1/32,192.168.1.0/24 persistent-keepalive=25s

/ip address add address=10.10.10.2/30 interface=wg-site1

/ip route add dst-address=192.168.1.0/24 gateway=10.10.10.1

تنها فرق دو طرف، مقدار public-key و شبکه‌های مجاز است. اگر روتر B پشت NAT است و آدرس عمومی ندارد، بخش endpoint.address در روتر A را خالی بگذارید و روتر B شروع‌کننده‌ی اتصال باشد (با persistent-keepalive).

مرحله ۵: تأیید

  • /interface wireguard peer print — ستون last-handshake باید یک زمان اخیر نشان دهد. اگر none است، یعنی handshake انجام نشده.
  • ping 10.10.10.2 از روی روتر A — باید جواب بدهد.
  • ping 192.168.2.1 — کامپیوتر مقصد در شبکه‌ی دیگر.

اگر handshake انجام شد ولی ترافیک رد نمی‌کرد، ۹۰٪ مواقع مشکل از allowed-address است. بررسی کنید شبکه‌ی مقصد در لیست allowed-address طرف مقابل باشد.

MTU و کارایی

WireGuard حدود ۶۰ بایت هدر اضافه می‌کند. روی یک لینک با MTU ۱۵۰۰، MTU اینترفیس WireGuard باید حدود ۱۴۲۰-۱۴۴۰ باشد. RouterOS به طور پیش‌فرض ۱۴۲۰ تنظیم می‌کند که برای اکثر موارد درست است. اگر در سایت‌هایی با MTU کوچک‌تر کار می‌کنید و سرعت پایین است، این مقدار را بررسی کنید.

پشت NAT

WireGuard با UDP کار می‌کند و NAT را به خوبی تحمل می‌کند، به شرطی که یک طرف آدرس عمومی داشته باشد. اگر هر دو طرف پشت NAT هستند، باید پورت UDP (مثلاً ۱۳۲۳۱) را پورت‌فوروارد کنید یا یک سرور وسط (hub) با آدرس عمومی داشته باشید. persistent-keepalive=25s باعث می‌شود نگاشت NAT زنده بماند — این تنظیم برای اتصال پایدار پشت NAT ضروری است.

امنیت اضافی

  • پورت listen را از حالت پیش‌فرض تغییر دهید تا اسکنرها راحت‌تر پیدا نکنند.
  • allowed-address را دقیق بنویسید — فقط شبکه‌هایی که واقعاً لازم دارید.
  • فایروال روی اینترفیس WireGuard هم بگذارید؛ تونل رمزنگاری‌شده یعنی اعتماد به طرف مقابل، نه اعتماد به کل دستگاهش.

مقایسه با EOIP/GRE

ویژگی WireGuard EOIP/GRE
رمزنگاری داخلی و مدرن ندارد (نیاز به IPsec)
سرعت بالا بالا
لایه لایه ۳ (IP) لایه ۲ (Ethernet)
برندهای دیگر استاندارد EOIP مخصوص میکروتیک

اگر لایه ۲ لازم دارید (مثلاً یک شبکه‌ی Ethernet مشترک)، VXLAN یا EOIP را ببینید.

سوالات متداول

آیا WireGuard در ایران مسدود می‌شود؟

پروتکل WireGuard روی اینترنت عمومی ایران قابل استفاده است، ولی روی برخی شبکه‌ها ممکن است محدودیت ایجاد شود. برای کاربرد داخلی بین دو شعبه با IP ثابت معمولاً مشکلی نیست.

چرا handshake انجام می‌شود ولی ترافیک رد نمی‌کند؟

تقریباً همیشه مشکل از allowed-address است. شبکه‌ی مقصد باید در لیست allowed-address طرف مقابل باشد؛ در غیر این صورت بسته‌ها drop می‌شوند.

WireGuard روی کدام نسخه‌ی RouterOS کار می‌کند؟

از RouterOS ۷ به بعد به صورت رسمی پشتیبانی می‌شود. روی نسخه‌ی ۶ موجود نیست.

چند سایت را می‌توانم وصل کنم؟

به ازای هر سایت یک peer اضافه کنید و مسیر آن را وارد کنید. تعداد peerها روی یک روتر محدودیت عملی بزرگی ندارد.

آیا WireGuard جایگزین VPN کلاینت می‌شود؟

بله، اما کاربردش متفاوت است. برای اتصال دستگاه‌های کاربر به شبکه، راهنمای VPN سرور کامل‌تر است.

جمع‌بندی

WireGuard Site-to-Site سریع‌ترین راه رمزنگاری‌شده‌ی اتصال دو شبکه در میکروتیک است. کلید موفقیت در دو نکته است: کلید عمومی هر طرف را درست در peer طرف مقابل وارد کنید، و allowed-address را شامل شبکه‌ی مقصد کنید. با persistent-keepalive اتصال پشت NAT هم پایدار می‌ماند و در صورت قطعی خودکار دوباره وصل می‌شود.

منابع و مطالعه‌ی بیشتر

برای عمیق‌شدن در این موضوع، توصیه می‌کنیم مستندات رسمی WireGuard در میکروتیک را مطالعه کنید.

سوالات متداول درباره‌ی WireGuard Site-to-Site در میکروتیک

WireGuard Site-to-Site در میکروتیک چیست؟

WireGuard Site-to-Site در میکروتیک موضوعی است که در این مقاله به طور کامل بررسی کردیم. WireGuard Site-to-Site در میکروتیک به شما کمک می‌کند تا اتصال امن و سریع دو شعبه داشته باشید و شبکه‌ی خود را حرفه‌ای‌تر مدیریت کنید.

آیا WireGuard Site-to-Site در میکروتیک برای کسب‌وکار من مناسب است؟

اگر دو شبکه در دو محل مختلف دارید، WireGuard Site-to-Site در میکروتیک می‌تواند راهکار مناسبی برای شما باشد. برای مشاوره‌ی رایگان با کارشناسان داماش تماس بگیرید.

مهم‌ترین مزیت WireGuard Site-to-Site در میکروتیک چیست؟

مهم‌ترین مزیت WireGuard Site-to-Site در میکروتیک، اتصال امن و سریع دو شعبه است. با WireGuard Site-to-Site در میکروتیک می‌توانید شبکه‌ی خود را پایدارتر و سریع‌تر کنید و از قطعی‌های ناگهانی در امان باشید.

جمع‌بندی نهایی: اتصال Site-to-Site با WireGuard در میکروتیک

در این آموزش یاد گرفتیم که راه‌اندازی WireGuard Site-to-Site در میکروتیک تنها به چهار مرحله نیاز دارد: ساخت اینترفیس، تبادل کلید عمومی، تعریف peer و مسیریابی شبکه‌ی مقصد.

مهم‌ترین نکته‌ی موفقیت در WireGuard Site-to-Site در میکروتیک این است که allowed-address هر peer حتماً شامل شبکه‌ی مقصد باشد.

اگر یکی از طرفین پشت NAT است، کافی است endpoint.address طرف مقابل خالی گذاشته شود و اتصال از سمت دارای آی‌پی عمومی شروع شود.

با تنظیم persistent-keepalive، اتصال WireGuard Site-to-Site در میکروتیک حتی پشت NAT هم پایدار می‌ماند.

در پروژه‌های واقعی، WireGuard Site-to-Site در میکروتیک به دلیل سرعت بالا و سادگی پیکربندی، اولین انتخاب برای اتصال دو شعبه است.

نکته‌ی پایانی: برای سناریوهای پیچیده‌تر مثل اتصال سه یا چهار شعبه، می‌توانید همین الگو را تکرار کنید; WireGuard Site-to-Site در میکروتیک به خوبی مقیاس‌پذیر است.

اگر هر دو طرف پشت NAT هستند، یک سرور وسط با آی‌پی عمومی مشکل را حل می‌کند; در غیر این صورت WireGuard Site-to-Site در میکروتیک مستقیماً کار نخواهد کرد.

عیب‌یابی اتصال WireGuard Site-to-Site در میکروتیک

اگر پس از راه‌اندازی WireGuard Site-to-Site در میکروتیک اتصال برقرار نشد، مراحل زیر را به ترتیب بررسی کنید. این مراحل بیش از ۹۰ درصد مشکلات را حل می‌کنند.

مرحله ۱ — وضعیت اینترفیس: در Winbox به مسیر WireGuard > Interfaces بروید و اینترفیس wg-site1 را بررسی کنید. اگر علامت X قرمز دارد، یعنی کلید عمومی peer درست نیست. کلید عمومی طرف مقابل را دوباره از او بگیرید (دقت کنید که کلید عمومی، نه کلید خصوصی).

مرحله ۲ — بررسی endpoint: اگر روتر مقابل پشت NAT است، endpoint.address باید خالی گذاشته شود. اگر آی‌پی عمومی دارد، مطمئن شوید آی‌پی و پورت درست وارد شده‌اند. اشتباه‌ترین بخش معمولاً پورت است؛ WireGuard به صورت پیش‌فرض از پورت ۱۳۲۳۱ استفاده می‌کند.

مرحله ۳ — allowed-address: این رایج‌ترین دلیل قطعی است. allowed-address هر peer باید شامل شبکه‌ی مقصد باشد. مثلاً اگر روتر A شبکه‌ی ۱۹۲.۱۶۸.۱.۰/۲۴ دارد، allowed-address در روتر B باید شامل ۱۹۲.۱۶۸.۱.۰/۲۴ باشد، نه فقط آدرس تونل.

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

مرحله ۵ — فایروال: اگر فایروال روتر پورت UDP ۱۳۲۳۱ را مسدود کرده باشد، اتصال هرگز برقرار نمی‌شود. قانون allow برای پورت ۱۳۲۳۱ UDP در chain input اضافه کنید.

ابزار کمکی: پایش ترافیک تونل

برای اطمینان از اینکه ترافیک واقعاً از تونل عبور می‌کند، در Winbox به مسیر Tools > Torch بروید، اینترفیس wg-site1 را انتخاب کنید و Start را بزنید. اگر بسته‌ها می‌بینید یعنی اتصال کار می‌کند. اگر هیچی نمی‌بینید، مشکل در مسیریابی یا allowed-address است.

مثال کاربردی: اتصال دفتر مرکزی و شعبه با WireGuard

برای درک کامل سناریوی واقعی، یک مثال عملی را قدم به قدم بررسی می‌کنیم.

وضعیت: شرکت داماش دو دفتر دارد. دفتر مرکزی در تهران شبکه‌ی ۱۹۲.۱۶۸.۱۰.۰/۲۴ دارد و اینترنت با آی‌پی عمومی ۱۸۵.۱۰.۲۰.۳۰. شعبه‌ی مشهد شبکه‌ی ۱۹۲.۱۶۸.۲۰.۰/۲۴ دارد و پشت NAT اینترنت دارد (آی‌پی عمومی ندارد).

راه‌حل: در دفتر مرکزی، اینترفیس WireGuard با پورت ۱۳۲۳۱ ساخته می‌شود. کلید عمومی شعبه به peer اضافه می‌شود با allowed-address شامل ۱۹۲.۱۶۸.۲۰.۰/۲۴. در شعبه، اینترفیس WireGuard ساخته می‌شود، کلید عمومی دفتر مرکزی به peer اضافه می‌شود با endpoint.address=۱۸۵.۱۰.۲۰.۳۰ و endpoint.port=۱۳۲۳۱، و allowed-address شامل ۱۹۲.۱۶۸.۱۰.۰/۲۴. چون شعبه پشت NAT است، endpoint.address در دفتر مرکزی خالی گذاشته می‌شود و شعبه شروع‌کننده‌ی اتصال است.

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

نکات تکمیلی برای شبکه‌های بزرگ‌تر

اگر بیش از دو سایت دارید، همان الگو را برای هر سایت تکرار کنید. فقط دقت کنید که allowed-address هر peer شامل شبکه‌ی آن سایت باشد. برای سه سایت، روی روتر مرکزی دو peer تعریف می‌کنید. همچنین اگر ترافیک بین شعبات زیاد است، MTU را بررسی کنید و در صورت نیاز MSS clamping را فعال کنید تا از قطعی بسته‌های بزرگ جلوگیری شود.

سوالات متداول تکمیلی درباره‌ی WireGuard

آیا WireGuard از IPsec بهتر است؟

برای اکثر سناریوها بله. WireGuard بسیار سریع‌تر است، پیکربندی ساده‌تری دارد و کد کمتری دارد (یعنی احتمال باگ امنیتی کمتر است). IPsec همچنان برای شبکه‌های قدیمی و سناریوهایی که به سازگاری با تجهیزات دیگر نیاز دارند استفاده می‌شود.

حداقل نسخه‌ی RouterOS برای WireGuard چیست؟

WireGuard از RouterOS ۷ به صورت رسمی پشتیبانی می‌شود. اگر روتر شما روی RouterOS ۶ است، ابتدا ارتقا دهید. ارتقا از ۶ به ۷ رایگان است و از داخل Winbox قابل انجام است. قبل از ارتقا حتماً بکاپ بگیرید.

چند تونل WireGuard همزمان می‌توانم بسازم؟

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

نکات حرفه‌ای WireGuard در میکروتیک

در پایان چند نکته که تجربه‌ی عملی از راه‌اندازی تونل‌های WireGuard به دست آورده‌ایم.

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

۲. persistent-keepalive را تنظیم کنید: حتی اگر پشت NAT نیستید، تنظیم keepalive روی ۲۵ ثانیه مشکلی ایجاد نمی‌کند و در صورت قطعی موقت، اتصال سریع‌تر برقرار می‌شود.

۳. شبکه‌های مجاز را دقیق وارد کنید: اگر allowed-address را بیش از حد باز بگذارید (مثلاً ۰.۰.۰.۰/۰)، دسترسی کامل به شبکه‌ی مقابل می‌دهید که خطرناک است. فقط شبکه‌های ضروری را وارد کنید.

۴. از تونل برای مانیتورینگ هم استفاده کنید: وقتی تونل Site-to-Site برقرار شد، می‌توانید روتر شعبه را از دفتر مرکزی مانیتور کنید بدون اینکه پورت‌هایی را روی اینترنت باز کنید.

توصیه نهایی داماش

WireGuard Site-to-Site در میکروتیک یکی از ساده‌ترین و در عین حال قدرتمندترین روش‌های اتصال شبکه‌هاست. اگر این آموزش را قدم به قدم دنبال کرده‌اید، حالا باید تونل شما کار کند. اگر با مشکلی روبه‌رو شدید، بخش عیب‌یابی را دوباره مرور کنید — پاسخ احتمالاً آنجاست.

اگر در راه‌اندازی کمک می‌خواهید، تیم داماش آماده‌ی مشاوره رایگان است. همچنین اگر سرور یا روتر میکروتیک نیاز دارید، می‌توانید از پلن‌های ما دیدن کنید.

فراموش نکنید که WireGuard Site-to-Site در میکروتیک هم سریع‌ترین و هم ساده‌ترین روش اتصال دو شبکه است.

اگر سناریوی پیچیده‌تری دارید، WireGuard Site-to-Site در میکروتیک به خوبی مقیاس‌پذیر است.

تجربه نشان داده WireGuard Site-to-Site در میکروتیک حتی در شبکه‌های پشت NAT هم پایدار کار می‌کند.

راه‌اندازی WireGuard Site-to-Site در میکروتیک را می‌توان در کمتر از ۱۵ دقیقه انجام داد.

پس از راه‌اندازی WireGuard Site-to-Site در میکروتیک، اتصال دو شبکه مثل یک شبکه‌ی محلی می‌شود.

اگر در راه‌اندازی WireGuard Site-to-Site در میکروتیک کمک می‌خواهید، تیم داماش آماده است.

WireGuard Site-to-Site در میکروتیک برای اتصال شعبه‌ی دوردست به دفتر مرکزی ایده‌آل است.

هیچ دلیلی نیست که WireGuard Site-to-Site در میکروتیک را امتحان نکنید; پیاده‌سازی آن کمتر از نیم ساعت طول می‌کشد.