چرا VPN WireGuard خودتان را اجرا کنید
یک VPN تجاری از شما میخواهد به شرکتی اعتماد کنید که قادر به حسابرسی آن نیستید. پول میپردازید، تمام ترافیکتان را از سرورهای آنها عبور میدهید، و فقط به ادعایشان درباره نگهنداشتن لاگ تکیه میکنید. یک VPN خودمیزبان این معادله را وارونه میکند: یک سرور اجاره میکنید، VPN را خودتان نصب میکنید، و تنها طرفی که میتواند ترافیک شما را ببیند خودتان هستید. هیچ ارائهدهندهای در میانه نیست که آن را لاگ کند، بفروشد، یا مجبور به ارائه به مراجع قضایی شود.
WireGuard چیزی است که این کار را عملی میسازد. یک پروتکل VPN مدرن است که کوچک، سریع و ساده است — چند هزار خط کد به جای صدها هزار خط در پشتههای قدیمیتر، که آن را آسان برای حسابرسی و سخت برای پیکربندی اشتباه میسازد. روی یک VPS معمولی، اتصال را با حداقل مصرف CPU اشباع میکند. در کنار یک VPS بدون احراز هویت و برونمرزی، یک تونل WireGuard خودمیزبان یک نقطه خروج خصوصی به شما میدهد که متعلق به هیچکس جز شما نیست — و این راهنما آن را از صفر میسازد.

