VPN شخصی خود را روی VPS فراساحلی اجرا کنید
VPNهای تجاری از شما میخواهند به سیاست بدون لاگ که توسط بخش بازاریابیشان نوشته شده اعتماد کنید. VPS شخصی شما چیزی برای لاگ کردن ندارد جز آنچه خودتان پیکربندی کنید. در اینجا راهاندازی کامل WireGuard — و فهرستی صادقانه از معاوضهها آمده است.
چرا خود-میزبانی از VPN تجاری بهتر است
"بدون لاگ" یک VPN تجاری یک سیاست است. بدون لاگ VPS شخصی شما یک معماری است. این تفاوت از هر نشان ممیزی مهمتر است:
- یک ارائهدهنده VPN همهچیز را ذاتاً میبیند. ترافیک هزاران کاربر روی سرورهایی تمام میشود که شرکت بهطور کامل کنترل میکند. یک دستور مهرومومشده بهعلاوه یک تغییر بیصدا در سیاست لاگگیری برای شما نامرئی است — و قبلاً هم اتفاق افتاده، نزد ارائهدهندگانی که نامشان را شنیدهاید.
- روی VPS شخصی خودتان، کل پشته را کنترل میکنید. sshd شما، دیسک شما، کانفیگ WireGuard شما. ما هیچچیز را داخل مهمان شما اجرا نمیکنیم و هیچ لاگ فعالیت یا اتصالی در سمت شبکه نگه نمیداریم. ما نمیتوانیم داخل VPS شما را ببینیم؛ یک شرکت VPN با دیدن داخل تونلاش تعریف میشود.
- حوزه قضایی به نفع شما کار میکند. خروجی شما جایی که مستقرش میکنید زندگی میکند — خارج از اتحادهای نظارتی اگر انتخاب کنید، تحت قوانین حوزه قضایی میزبان به جای کشور مبدأ شرکت VPN.
و وزن صادقانه مقابل: یک VPN خود-میزبان یک IP اختصاصی دارد که فقط متعلق به شماست. وبسایتها آن را به عنوان VPN پرچم نمیکنند (یک ارتقای واقعی کیفیت زندگی)، اما تمام ترافیک شما یک آدرس مشترک دارد — شما در جمعیت هزاران نفری محو نمیشوید. اگر ناشناس بودن جمعی نیاز است، از Tor استفاده کنید. اگر زیرساخت قابل اعتماد نیاز است، هیچچیز از جعبهای که کنترل میکنید بهتر نیست.
آنچه میسازیم
تلفن و لپتاپ ← تونل WireGuard ← یک SV-Pro در موقعیت انتخابی شما ← اینترنت باز. فوروارد IPv4 با NAT روی سرور، مسیریابی تمام-تونل روی کلاینتها (0.0.0.0/0)، DNS از طریق 9.9.9.9. آدرس IP نمونه سرور در طول متن: 185.220.101.14 — آدرس خودتان را جایگزین کنید. سیستم عامل پایه Debian 13 است؛ اگر هنوز جعبه را سختسازی نکردهاید، اول چکلیست ۳۰ دقیقهای را انجام دهید، سپس برگردید.
راهاندازی سرور روی Debian 13
نصب و تولید کلیدها
apt update && apt install -y wireguard qrencode
cd /etc/wireguard
umask 077
# server keypair
wg genkey | tee server.key | wg pubkey > server.pub
# one keypair per client device (laptop shown; repeat for phone)
wg genkey | tee laptop.key | wg pubkey > laptop.pub
تولید کلیدهای کلاینت روی سرور برای راهاندازی اولیه قابل قبول است چون به هر حال کانفیگها را از طریق SSH منتقل میکنید. برای بهداشت سختگیرانهتر، کلیدها را روی هر دستگاه تولید کنید و فقط کلیدهای عمومی را در کانفیگ سرور قرار دهید.
نوشتن wg0.conf
# /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# laptop
[Peer]
PublicKey = <contents of laptop.pub>
AllowedIPs = 10.10.0.2/32
# phone — repeat the block with 10.10.0.3/32
نام رابط uplink خود را با ip route | grep default بررسی کنید — روی تصاویر VPSRento eth0 است، اما اگر متفاوت بود، خطوط MASQUERADE را تنظیم کنید.
فعالسازی فوروارد و شروع
# turn on IPv4 forwarding, persist across reboots
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl -p /etc/sysctl.d/99-wireguard.conf
# firewall: one UDP port, nothing else
ufw allow 51820/udp comment 'WireGuard'
# bring it up, now and on boot
systemctl enable --now wg-quick@wg0
wg show
wg show باید رابط، پورت شنود و همتاهای شما را چاپ کند. هنوز خطوط handshake وجود ندارد — وقتی کلاینتی متصل شود ظاهر میشوند.
پیکربندی کلاینت
روی لپتاپ، laptop.conf:
[Interface]
PrivateKey = <contents of laptop.key>
Address = 10.10.0.2/32
DNS = 9.9.9.9
[Peer]
PublicKey = <contents of server.pub>
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 185.220.101.14:51820
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0, ::/0 همه چیز را از طریق تونل مسیریابی میکند — بعداً اگر خواستید میتوانید آن را به تونل تقسیمشده تغییر دهید. PersistentKeepalive مسیر را از میان NAT خانگی زنده نگه میدارد. برای گوشی چیزی تایپ نکنید: فایل پیکربندی گوشی را روی سرور بسازید و آن را بهصورت کد QR در ترمینال نمایش دهید:
# prints a scannable QR in the terminal — scan it with the WireGuard app
qrencode -t ansiutf8 < phone.conf
فعال کنید، سپس از هر کلاینت بررسی کنید: curl ifconfig.me باید با IP سرور VPS شما پاسخ دهد، و تست نشت DNS باید نشان دهد که اپراتور 9.9.9.9 است — نه ISP شما.
یادداشتهای عملکرد
WireGuard در هسته زندگی میکند و از ChaCha20 استفاده میکند — روی گرههای AMD EPYC، یک تونل واحد بهطور واقعبینانه ۶۰۰–۹۰۰ مگابیت بر ثانیه از میان NAT، یعنی پورت را خیلی قبل از آنکه CPU تحت فشار قرار گیرد اشباع میکند. محدودیت اصلی هرگز رمزنگاری نیست؛ شرایط پهنای باند پلن است. VPN پهنای باندِ خالص است: هر گیگابایتی که دانلود میکنید یک بار ورودی و یک بار خروجی حساب میشود. در پلنهای حجمی این حسابوکتاب مهم است. در SV-Pro — $19.99/ماه، بدون محدودیت حجم با سرعت ۱ گیگابیت بر ثانیه — این موضوع بیاهمیت است، به همین دلیل SV-Pro پلنی است که به سازندگان VPN پیشنهاد میدهیم. یک مشتری یک راهاندازی کامل خانوادگی را روی یک SV-Pro در آمستردام اجرا میکند و هنوز به سقف آن نرسیده است.
چند-hop: ورود در آمستردام، خروج در ریکیاویک
برای لایه دوم، دو VPS را در حوزههای قضایی مختلف زنجیره کنید. گره ورودی در هلند (تأخیر کم برای شما)، تونل WireGuard بین دو سرور، گره خروجی در ایسلند (حوزه قضایی که میخواهید ترافیک شما از آنجا شروع شود). دستگاههای شما یک نقطه پایانی در آمستردام میبینند؛ اینترنت یک IP در ریکیاویک میبیند؛ گره ورودی فقط متن رمزگذاریشده عبوری میبیند. از نظر فنی همان کانفیگهایی است که نوشتید، دو بار — یک رابط wg دوم روی گره ورودی که مسیر پیشفرض آن به تونل خروجی اشاره میکند. هزینه تقریباً ۴۰–۶۰ میلیثانیه تأخیر اضافه و یک $5.99–6.89 VPS بیشتر است. وقتی مدل تهدید شما بودجه دارد ارزشش را دارد؛ وقتی ندارد فقط تزئین است.
محدودیتهای صادقانه
- حالا شما اپراتور هستید. بهروزرسانیها، چرخش کلید و آپتایم با شماست. unattended-upgrades و چکلیست سختسازی بیشتر آن را پوشش میدهند؛ بقیه یک apt upgrade گاهبهگاه در یکشنبه است.
- یک IP یک هویت است. ناظران میتوانند همه چیز خروجی از آدرس شما را مرتبط کنند. وقتی مهم است، در مکان دیگری مستقر کنید — ۵۵ ثانیه بعد یک خروجی تازه و یک IP تازه دارید که در برابر ۴۰+ لیست سیاه بررسی شده است.
- VPS تور نیست. این راهاندازی شما را از ISP، وایفای خصمانه و شرکتهای VPN محافظت میکند. در برابر یک دشمن سطح دولت که هر دو سر تونل را تماشا میکند، همبستگی زمانی وجود دارد. بدانید در چه جنگی هستید.