رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
معرفی WireGuard

معرفی WireGuard

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

فهرست مطالب

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

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


چرا WireGuard انتخاب بهتری است؟

  • سرعت بسیار بالا و مصرف کم منابع

  • پیکربندی ساده و قابل درک

  • امنیت مدرن با رمزنگاری قوی

  • پشتیبانی کامل از IPv4 و IPv6

  • مناسب برای سرورها، لپ‌تاپ‌ها و موبایل‌ها


معماری WireGuard چگونه است؟

WireGuard یک پروتکل Peer-to-Peer است. یعنی همه دستگاه‌ها نرم‌افزار یکسانی اجرا می‌کنند و تفاوت “سرور” و “کلاینت” فقط به ساختار شبکه مربوط می‌شود، نه نرم‌افزار.

اجزای اصلی:

Interface مجازی (wg0)
یک کارت شبکه مجازی است که تمام ترافیک رمزنگاری‌شده از آن عبور می‌کند.

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

AllowedIPs
یکی از مهم‌ترین بخش‌های تنظیمات است که هم مسیر ترافیک را مشخص می‌کند و هم نقش لیست دسترسی (ACL) را دارد.


حالت‌های استفاده از WireGuard

1. ارتباط داخلی (Peer to Peer)
فقط دستگاه‌های عضو VPN با هم ارتباط امن دارند. مناسب برای دسترسی به سرویس‌های داخلی و مدیریت سرورها.

2. حالت Gateway (VPN کامل)
تمام ترافیک کاربر از طریق سرور WireGuard عبور می‌کند و سرور مانند یک دروازه اینترنت عمل می‌کند. در این حالت IP کاربر مخفی می‌شود.

حالتتوضیحمناسب برای
Peer to Peer (ارتباط داخلی)فقط دستگاه‌های عضو VPN با هم ارتباط امن دارنددسترسی به سرویس‌های داخلی و مدیریت سرورها
Gateway (VPN کامل)تمام ترافیک کاربر از سرور WireGuard عبور می‌کند و IP کاربر مخفی می‌شودمسیریابی کامل ترافیک اینترنت و مخفی‌سازی IP

IPv4، IPv6 و حالت Dual Stack

WireGuard از هر دو نسخه IP پشتیبانی می‌کند. در حالت Dual Stack هر دو فعال هستند، اما باید:

  • برای هر دو پروتکل Forwarding فعال شود

  • قوانین فایروال جداگانه تنظیم شود

  • مسیرها در AllowedIPs برای IPv4 و IPv6 تعریف شوند

اگر فقط مسیر 0.0.0.0/0 تنظیم شود ولی ::/0 اضافه نشود، ترافیک IPv6 خارج از VPN عبور می‌کند که به آن IPv6 Leak می‌گویند.


پیش‌نیازها

برای راه‌اندازی:

  • یک سرور Ubuntu با دسترسی sudo

  • فعال بودن فایروال

  • یک سیستم کلاینت (لینوکس، ویندوز، موبایل و…)

  • در صورت استفاده از IPv6، پشتیبانی شبکه از IPv6


نصب WireGuard در Ubuntu

2 خط
sudo apt update
sudo apt install wireguard
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ساخت کلیدهای رمزنگاری

4 خط
wg genkey | sudo tee /etc/wireguard/private.key
sudo chmod go= /etc/wireguard/private.key

sudo cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

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


نمونه تنظیمات سرور (wg0.conf)

5 خط
[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.8.0.1/24, fdxx:xxxx:xxxx::1/64
ListenPort = 51820
SaveConfig = true
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

فعال‌سازی IP Forwarding

در فایل /etc/sysctl.conf:

2 خط
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سپس:

sudo sysctl -p
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تنظیم NAT و فایروال

داخل فایل wg0.conf: (برای آشنایی کامل‌تر با قوانین فایروال، مقاله لیست و حذف قوانین فایروال iptables در لینوکس را ببینید)

5 خط
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

و باز کردن پورت:

sudo ufw allow 51820/udp
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اجرای سرویس

2 خط
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تنظیم کلاینت (Peer)

نمونه فایل کلاینت:

8 خط
[Interface]
PrivateKey = PEER_PRIVATE_KEY
Address = 10.8.0.2/24

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

جمع‌بندی

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

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS