TürkiyeVPS

راه‌اندازی وایرگارد روی سرور مجازی اوبونتو ۲۴.۰۴

داشتن VPN شخصی ساده‌تر از آن است که فکر می‌کنید. در این آموزش وایرگارد را روی یک سرور مجازی اوبونتو ۲۴.۰۴ نصب می‌کنیم، فایروال را تنظیم می‌کنیم و کلاینت موبایل را با QR کد وصل می‌کنیم.

7 دقیقه مطالعه

در سرویس‌های VPN عمومی، یک آدرس IP بین صدها یا حتی هزاران کاربر مشترک است و تمام ترافیک شما از سرورهای شرکتی عبور می‌کند که شناخت چندانی از آن ندارید. راه‌اندازی VPN شخصی هر دو مشکل را حل می‌کند: آدرس IP فقط مال شماست و کلیدهای رمزنگاری هم فقط دست خودتان است. در این راهنما وایرگارد (WireGuard) را روی سرور مجازی با اوبونتو ۲۴.۰۴ نصب می‌کنیم، فایروال را درست تنظیم می‌کنیم و یک لپ‌تاپ و یک گوشی را به آن وصل می‌کنیم. اگر دستورها را همراه متن اجرا کنید، حدود ۱۵ تا ۲۰ دقیقه وقت می‌برد.

وایرگارد چیست و چرا وایرگارد؟

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

کاربردهای رایج یک VPN شخصی:

  • رمزنگاری ترافیک در وای‌فای عمومی: در کافه، هتل یا فرودگاه، ترافیک شما تا سرور خودتان رمزنگاری‌شده می‌رود.
  • IP ثابت برای مدیریت از راه دور: می‌توانید SSH یا پنل‌های مدیریتی سرورهای دیگرتان را فقط روی IP همین VPN باز کنید (لیست سفید IP).
  • دسترسی به سرویس‌های خانه یا دفتر از طریق تونل، بدون اینکه آن‌ها را مستقیم روی اینترنت باز کنید.

قوانین استفاده از VPN در هر کشور متفاوت است. رعایت قوانین محل زندگی‌تان و شرایط قرارداد ارائه‌دهنده‌ی سرور بر عهده‌ی خود شماست.

پیش‌نیازها

  • یک سرور مجازی با اوبونتو ۲۴.۰۴ و دسترسی root (یا sudo). اگر با اتصال از راه دور آشنا نیستید، اول مقاله‌ی SSH چیست را بخوانید.
  • سرور باید آدرس IPv4 عمومیِ مخصوص به خود داشته باشد و پورت UDP انتخابی شما (در این آموزش 51820) از بیرون قابل دسترس باشد. در ترکیه‌وی‌پی‌اس، پلن‌هایی که در مشخصاتشان ۱ آدرس IPv4 اختصاصی آمده، مانند پلن‌های VDS Enterprise، این شرط را دارند. در مشخصات پلن‌های استاندارد VPS و VDS آدرس IPv4 عمومی جداگانه‌ای ذکر نشده است؛ اگر می‌خواهید وایرگارد را روی یکی از آن‌ها راه بیندازید، ابتدا با پشتیبانی ما مشورت کنید.
  • اگر هنوز امنیت پایه‌ی سرور را تنظیم نکرده‌اید، ابتدا مراحل راهنمای امنیت سرور لینوکس را انجام دهید.

۱. نصب وایرگارد

sudo apt update
sudo apt install -y wireguard qrencode

بسته‌ی wireguard ابزارهای wg و wg-quick را نصب می‌کند و qrencode برای ساختن QR کد گوشی به کار می‌رود.

۲. ساخت کلیدها

برای سرور و اولین کلاینت (مثلاً لپ‌تاپ) جفت کلید می‌سازیم. دستور umask 077 باعث می‌شود فایل‌های جدید فقط برای root قابل خواندن باشند:

sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pub

کلیدهای خصوصی (.key) را هرگز با کسی به اشتراک نگذارید. کلیدهای عمومی (.pub) در تنظیمات طرف مقابل نوشته می‌شوند.

۳. پیدا کردن نام کارت شبکه‌ی عمومی

برای قانون NAT باید نام اینترفیسی را بدانیم که سرور با آن به اینترنت وصل می‌شود. این نام همیشه eth0 نیست:

ip route show default

اگر خروجی شبیه default via 203.0.113.1 dev ens3 ... باشد، نام اینترفیس شما ens3 است. در مثال‌های زیر هر جا eth0 آمده، نام اینترفیس خودتان را بگذارید.

۴. تنظیمات سرور: فایل wg0.conf

nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# client1 - laptop
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

به جای SERVER_PRIVATE_KEY خروجی cat server.key و به جای CLIENT1_PUBLIC_KEY خروجی cat client1.pub را قرار دهید. شبکه‌ی 10.8.0.0/24 شبکه‌ی خصوصی داخل تونل است: سرور آدرس 10.8.0.1 و اولین کلاینت آدرس 10.8.0.2 را می‌گیرد.

۵. فعال کردن IP forwarding

برای اینکه سرور ترافیک کلاینت را به اینترنت برساند، باید ارسال بسته‌های IPv4 در هسته فعال باشد:

echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl --system

با دستور sysctl net.ipv4.ip_forward بررسی کنید؛ نتیجه باید = 1 باشد.

۶. فایروال (UFW)

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

ufw allow OpenSSH
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw enable
ufw status verbose

