تانل بین چند سرور لینوکس با WireGuard

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

تانل بین چند سرور با WireGuard

مقدمه

در دنیای امروز که امنیت و ارتباطات امن در شبکه ها بسیار حیاتی شده است، استفاده از فناوری هایی مانند WireGuard به یک انتخاب برتر برای اتصال امن سرورها تبدیل شده است. WireGuard یک پروتکل شبکه خصوصی مجازی ساده، سریع و قدرتمند است که به کاربران اجازه می دهد تا شبکه های خصوصی ایجاد کنند. در این راهنما، نحوه اتصال سه سرور لینوکس از طریق WireGuard را با جزئیات و توضیحات کامل بررسی خواهیم کرد.

ما در این مثال سه سرور از سه ارائه دهنده مختلف داریم:

هدف، ایجاد یک شبکه خصوصی است که این سه سرور بدون نیاز به IP عمومی با یکدیگر ارتباط برقرار کنند.


WireGuard
WireGuard

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

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

  1. به روزرسانی مخازن و نصب WireGuard:
    sudo apt update && sudo apt install wireguard -y
    
  2. اطمینان از نصب موفقیت آمیز:
    wg --version
    

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

تانل وایرگارد از کلیدهای رمزنگاری نامتقارن برای احراز هویت استفاده می کند. برای هر سرور یک کلید خصوصی و یک کلید عمومی تولید کنید.

  1. تولید کلیدها:
    wg genkey | tee privatekey | wg pubkey > publickey
    
  2. اعتبار کلیدها را بررسی کنید:
    cat privatekey
    cat publickey
    

نکته: برای حفظ امنیت، فایل privatekey باید با مجوزهای محدود ذخیره شود:

chmod 600 privatekey

۳. پیکربندی WireGuard

برای پیکربندی تانل وایرگارد، باید فایل wg0.conf را در هر سرور ایجاد کنید.

سرور ۱ (رسپینا)

  1. فایل کانفیگ wg0.conf را ایجاد کنید:
    sudo nano /etc/wireguard/wg0.conf
    
  2. محتوا:
    [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. تنظیم مجوزها:
    chmod 600 /etc/wireguard/wg0.conf
    

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

فایل کانفیگ مشابه با اطلاعات مربوط به سرور ۲:

[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

سرور ۳ (شاتل)

کانفیگ برای سرور ۳:

[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

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

پس از پیکربندی فایل های کانفیگ، سرویس وایرگارد را فعال کنید:

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

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

برای بررسی عملکرد صحیح، از هر سرور به دیگری پینگ بگیرید:

  • از سرور ۱:
    ping 10.10.10.2
    ping 10.10.10.3
    
  • از سرور ۲:
    ping 10.10.10.1
    ping 10.10.10.3
    
  • از سرور ۳:
    ping 10.10.10.1
    ping 10.10.10.2
    

۶. رفع مشکلات احتمالی

بررسی فایروال

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

sudo ufw allow 51820/udp

مسیرهای شبکه

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

ip route show

جمع بندی

با استفاده از تانل وایرگارد، توانستیم سه سرور را در یک شبکه خصوصی با امنیت بالا متصل کنیم. این روش سریع، ساده و بسیار امن است و به ویژه برای ارتباط بین دیتاسنترها و سرورهای توزیع شده ایده آل است.