بازگشت وجه تا ۷ روز پس از خرید، در صورت عدم رضایت از سرویسضمانت بازگشت وجه تا ۷ روز

WireGuard: آموزش تانل بین چند سرور لینوکس (گام به گام) | IRVM

نویسنده:ارش اسدی

دسته بندی:

مشخصات مقاله

  • تاریخ انتشار

  • آخرین به روزرسانی

  • زمان مطالعه۴ دقیقه

  • دیدگاه هااولین نفر باشید

فهرست مطالب
  1. ۱مقدمه: چرا ایجاد تانل بین چند سرور با WireGuard یک ضرورت است؟
  2. ۲۱. نصب WireGuard روی هر سرور لینوکسی
  3. ۳۲. تولید کلیدهای رمزنگاری امنیتی WireGuard
  4. ۴۳. پیکربندی فایل‌های کانفیگ wg0.conf
    1. پیکربندی سرور ۱ (رسپینا)
    2. پیکربندی سرور ۲ (پیشگامان)
    3. پیکربندی سرور ۳ (شاتل)
  5. ۵۴. راه‌اندازی، فعال‌سازی و تست سرویس WireGuard
  6. ۶۵. تست اتصال و پینگ بین سرورها
  7. ۷۶. رفع مشکلات رایج و عیب‌یابی شبکه
    1. آزاد کردن پورت در فایروال
    2. بررسی جدول مسیردهی (Routing Table)
  8. ۸جمع‌بندی نهایی

مقدمه: چرا ایجاد تانل بین چند سرور با WireGuard یک ضرورت است؟

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

در این راهنمای تخصصی، نحوه اتصال چند سرور لینوکس از طریق تانل وایرگارد را با جزئیات کامل بررسی خواهیم کرد. فرض کنید سه سرور مجازی ایران از دیتاسنترهای مختلف در اختیار داریم:

  • سرور اول (رسپینا): (IP عمومی: 192.168.1.10، IP خصوصی: 10.10.10.1)
  • سرور دوم (پیشگامان): (IP عمومی: 192.168.1.20، IP خصوصی: 10.10.10.2)
  • سرور سوم (شاتل): (IP عمومی: 192.168.1.30، IP خصوصی: 10.10.10.3)

هدف ما ساخت یک شبکه خصوصی مش (Mesh Network) است که این سرورها بدون درگیری با محدودیت‌های پورت یا نیاز به آی‌پی عمومی اضافی، به صورت امن با یکدیگر تبادل داده داشته باشند.

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


تانل بین چند سرور با WireGuard
پیاده‌سازی تانل بین چند سرور با پروتکل WireGuard

۱. نصب WireGuard روی هر سرور لینوکسی

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

  1. به‌روزرسانی مخازن سیستم‌عامل و نصب پکیج وایرگارد:
    code
    sudo apt update && sudo apt install wireguard -y
  2. اطمینان از نصب موفقیت‌آمیز و بررسی نسخه پکیج:
    code
    wg --version

همچنین برای بهینه‌سازی کامل کارت‌های شبکه و افزایش پهنای باند سرور خود، می‌توانید نگاهی به مقاله آموزش جامع بهینه‌سازی سرور مجازی اوبونتو (افزایش سرعت + کاهش پینگ) بیندازید.


۲. تولید کلیدهای رمزنگاری امنیتی WireGuard

پروتکل WireGuard بر پایه رمزنگاری نامتقارن (Public/Private Key) بنا شده است. برای هر سرور باید یک جفت کلید اختصاصی تولید کنیم.

  1. در ترمینال هر سرور دستور زیر را وارد کنید تا کلیدها ساخته شوند:
    code
    wg genkey | tee privatekey | wg pubkey > publickey
  2. برای اطمینان، محتوای کلیدها را بررسی کنید (کلید عمومی را باید در سرورهای دیگر به عنوان Peer معرفی کنید):
    code
    cat privatekey
    cat publickey

نکته امنیتی حیاتی: فایل privatekey حکم رمز عبور ریشه را دارد، بنابراین دسترسی آن را کاملاً محدود کنید:

code
chmod 600 privatekey

۳. پیکربندی فایل‌های کانفیگ wg0.conf

حالا باید ساختار شبکه خصوصی را با ایجاد فایل پیکربندی wg0.conf در مسیر /etc/wireguard/ تعریف کنیم.

پیکربندی سرور ۱ (رسپینا)

  1. فایل کانفیگ را باز کنید:
    code
    sudo nano /etc/wireguard/wg0.conf
  2. محتوای زیر را جایگزین کنید (کلیدهای خصوصی و عمومی مربوطه را قرار دهید):
    code
    [Interface]
    PrivateKey = <PRIVATE_KEY_SERVER_1>
    Address = 10.10.10.1/24
    ListenPort = 51820
    
    [Peer]
    PublicKey = <PUBLIC_KEY_SERVER_2>
    AllowedIPs = 10.10.10.2/32
    Endpoint = 192.168.1.20:51820
    PersistentKeepalive = 25
    
    [Peer]
    PublicKey = <PUBLIC_KEY_SERVER_3>
    AllowedIPs = 10.10.10.3/32
    Endpoint = 192.168.1.30:51820
    PersistentKeepalive = 25
  3. محافظت از فایل کانفیگ:
    code
    chmod 600 /etc/wireguard/wg0.conf