چه چیزی نیاز دارید
تمام راهاندازی به یک سرور و حدود پانزده دقیقه نیاز دارد:
- یک VPS. حتی کوچکترین پلن هم کافی است — WireGuard بسیار سبک است. حوزه قضایی که میخواهید ترافیکتان از آنجا به نظر برسد را انتخاب کنید. یک VPS از ServPrivacy از $7.50/mo با دسترسی root کامل بیش از کافی است.
- یک نصب لینوکس تازه. هر نسخه اخیر Debian یا Ubuntu مناسب است؛ دستورات زیر یکی از آنها را فرض میکنند. توزیعهای دیگر فقط در مرحله نصب پکیج تفاوت دارند.
- دسترسی root یا sudo و چند دقیقه در خط فرمان.
به دامنه، کنترل پنل، یا هیچ نرمافزار VPN شخص ثالثی نیاز ندارید. WireGuard مستقیماً درون هسته مدرن لینوکس جای دارد.
مرحله ۱ — نصب WireGuard روی سرور
از طریق SSH به VPS متصل شوید و ابزارهای WireGuard را نصب کنید. روی Debian یا Ubuntu این یک دستور است: apt update && apt install -y wireguard. ماژول هسته روی هر کرنل مدرن از پیش موجود است، بنابراین فقط ابزارهای فضای کاربری — wg و wg-quick — که برای مدیریت تونلها استفاده میشوند نصب میشوند.
همین است. نصب کامل شد. هیچ daemon جداگانهای برای پیکربندی، هیچ حسابی برای ایجاد، و هیچ چیز اضافهای برای بهروز نگهداشتن فراتر از بهروزرسانیهای عادی سیستم وجود ندارد.
مرحله ۲ — تولید کلید و نوشتن پیکربندی سرور
WireGuard همتاها را با رمزنگاری کلید عمومی احراز هویت میکند، پس اولین کار یک جفت کلید برای سرور است. با wg genkey | tee server_private.key | wg pubkey > server_public.key یکی تولید کنید. کلید خصوصی روی سرور میماند و هرگز به اشتراک گذاشته نمیشود؛ کلید عمومی به هر کلاینت داده میشود.
سپس، پیکربندی تونل را در /etc/wireguard/wg0.conf ایجاد کنید. بخش سرور محدوده آدرس خصوصی تونل، پورتی که WireGuard روی آن گوش میدهد (به طور پیشفرض 51820)، و کلید خصوصی سرور را تعریف میکند. هر دستگاهی که بعداً متصل میکنید به عنوان یک بلوک [Peer] که حاوی کلید عمومی آن کلاینت و آدرسش درون تونل است اضافه میشود. فایل را فقط برای root قابل خواندن نگه دارید — حاوی کلید خصوصی سرور است.
پیکربندی عمداً کوتاه است. یک پیکربندی سرور کارکردی زیر بیست خط است، که بخشی از دلیل سخت بودن خطای خطرناک در WireGuard است.
مرحله ۳ — فعالسازی فوروارد و باز کردن پورت
برای اینکه VPN ترافیک شما را به اینترنت هدایت کند، سرور باید بستهها را فوروارد کند. با تنظیم net.ipv4.ip_forward=1 در /etc/sysctl.conf و اعمال آن با sysctl -p، IP forwarding را فعال کنید. پیکربندی تونل همچنین نیاز به یک قانون فایروال دارد که ترافیک خروجی را masquerade کند تا با آدرس سرور خارج شود — این معمولاً به عنوان یک خط PostUp در wg0.conf اضافه میشود تا به طور خودکار هنگام شروع تونل اعمال شود.
سپس مطمئن شوید که پورت WireGuard قابل دسترس است. اگر VPS یک فایروال اجرا میکند، UDP روی پورت انتخابیتان (به طور پیشفرض 51820) را مجاز کنید. WireGuard فقط از UDP استفاده میکند و — مفید برای حریم خصوصی — اصلاً به بستههای ناخواسته پاسخ نمیدهد، پس یک port scan حتی نمیتواند وجود سرویس را تأیید کند.
تونل را با wg-quick up wg0 راه بیاندازید، و آن را در بوت با systemctl enable wg-quick@wg0 فعال کنید. سمت سرور اکنون آماده است.
مرحله ۴ — افزودن کلاینت و اتصال
هر دستگاهی که از VPN استفاده میکند — یک لپتاپ، یک تلفن — به جفت کلید خودش و یک پیکربندی کلاینت کوچک نیاز دارد. یک جفت کلید برای کلاینت دقیقاً مثل سرور تولید کنید، سپس یک پیکربندی کلاینت حاوی کلید خصوصی کلاینت، آدرس تونلش، کلید عمومی سرور، IP عمومی و پورت سرور به عنوان Endpoint، و یک AllowedIPs از 0.0.0.0/0 بنویسید تا تمام ترافیک از طریق تونل هدایت شود.
بلوک [Peer] مطابق — با کلید عمومی کلاینت — را به wg0.conf سرور اضافه کنید و reload کنید. روی کلاینت، اپ WireGuard را نصب کنید (برای تمام پلتفرمهای دسکتاپ و موبایل موجود است)، پیکربندی را وارد کنید — بیشتر اپها یک QR code میپذیرند، سادهترین روش برای تلفنها — و تونل را روشن کنید. در یک ثانیه ترافیک دستگاه شما از طریق VPS شما خارج میشود. با بررسی آدرس IP عمومیتان تأیید کنید: باید اکنون آدرس سرور باشد.
مرحله ۵ — سختسازی و نگهداری
یک تونل کارکردی بیشتر کار است؛ چند لمس نهایی آن را محکم میکند:
- SSH را قفل کنید. از ورود مبتنی بر کلید استفاده کنید، احراز هویت با رمز عبور را غیرفعال کنید، و SSH را از پورت 22 منتقل کنید. VPN به اندازه سروری که روی آن اجرا میشود خصوصی است.
- سیستم را بهروز نگه دارید. WireGuard خودش توجه کمی نیاز دارد، اما OS زیرین باید بهروزرسانیهای امنیتی دریافت کند — بهروزرسانیهای خودکار را فعال کنید.
- یک جفت کلید به ازای هر دستگاه. هرگز یک پیکربندی کلاینت واحد را بین دستگاهها به اشتراک نگذارید. اگر دستگاهی گم شد، فقط بلوک peer آن را حذف میکنید به جای اینکه همه چیز را مجدداً کلیدگذاری کنید.
- DNS را در پیکربندی کلاینت تنظیم کنید. کلاینت را به یک resolver محترم به حریم خصوصی اشاره دهید تا درخواستهای DNS هم از تونل عبور کنند نه اینکه به شبکه محلی نشت پیدا کنند.
- به پیشفرضها در مورد لاگگیری اعتماد کنید. WireGuard هیچچیز درباره ترافیکی که حمل میکند ذخیره نمیکند؛ چیزی درباره آنچه عبور میکند لاگ نمیشود، پس هیچ چیز اضافهای برای غیرفعال کردن وجود ندارد.
با این نگهداری، سرور تقریباً به هیچ توجه مستمری نیاز ندارد — WireGuard نزدیک به راهاندازی و فراموش کردن است.
وقتی یک VPN خودمیزبان انتخاب درستی است
یک VPN WireGuard خودمیزبان انتخاب مناسبی است وقتی یک نقطه خروج خصوصی میخواهید که فقط به شما پاسخگو باشد — برای ایمنسازی اتصالتان روی شبکههای ناامن، برای دور نگهداشتن مرور وب از ISP، یا برای نمایش از یک حوزه قضایی انتخابی. چون سرور شماست، هیچ آدرس IP مشترک با هزاران غریبه و هیچ سیاست لاگگیری ارائهدهندهای برای اعتماد ندارید.
ارزش دارد در مورد یک چیزی که انجام نمیدهد صریح باشیم: یک VPN تکسروری از ISP و از سایتهایی که بازدید میکنید حریم خصوصی میدهد، اما ارائهدهنده VPS میتواند در اصل ترافیک را در نقطه خروج مشاهده کند. دقیقاً به همین دلیل انتخاب هاست اهمیت دارد — یک VPS بدون احراز هویت، بدون لاگ، و برونمرزی یعنی نقطه خروج خودش توسط ارائهدهندهای نگهداری میشود که هیچ هویتی جمعآوری نکرده و هیچ سابقهای نگه نمیدارد. WireGuard خودمیزبان به علاوه VPS مناسب، برای اکثر مردم، صادقانهترین راهاندازی حریم خصوصی موجود است: هیچ اعتمادی فراتر از زیرساختی که کنترل میکنید لازم نیست.