قانون ufw route allow فقط اجازه‌ی عبور ترافیک از wg0 به اینترفیس عمومی را می‌دهد. راه دیگر، تنظیم DEFAULT_FORWARD_POLICY="ACCEPT" در فایل /etc/default/ufw است، اما این کار همه‌ی ارسال‌ها را باز می‌کند؛ قانون route دقیق‌تر است.

۷. اجرای وایرگارد

systemctl enable --now wg-quick@wg0
wg show

در خروجی wg show باید interface: wg0، پورت و peer شما دیده شود. به لطف enable، تونل بعد از ری‌استارت سرور خودکار بالا می‌آید.

۸. تنظیم کلاینت

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

nano /etc/wireguard/client1.conf
[Interface]
PrivateKey = CLIENT1_PRIVATE_KEY
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
  • AllowedIPs = 0.0.0.0/0 یعنی همه‌ی ترافیک IPv4 از تونل عبور کند. اگر فقط به شبکه‌ی داخلی VPN نیاز دارید، مقدار را 10.8.0.0/24 بگذارید (split tunnel).
  • نکته‌ی IPv6: اگر IPv6 را داخل تونل تنظیم نکرده باشید، ترافیک IPv6 ممکن است از بیرون تونل برود. با افزودن , ::/0 به AllowedIPs، ترافیک IPv6 هم وارد تونل می‌شود؛ اگر سرور IPv6 نداشته باشد این ترافیک کار نمی‌کند، اما نشت هم نمی‌کند.
  • PersistentKeepalive = 25 کمک می‌کند اتصال دستگاه‌هایی که پشت NAT هستند (اینترنت موبایل یا مودم خانگی) قطع نشود.

کامپیوتر: کلاینت رسمی وایرگارد (ویندوز، مک، لینوکس) را نصب کنید و فایل client1.conf را import کنید. برای انتقال امن فایل از سرور می‌توانید از scp استفاده کنید.

گوشی: در اپلیکیشن WireGuard گزینه‌ی «ساخت از روی QR کد» را بزنید. این دستور QR کد را مستقیم در ترمینال نشان می‌دهد:

qrencode -t ansiutf8 < /etc/wireguard/client1.conf

بعد از اتصال، هر سایت «IP من چیست» باید آدرس IP سرور مجازی شما را نشان دهد.

۹. اضافه کردن دستگاه‌های جدید

برای هر دستگاه یک جفت کلید و یک آدرس جدا در تونل در نظر بگیرید. برای کلاینت دوم (مثلاً گوشی با آدرس 10.8.0.3):

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

روش سریع (فقط تا ری‌استارت):

wg set wg0 peer "$(cat client2.pub)" allowed-ips 10.8.0.3/32

این دستور peer را فوراً اضافه می‌کند اما با ری‌استارت از بین می‌رود. برای ماندگاری، یک بلوک [Peer] جدید به wg0.conf اضافه کنید و بدون قطع اتصال‌های فعلی تنظیمات را دوباره بارگذاری کنید:

wg syncconf wg0 <(wg-quick strip wg0)

دستگاهی را گم کرده‌اید؟ بلوک [Peer] آن را حذف کنید و همین دستور را اجرا کنید؛ آن کلید دیگر نمی‌تواند وصل شود.

رفع اشکال

  • وصل می‌شود اما اینترنت ندارد: مقدار sysctl net.ipv4.ip_forward، نام اینترفیس در PostUp و قانون ufw route را بررسی کنید.
  • هیچ handshake برقرار نمی‌شود: اگر در wg show عبارت «latest handshake» ظاهر نشود، احتمالاً پورت UDP 51820 مسدود است یا کلیدها جابه‌جا شده‌اند. در تنظیمات سرور، PublicKey کلید عمومی کلاینت است و برعکس.
  • لاگ‌ها: دستور journalctl -u wg-quick@wg0 خطاهای راه‌اندازی را نشان می‌دهد.

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

وایرگارد بهتر است یا OpenVPN؟

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

برای VPN شخصی چه سروری لازم است؟

وایرگارد بسیار سبک است. برای چند دستگاه شخصی معمولاً ۱ vCPU و ۵۱۲ مگابایت رم کافی است. مهم‌تر از پردازنده، داشتن آدرس IP عمومیِ مخصوص سرور و کیفیت شبکه‌ی آن است.

حوصله‌ی نصب ندارم؛ گزینه‌ی آماده هست؟

بله. در پلن‌های سرور VPN ترکیه‌وی‌پی‌اس (TürkiyeVPS)، WireGuard یا OpenVPN پس از پرداخت به‌صورت خودکار نصب می‌شود، یک آدرس IP اختصاصی دریافت می‌کنید و فایل اتصال را از پنل کاربری دانلود می‌کنید.

VPN شخصی با سرور ترکیه در استانبول

اگر می‌خواهید خودتان نصب کنید، پلن‌های VDS Enterprise ما با ۱ آدرس IPv4 اختصاصی، دسترسی root و ترافیک نامحدود ارائه می‌شوند. پرداخت با تتر (USDT شبکه‌ی TRC20) انجام می‌شود. اگر یک سرور وایرگارد آماده با IP اختصاصی می‌خواهید، به پلن‌های سرور VPN از ماهانه ۱٫۷۹ دلار سر بزنید؛ سرور پس از پرداخت به‌صورت خودکار نصب می‌شود. برای هر سؤالی از چت آنلاین سایت یا ثبت تیکت در پنل کاربری با ما در تماس باشید.