فارسی (Farsi)
€EUR
شبکه و VPN

Wireguard

سازگار با نصب‌کننده Infrawire

سرور VPN WireGuard با تونل کامل، همراه با یک کلاینت آماده استفاده

پیکربندی حداقلی
  • 512 MB RAM
توسعه‌دهنده
Jason A. Donenfeld (projet WireGuard)
نسخه
آخرین نسخه پایدار
مجوز
GPL-2.0
سیستم‌ها
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

معرفی Wireguard

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

هنگام تحویل VPS شما، پکیج wireguard نصب شده و یک اینترفیس wg0 پیکربندی و توسط wg-quick@wg0 راه‌اندازی شده است. سرور روی UDP و پورت 51820 گوش می‌دهد، با شبکه خصوصی 10.8.0.0/24 (سرور روی 10.8.0.1 است). مسیریابی IPv4 و NAT (masquerade) فعال شده‌اند تا ترافیک کلاینت‌های شما از آی‌پی عمومی سرور خارج شود.

نخستین کلاینت از قبل ساخته شده است، با یک کلید پیش‌اشتراکی علاوه بر کلیدهای معمول. پیکربندی آن در /root/wg-client.conf و QR code برای اپلیکیشن موبایل در /root/wg-client-qr.txt قرار دارد. فقط کافی است آن را ایمپورت کنید.

با Wireguard چه کارهایی می‌توانید انجام دهید

  • تونل کامل از پیش پیکربندی‌شده

    کلاینت تولیدشده از AllowedIPs = 0.0.0.0/0 استفاده می‌کند: کل ترافیک IPv4 از VPS عبور می‌کند. DNS کلاینت روی 1.1.1.1 تنظیم شده است.

  • پیکربندی کلاینت و QR code

    فایل /root/wg-client.conf را می‌توان همان‌طور که هست در کلاینت‌های WireGuard ایمپورت کرد. QR code فایل /root/wg-client-qr.txt برای اپلیکیشن موبایل در ترمینال نمایش داده می‌شود.

  • کلید پیش‌اشتراکی برای هر پیر

    کلیدی که با wg genpsk تولید می‌شود به تبادل کلیدهای عمومی اضافه می‌شود. این کلید حفاظت اتصال را تقویت می‌کند و فایل‌های حساس با حالت 600 ساخته می‌شوند.

  • راه‌اندازی خودکار هنگام بوت

    سرویس wg-quick@wg0 با systemd فعال شده است. تونل پس از راه‌اندازی مجدد سرور خودش برمی‌گردد.

  • NAT و forwarding از قبل برقرار

    forwarding برای IPv4 در /etc/sysctl.d/99-wireguard.conf فعال شده است. قوانین iptables برای FORWARD و masquerade هنگام راه‌اندازی wg0 اعمال و هنگام توقف حذف می‌شوند.

شروع کار با Wireguard

از سفارش تا راه‌اندازی نهایی، در چند دقیقه.

  1. 1

    سفارش VPS همراه با WireGuard

    یک VPS لینوکسی در پاریس یا فرانکفورت انتخاب کنید (Debian 12، Debian 13، Ubuntu 20.04، 22.04 یا 24.04). در تب «Applications» فرم سفارش، WireGuard را تیک بزنید.

  2. 2

    اتصال به سرور و دریافت کلاینت

    پس از تحویل سرور، با اطلاعات دریافتی یک نشست SSH باز کنید. بررسی کنید تونل در حال اجراست و سپس QR code را نمایش دهید یا فایل پیکربندی را روی دستگاه خود کپی کنید.

    Bash
    ssh root@SERVER_IP systemctl status wg-quick@wg0 cat /root/wg-client-qr.txt # depuis votre poste : scp root@SERVER_IP:/root/wg-client.conf .
  3. 3

    ایمپورت پیکربندی و آزمایش

    QR code را با اپلیکیشن موبایل WireGuard اسکن کنید یا wg-client.conf را در اپلیکیشن دسکتاپ ایمپورت کنید. در لینوکس یک دستور کافی است و سپس بررسی کنید که handshake انجام شده باشد.

    Bash
    sudo wg-quick up ./wg-client.conf sudo wg show
  4. 4

    امن‌سازی برای محیط تولید

    بررسی کنید پورت UDP شماره 51820 باز باشد و سایر پورت‌های در معرض دید را محدود کنید. اگر نام را به آی‌پی ترجیح می‌دهید، پس از ساخت رکورد DNS، خط Endpoint کلاینت را با YOUR_DOMAIN:51820 جایگزین کنید. از /etc/wireguard بکاپ را خارج از سرور نگه دارید.

    Bash
    tar czf wg-backup.tgz /etc/wireguard /root/wg-client.conf