پیکربندی سرور ۲ (پیشگامان)

فایل کانفیگ این سرور را مشابه الگوی زیر تنظیم کنید:

code
[Interface]
PrivateKey = <PRIVATE_KEY_SERVER_2>
Address = 10.10.10.2/24
ListenPort = 51820

[Peer]
PublicKey = <PUBLIC_KEY_SERVER_1>
AllowedIPs = 10.10.10.1/32
Endpoint = 192.168.1.10:51820
PersistentKeepalive = 25

[Peer]
PublicKey = <PUBLIC_KEY_SERVER_3>
AllowedIPs = 10.10.10.3/32
Endpoint = 192.168.1.30:51820
PersistentKeepalive = 25

پیکربندی سرور ۳ (شاتل)

تنظیمات نهایی برای سرور سوم به شکل زیر خواهد بود:

code
[Interface]
PrivateKey = <PRIVATE_KEY_SERVER_3>
Address = 10.10.10.3/24
ListenPort = 51820

[Peer]
PublicKey = <PUBLIC_KEY_SERVER_1>
AllowedIPs = 10.10.10.1/32
Endpoint = 192.168.1.10:51820
PersistentKeepalive = 25

[Peer]
PublicKey = <PUBLIC_KEY_SERVER_2>
AllowedIPs = 10.10.10.2/32
Endpoint = 192.168.1.20:51820
PersistentKeepalive = 25

علاوه بر این پروتکل، اگر در پروژه‌های شبکه خود به راه‌اندازی ساختارهای جایگزین یا پروتکل‌های لایه ۲ نیاز دارید، مطالعه مقاله آموزش راه‌ اندازی L2TP روی سرور لینوکس دیدگاه وسیع‌تری به شما خواهد داد.


۴. راه‌اندازی، فعال‌سازی و تست سرویس WireGuard

پس از اعمال تنظیمات در تمام سرورها، سرویس WireGuard را استارت کنید:

  1. فعال‌سازی سرویس در بوت سیستم و اجرای آن:
    code
    sudo systemctl enable wg-quick@wg0
    sudo systemctl start wg-quick@wg0
  2. بررسی وضعیت سلامت سرویس:
    code
    sudo systemctl status wg-quick@wg0
  3. نمایش جزییات پکت‌ها و تانل فعال:
    code
    sudo wg show

۵. تست اتصال و پینگ بین سرورها

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

  • دستورات تست از سرور اول:
    code
    ping 10.10.10.2
    ping 10.10.10.3
  • دستورات تست از سرور دوم:
    code
    ping 10.10.10.1
    ping 10.10.10.3
  • دستورات تست از سرور سوم:
    code
    ping 10.10.10.1
    ping 10.10.10.2

۶. رفع مشکلات رایج و عیب‌یابی شبکه

آزاد کردن پورت در فایروال

اگر پکت‌های پینگ برقرار نشد، مطمئن شوید که پروتکل UDP روی پورت 51820 در فایروال سرورها مسدود نشده است:

code
sudo ufw allow 51820/udp

بررسی جدول مسیردهی (Routing Table)

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

code
ip route show

اگر به ساختار DNS اختصاصی برای بازی یا سیستم‌های داخلی سرور نیاز دارید، پیشنهاد می‌کنیم مقاله تخصصی آموزش ساخت DNS گیمینگ با سرور مجازی را بررسی کنید.


جمع‌بندی نهایی

با راه‌اندازی تانل وایرگارد توانستیم ارتباطی ایمن، رمزنگاری‌شده و پایدار بین چندین سرور مجزا ایجاد کنیم. این متد به دلیل سرعت بالا و حجم کد بسیار کم، برترین استاندارد شبکه برای ارتباط بین دیتاسنترها به شمار می‌رود.

به دنبال بستر ابری پرسرعت برای راه‌اندازی شبکه‌های توزیع‌شده هستید؟
پیاده‌سازی موفق تانل‌های امن نیازمند سرورهایی با پورت قدرتمند و پایداری شبکه ۱۰۰٪ است. همین حالا می‌توانید برای تهیه سرور مجازی ایران از ایران وی ام (IRVM) اقدام کنید و سرویس خود را با تحویل آنی دریافت نمایید.

این مقاله چطور بود؟

گزینه ای را که بیشتر با نظرتان جور است انتخاب کنید.

دیدگاه ها

هنوز دیدگاهی ثبت نشده است، اولین نفر باشید.

دیدگاه خود را بنویسید

از وبلاگ ایران وی ام

مقالات مرتبط

چند مقاله نزدیک به همین موضوع که شاید برایتان مفید باشد.

همه مقالات آموزش شبکه
آموزش شبکه

فروش VPN قانونی در ایران ۱۴۰۵ 【مجوز رسمی + راه‌اندازی کسب‌وکار】

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

ارش اسدی۳ دقیقه مطالعه

آموزش شبکه

بهینه‌ سازی VPS لینوکس و مدیریت (متوسط تا پیشرفته)

راهنمای جامع مدیریت و بهینه‌سازی VPS لینوکس: تکنیک‌های پیشرفته برای امنیت، Docker، Nginx، مانیتورینگ و بکاپ. مناسب کاربران متوسط تا حرفه‌ای با مثال‌های عملی و مقایسه پلن‌های رسپینا ایران.

ارش اسدی۲۵ دقیقه مطالعه