WireGuard سریعترین و سبکترین روش برای اجرای VPN خودتان است. در هسته Linux قرار دارد، از رمزنگاری مدرن استفاده میکند، و یک تونل کارکرد یک فایل پیکربندی کوتاه در هر طرف است. میزبانی آن در یک VPS به معنای کنترل نقطه خروج از سر تا ته است: هیچ سرور تجاری مشترکی ترافیک شما را ثبت نمیکند، و تنها طرفی که IP واقعی شما را میبیند میزبانی است که انتخاب کردید.
این راهنما یک سرور کامل را در تقریباً ده دقیقه، با دستورات واقعی که میتوانید کپی کنید، دنبال میکند. ما فرض میکنیم یک سرور تازه Debian یا Ubuntu LTS با دسترسی root دارید. اگر هنوز یکی را مستقر نکردهاید، یک VPS no-KYC پرداختشده با ارز دیجیتال به طور طبیعی با یک VPN خود-میزبان جفت میشود، و سطح ورودی ما بیش از کافی است. در پایان یک تونل خواهید داشت که با هر راهاندازی مجدد برمیگردد و یک پیکربندی کلاینت که میتوانید روی تلفن خود به عنوان کد QR اسکن کنید.
چرا WireGuard را به جای خرید VPN خود میزبانی کنیم
یک VPN تجاری راحتی و یک مجموعه بزرگ از IPهای خروجی میدهد، اما شما به یک طرف سوم اعتماد میکنید که ثبت نکند و سیاست حریم خصوصی آنها واقعی باشد. یک نقطه پایانی WireGuard خود-میزبان این را معکوس میکند: شما دستگاه را مالک هستید، پیکربندی را مینویسید، و تصمیم میگیرید که آیا چیزی ثبت شود یا نه. هیچ آدرس خروجی مشترکی با هزاران غریبه وجود ندارد، که همچنین به معنای این است که هیچ یک از تاریخچه سوءاستفاده آنها به شما نمیرسد.
مبادله صادقانه است: ارائهدهنده VPS هنوز میتواند ببیند که یک IP وجود دارد و ترافیک هدایت میکند، بنابراین خود-میزبانی اعتماد را از یک برند VPN به میزبان شما منتقل میکند. دقیقاً به همین دلیل است که ارزش دارد آن را روی یک VPS آفشور no-KYC در یک حوزه قضایی مراقب حریم خصوصی اجرا کنید، بدون دادن هویتتان پرداخت کنید. این همچنین دلیلی است که ما میگوییم خصوصی، نه ناشناس: یک تونل خود-میزبان وضعیت شما را بهبود میبخشد، اما ناشناس بودن واقعی هنوز به بهداشت پرداخت و شبکه خودتان بستگی دارد. برای موارد گستردهتر، مرور کلی ما از اجرای یک VPS برای VPN را ببینید.
کدام سطح را برای یک VPN شخصی انتخاب کنیم
WireGuard از نظر منابع به طرز قابل توجهی سبک است. یک هسته CPU و 1 GB RAM اکثر اتصالات خانگی را اشباع میکند، و کار رمزنگاری در هسته اتفاق میافتد نه در یک daemon سنگین در فضای کاربری. برای یک نفر یا چند دستگاه، سطح Pup (1 vCPU، 1 GB RAM، 25 GB NVMe) کافی است، و مانند هر سطحی با ترافیک نامحدود ارائه میشود تا یک VPN سقف اندازهگیریشدهای را نسوزاند.
فقط در صورتی که بار اضافه میکنید ارتقا دهید. چند عضو خانواده در همان تونل با Pup یا Cub خوب هستند؛ اگر میخواهید سرویسهای دیگری را هم میزبانی کنید، چند کانتینر اجرا کنید، یا چندین جریان سنگین همزمان ارائه دهید، برای هستهها و RAM اضافی به Scout یا Runner بروید. مکان برای یک VPN به اندازه اندازه اهمیت دارد: بر اساس تأخیر و حوزه قضایی انتخاب کنید، که ما در ادامه آن را پوشش میدهیم. میتوانید با Monero یا هر ارز پشتیبانیشدهای پرداخت کنید، و یک سرور در حدود شصت ثانیه بدون هزینه راهاندازی مستقر میشود.
مرحله ۱ — WireGuard را نصب کنید
WireGuard در هسته Linux مدرن ارائه میشود، بنابراین نصب فقط ابزارهای فضای کاربری است. روی Debian یا Ubuntu LTS، ایندکس بسته را تازه کرده و بسته را به عنوان root نصب کنید:
apt update && apt install -y wireguard
این wg و wg-quick، دو دستوری که برای مدیریت تونل استفاده خواهید کرد، را نصب میکند. روی AlmaLinux، Rocky یا Fedora معادل آن dnf install -y wireguard-tools است. قبل از ادامه با wg --version وجود آن را تأیید کنید.
مرحله ۲ — کلیدهای سرور و کلاینت را تولید کنید
WireGuard peers را با جفت کلیدهای Curve25519 احراز هویت میکند، نه رمزهای عبور. ابتدا دایرکتوری را محدود کنید، سپس یک جفت کلید برای سرور و یکی برای هر دستگاه کلاینت تولید کنید. به عنوان root اجرا کنید:
umask 077; cd /etc/wireguard
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client_private.key | wg pubkey > client_public.key
اکنون چهار فایل دارید. دو کلید عمومی بین peers تبادل میشوند؛ دو کلید خصوصی هرگز دستگاهی را که متعلق به آن هستند ترک نمیکنند. آنها را با cat server_private.key و غیره چاپ کنید هنگامی که پیکربندی را در مرحله بعد پر میکنید. یک جفت کلید کلاینت تازه در هر دستگاه تولید کنید به جای استفاده مجدد از یکی در تلفن و لپتاپ.
مرحله ۳ — /etc/wireguard/wg0.conf را بنویسید
پیکربندی اینترفیس سرور را در /etc/wireguard/wg0.conf ایجاد کنید. این زیرشبکه تونل (اینجا 10.0.0.0/24)، پورت listen و یک قانون NAT را تعریف میکند تا ترافیک کلاینت از طریق اینترفیس عمومی سرور مسیریابی شود. SERVER_PRIVATE_KEY و CLIENT_PUBLIC_KEY را با مقادیر مرحله ۲ جایگزین کنید، و نام NIC عمومی خود را با ip route get 1.1.1.1 تأیید کنید (اغلب eth0 یا ens3):
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32سرور 10.0.0.1 است؛ اولین کلاینت 10.0.0.2 خواهد بود. هر دستگاه اضافی یک بلاک [Peer] خود و آدرس بعدی در محدوده را دریافت میکند.
مرحله ۴ — IP forwarding را فعال کنید و فایروال را باز کنید
برای اینکه سرور ترافیک کلاینت را به اینترنت هدایت کند، هسته باید بستهها را ارسال کند. آن را به صورت دائمی فعال کنید و هماکنون اعمال کنید:
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf && sysctl -p
سپس پورت WireGuard را باز کنید. WireGuard به طور پیشفرض روی UDP 51820 گوش میدهد. اگر از UFW استفاده میکنید:
ufw allow 51820/udp && ufw allow OpenSSH
همیشه پورت SSH خود را در همان نفس مجاز کنید تا هنگام فعال کردن فایروال قفل نشوید. هر VPS VPSCrypto با یک IPv4 اختصاصی و IP تمیز و یک IPv6 /64 ارائه میشود، بنابراین این قانون UDP واحد تنها قرار گرفتن در معرض ورودیای است که VPN شما نیاز دارد.
مرحله ۵ — تونل را بالا بیاورید و آن را در راهاندازی فعال کنید
اینترفیس را با ابزار کمکی که پیکربندی شما را میخواند شروع کنید، سپس واحد systemd را فعال کنید تا از راهاندازیهای مجدد زنده بماند:
wg-quick up wg0
systemctl enable wg-quick@wg0
با wg show تأیید کنید که اینترفیس زنده و در حال گوش دادن است، که اینترفیس، کلید عمومی آن و پورت listen را چاپ میکند. در این مرحله طرف سرور تمام شده است؛ تنها چیزی که باقی میماند نشان دادن یک کلاینت به آن است. اگر بعداً wg0.conf را تغییر دادید، آن را به صورت تمیز با wg-quick down wg0 && wg-quick up wg0 اعمال کنید.
مرحله ۶ — دستگاه کلاینت خود را پیکربندی کنید
روی لپتاپ یا تلفن خود، برنامه یا بسته رسمی WireGuard را نصب کنید و یک تونل از این پیکربندی ایجاد کنید. از کلید خصوصی کلاینت از مرحله ۲ و کلید عمومی سرور استفاده کنید. Endpoint کلاینت به سادگی IP عمومی سرور شما به دنبال پورت UDP WireGuard است، برای مثال 203.0.113.10:51820:
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25تنظیم AllowedIPs به 0.0.0.0/0, ::/0 همه ترافیک را از طریق تونل هدایت میکند. روی موبایل، یک کد QR از این فایل با qrencode -t ansiutf8 < client.conf روی سرور تولید کنید و آن را در برنامه اسکن کنید. تونل را فعال کنید، سپس IP قابل مشاهده خود را بررسی کنید — اکنون باید IP سرور باشد. خط PersistentKeepalive اتصال را پشت NAT زنده نگه میدارد.
نکات سختسازی
یک تونل کارکرد شروع است، نه پایان. کلیدها را به صورت دورهای با بازسازی یک جفت کلید کلاینت و تعویض کلید عمومی در بلاک [Peer] سرور تغییر دهید. یک جفت کلید جداگانه در هر دستگاه نگه دارید تا بتوانید یکی را بدون اخلال در دیگران لغو کنید — برای لغو، به سادگی بلاک آن peer را حذف کنید و پیکربندی را مجدداً اعمال کنید.
- ثبت رویداد غیر ضروری را غیرفعال کنید. WireGuard خودش به طور پیشفرض ساکت است؛ لاگهای SSH و سیستم خود را بررسی کنید و نگهداری را در صورتی که ردپای حداقلی برایتان مهم است کاهش دهید.
- SSH را محدود کنید با احراز هویت فقط کلید و در نظر بگیرید آن را از پورت 22 منتقل کنید؛ آن پورت را در UFW مجاز نگه دارید قبل از فعال کردن فایروال.
- حوزه قضایی را با دقت انتخاب کنید. مکان سرور اکنون وضعیت حریم خصوصی VPN شما است. سوئیس تحت FADP و ایسلند با سنت آزادی مطبوعاتش انتخابهای قوی هستند؛ هلند و فرانسه بخشی از آن را با تأخیر کمتر EU مبادله میکنند.
برای عملیات جاری و مدیریت اطلاعات ورود، مستندات ما DNS معکوس، IPv6 و ویژگیهای پنل را به تفصیل پوشش میدهد.
VPS در مقابل VPN تجاری — چه زمانی خود-میزبانی منطقی است
خود-میزبانی برنده است وقتی میخواهید یک IP اختصاصی، کنترل کامل بر ثبت رویداد، و یک تونل که هیچ ارائهدهندهای آن را به هزاران کاربر بازاریابی نمیکند. برای دسترسی به سرویسهای خودتان، دریافت یک آدرس ثابت برای لیستهای مجاز، یا صرفاً عدم اعتماد به ادعای no-logs یک شرکت VPN ایدهآل است. هزینه این است که شما آن را نگهداری میکنید، و یک IP خروجی خود-میزبان برای آمیختن در جمعیت طراحی نشده به شکلی که مخزن مشترک یک VPN تجاری هست.
VPNهای تجاری در راحتی، پرش بین کشورها و انکار قابل قبول IP مشترک برنده هستند. برای اکثر کاربران آگاه به حریم خصوصی که میخواهند یک نقطه پایانی مورد اعتماد که واقعاً مالک آن هستند، یک VPS کوچک که WireGuard اجرا میکند پاسخ بهتری است — و پرداخت آن از طریق یک پرداخت no-KYC با ارز دیجیتال راهاندازی را از سر تا ته سازگار نگه میدارد. اگر هنوز رویکرد را میسنجید، مرور کلی VPS-برای-VPN ما هر دو را با عمق بیشتری مقایسه میکند.
پرسشهای متداول
برای یک VPN شخصی WireGuard به چه مقدار VPS نیاز دارم؟
بسیار کم. WireGuard در هسته اجرا میشود و از CPU و حافظه سبک است، بنابراین سطح Pup ما (1 vCPU، 1 GB RAM، 25 GB NVMe) با ترافیک نامحدود یک VPN شخصی را به راحتی مدیریت میکند. فقط در صورتی که چندین کاربر اضافه میکنید یا سرویسهای دیگری را هم میزبانی میکنید به Scout یا Runner ارتقا دهید.
WireGuard از چه پورتی استفاده میکند؟
به طور پیشفرض روی UDP 51820 گوش میدهد. آن را در فایروال خود با ufw allow 51820/udp باز کنید و تمام است. میتوانید ListenPort را در wg0.conf تغییر دهید اگر پورت دیگری ترجیح میدهید، اما یادتان باشد که قانون تطبیقدهنده را باز کنید و Endpoint کلاینت را بهروز کنید.
آیا یک VPN WireGuard خود-میزبان از یک VPN تجاری خصوصیتر است؟
میتواند باشد، چون شما به تنهایی نقطه پایانی و اینکه آیا چیزی ثبت شود را کنترل میکنید — هیچ خروجی مشترک و هیچ ادعای no-logs فروشندهای برای ایمان آوردن وجود ندارد. مبادله این است که میزبان VPS شما IP را میبیند، بنابراین افزایش حریم خصوصی به انتخاب یک میزبان no-KYC در یک حوزه قضایی قوی و پرداخت خصوصی بستگی دارد. این یک بهبود واقعی است، نه ضمانت ناشناس بودن.
آیا میتوانم WireGuard و سرویسهای دیگر را روی همان VPS اجرا کنم؟
بله. WireGuard سبک است و به راحتی با سایر بارهای کاری همزیستی میکند. برای یک VPN شخصی به علاوه یک سایت کوچک یا چند کانتینر، Pup یا Cub مناسب است؛ برای سرویسهای سنگینتر که کنار تونل اجرا میشوند، برای هستهها و RAM اضافی به سطح Scout یا Runner ارتقا دهید.