کاربردهای Wireguard

  • محافظت از Wi-Fi عمومی

    در هتل، قطار یا کافه، ترافیک IPv4 شما پیش از رسیدن به اینترنت از یک تونل رمزگذاری‌شده تا VPS شما عبور می‌کند.

  • داشتن یک آی‌پی خروجی ثابت

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

  • اتصال دستگاه‌هایتان به یکدیگر

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

  • انتخاب پاریس یا فرانکفورت

    با انتخاب لوکیشن VPS هنگام سفارش، منطقه خروج را خودتان تعیین می‌کنید، مثلاً برای آزمایش یک سرویس از فرانسه یا آلمان.

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

با SSH وارد شوید و /root/wg-client.conf را بخوانید، یا QR code را با cat /root/wg-client-qr.txt نمایش دهید. می‌توانید فایل را با scp root@SERVER_IP:/root/wg-client.conf . هم روی دستگاه خود کپی کنید.

درباره Wireguard بیشتر بدانید

فایل‌ها و سرویس‌های نصب‌شده

  • /etc/wireguard/wg0.conf : پیکربندی سرور (کلید خصوصی، پیر client1، قوانین PostUp و PostDown).
  • /root/wg-client.conf : پیکربندی نخستین کلاینت.
  • /root/wg-client-qr.txt : QR code این پیکربندی که با cat قابل نمایش است.
  • /etc/sysctl.d/99-wireguard.conf : گزینه net.ipv4.ip_forward را فعال می‌کند.
  • /opt/install-wireguard.sh : اسکریپت نصبی که هنگام تحویل اجرا شده است.

کلاینت آدرس 10.8.0.2/32 را دریافت می‌کند. آدرس عمومی که در Endpoint قرار دارد، همان است که هنگام نصب شناسایی شده است.

افزودن دستگاهی دیگر

هر دستگاه باید جفت کلید و آدرس مخصوص خودش را داشته باشد (10.8.0.3، 10.8.0.4 و غیره). کلیدها را روی سرور تولید کنید و سپس یک بلوک [Peer] به wg0.conf اضافه کنید.

Bash
cd /etc/wireguard umask 077 wg genkey | tee client2.key | wg pubkey > client2.pub wg genpsk > client2.psk

سپس محتوای client2.pub و client2.psk را همراه با AllowedIPs = 10.8.0.3/32 در /etc/wireguard/wg0.conf اضافه کنید و بدون قطع تونل‌های موجود، دوباره بارگذاری کنید:

Bash
wg syncconf wg0 <(wg-quick strip wg0)

فایل کلاینت را با الگوبرداری از /root/wg-client.conf بنویسید: PrivateKey و Address را تغییر دهید و PublicKey سرور و همچنین Endpoint را نگه دارید.

نکات قابل توجه

کلاینت تولیدشده فقط IPv4 را مسیریابی می‌کند (0.0.0.0/0). اگر دستگاه شما IPv6 دارد، این ترافیک از تونل عبور نمی‌کند: اگر برایتان اهمیت دارد، IPv6 را در سمت کلاینت غیرفعال کنید.

DNS کلاینت 1.1.1.1 است. برای استفاده از یک resolver دیگر، خط DNS فایل کلاینت را تغییر دهید. با /root/wg-client.conf مانند یک رمز عبور رفتار کنید: این فایل کلید خصوصی کلاینت را دارد. پس از ایمپورت، کپی‌های غیرضروری را حذف کنید.

برای راهنماهای بیشتر درباره مدیریت سرور لینوکسی، آموزش‌های ما یا صفحه VPS لینوکسی را ببینید.

با آخرین پیشنهادها، تخفیف‌ها و تبلیغات ویژه به‌روز بمانید.

مشاهده تخفیف‌ها

ما از کوکی استفاده می‌کنیم

ما از کوکی‌های تحلیلی برای بهبود تجربه شما در سایت خود استفاده می‌کنیم. هیچ داده‌ای به اشخاص ثالث فروخته نمی‌شود. اطلاعات بیشتر در سیاست حفظ حریم خصوصی ما.