- پیشنیازها و مفروضات
- طراحی شبکه و آدرسدهی
- انتخاب معماری: تکگره یا چندگره (Region-based)
- نمونه پیکربندی پایه (سرور و کلاینت)
- فایروال، NAT و تنظیمات کرنل
- مقیاسپذیری و راهکارهای Load-Balancing / HA
- اندازه سرورها (تخمینی)
- مدیریت کاربران و خودکارسازی (Provisioning)
- مانیتورینگ، لاگ و تست عملکرد
- امنیت، کلیدگذاری و سیاستهای دسترسی
- بکآپ و بازیابی
- تست و Validation
- نکات کاربردی برای تریدرها، گیمرها و تیمهای AI / DevOps
- مثال عملی: تقسیم منطقهای و GeoDNS
- مزایای استفاده از زیرساخت ما در این پیادهسازی
- Resumen y puntos finales
- تماس و انتخاب پلن
- Preguntas frecuentes
پیشنیازها و مفروضات
در این راهنما عملی و فنی، پیادهسازی WireGuard برای ۵۰۰ کاربر همزمان را گامبهگام تشریح میکنیم. موارد زیر بهعنوان پیشفرض درنظر گرفته شدهاند:
- توزیع جغرافیایی کاربران: احتمال توزیع در چند منطقه؛ پیشنهاد استفاده از لوکیشنهای نزدیک به کاربران (از میان ۸۵+ لوکیشن موجود).
- سیستمعامل سرور: Ubuntu 22.04 / Debian 12 / CentOS 8 یا توزیعهای جدید با پشتیبانی از ماژول WireGuard در کرنل.
- نیازهای سختافزاری: بسته به throughput لازم (جزئیات در بخش «اندازه سرورها»).
طراحی شبکه و آدرسدهی
برای خدماتدهی به ۵۰۰ کاربر باید رنج آدرس کافی در نظر گرفته شود. پیشنهاد آدرسدهی داخلی:
- شبکه داخلی WireGuard: 10.10.0.0/23 (قابلیت ~510 هاست؛ مناسب برای 500 کاربر)
- IP اختصاصی سرور در این شبکه: 10.10.0.1
- آدرس کلاینتها: هر کلاینت یک /32 (مثلاً 10.10.0.2 تا 10.10.1.254)
مزیت استفاده از /23: ساده بودن مسیریابی داخلی و امکان گسترش تا ~510 هاست. در صورت پیشبینی رشد بیشتر از /22 یا تقسیم منطقهای استفاده کنید.
انتخاب معماری: تکگره یا چندگره (Region-based)
۱) آرایش تکگره (Single Gateway)
- Adecuado para: کاربران متمرکز جغرافیایی، مصرف ترافیک پایین تا متوسط.
- Ventajas: ساده در پیادهسازی و مدیریت.
- Desventajas: نقطه شکست واحد؛ ممکن است برای ترید/گیمینگ با کاربران پراکنده مناسب نباشد.
۲) آرایش چندگره (Multiple Gateways بر اساس Region)
این مدل برای کاربران پراکنده، نیاز به پینگ پایین، تحمل خطا و حفاظت DDoS مناسب است.
- پیادهسازی: چند سرور WireGuard در لوکیشنهای نزدیک به کاربران (مثلاً اروپا، آمریکا، آسیا). هر سرور میتواند رنج آدرس خاص یا بخشهایی از یک /16 مشترک را ارائه دهد.
- مسیریابی: DNS هوشمند یا GeoDNS برای اتصال کاربر به نزدیکترین Gateway. برای آدرسدهی یکسان و HA میتوان از Anycast + BGP استفاده کرد.
- مقیاسپذیری مثال: تقسیم ۵۰۰ کاربر روی سه سرور بهصورت 200/150/150.
نمونه پیکربندی پایه (سرور و کلاینت)
مراحل تولید کلید و نمونه فایلهای پیکربندی سرور و کلاینت:
sudo apt install wireguard-tools
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client1_private.key | wg pubkey > client1_public.keyنمونه فایل سرور: /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/23
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = sysctl -w net.ipv4.ip_forward=1; iptables -t nat -A POSTROUTING -s 10.10.0.0/23 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.10.0.0/23 -o eth0 -j MASQUERADE
# Per-client peers go below
# [Peer]
# PublicKey = <CLIENT_PUBLIC_KEY>
# AllowedIPs = 10.10.0.2/32نمونه فایل کلاینت (client1.conf):
[Interface]
PrivateKey = <CLIENT_PRIVATE_KEY>
Address = 10.10.0.2/23
DNS = 1.1.1.1
[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = vpn.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25Puntos importantes: Client Address باید در سرور بهصورت /32 لیست شود اما در فایل کلاینت /23 یا /32 قابل استفاده است. مقدار PersistentKeepalive=25 برای کلاینتهای پشت NAT یا موبایل توصیه میشود.
فایروال، NAT و تنظیمات کرنل
تنظیمات پایه برای فعالسازی forwarding، NAT و قواعد شبکه:
sudo sysctl -w net.ipv4.ip_forward=1
# To persist:
# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.confنمونه تنظیمات با nftables:
sudo nft add table nat
sudo nft 'add chain nat postrouting { type nat hook postrouting priority 100 ; }'
sudo nft add rule nat postrouting ip saddr 10.10.0.0/23 oifname "eth0" masqueradeباز کردن پورت UDP برای WireGuard:
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
# Or use nftables equivalent rulesMTU و Fragmentation:
- مقدار MTU پیشفرض WireGuard معمولاً 1420 O 1280 برای اجتناب از fragmentation روی مسیرهای با overhead زیاد.
- تنظیم MTU در کلاینت:
MTU = 1420یا با دستورip link set mtu 1420 dev wg0.
Offloading و Network Tuning:
# Example: disable offloading for testing (use with caution)
sudo ethtool -K eth0 gro off gso off tx offمقیاسپذیری و راهکارهای Load-Balancing / HA
برای ۵۰۰ کاربر با توزیع جغرافیایی و نیاز به پینگ پایین، راهکارهای زیر توصیه میشود:
- تقسیم کاربران بر روی چند Gateway در لوکیشنهای مختلف.
- Anycast + BGP: تبلیغ یک آدرس عمومی از چند منطقه برای هدایت ترافیک به نزدیکترین Gateway.
- HA محلی: استفاده از Keepalived (VRRP) برای IP شناور بین دو سرور WireGuard در یک دیتاسنتر.
- Load balancing برای UDP: گزینهها شامل DNS-based load balancing، Anycast BGP یا UDP-aware LBهای سختافزاری و سرویسهای cloud با L4 UDP proxy هستند.
اندازه سرورها (تخمینی)
- حالت سبک: هر Gateway با 2 vCPU و 4 GB RAM میتواند صدها کلاینت با ترافیک کم سرویس دهد.
- حالت با throughput بالا: برای هر 100-200 کاربر با مصرف متوسط نیاز به 4-8 vCPU و NIC با سرعت 1-10 Gbps دارید. برای ۵۰۰ کاربر پراکنده توصیه میشود چند Gateway با NIC 10Gbps و CPU مناسب (8-16 vCPU) استفاده شود.
- حفاظت DDoS: در صورت نیاز به مقابله با DDoS از سرورهای Anti-DDoS اختصاصی و طراحی Anycast استفاده کنید.
مدیریت کاربران و خودکارسازی (Provisioning)
مدیریت ۵۰۰ کلید و فایل کانفیگ نیازمند خودکارسازی است. گزینهها و ابزارها:
- ابزارهای آماده: wg-easy, wg-access-server, headscale یا استفاده از کتابخانههای wgctrl و اسکریپتهای اختصاصی.
- Infrastructure as Code: استفاده از Ansible/Terraform برای راهاندازی Gatewayها و رولهای فایروال.
- دیتابیس: نگهداری PublicKey، آخرین زمان دسترسی، IP اختصاصی و policyها در PostgreSQL/MySQL.
- API: تولید و دانلود فایلها و عملیات revoke/rotate کلیدها.
- Vault: ذخیره امن کلیدهای خصوصی سرور (مثل Hashicorp Vault).
نمونه اسکریپت ساده افزودن و حذف کاربر:
CLIENT_IP=10.10.0.2
CLIENT_PUB=$(cat client1_public.key)
wg set wg0 peer $CLIENT_PUB allowed-ips $CLIENT_IP/32
# To revoke:
# wg set wg0 peer $CLIENT_PUB removeمانیتورینگ، لاگ و تست عملکرد
ابزارها و روشهای پیشنهادی برای نظارت و تست:
- متریکها: Prometheus + node_exporter + wireguard_exporter و داشبورد Grafana برای نمایش handshake و throughput.
- تحلیل بسته: tcpdump و tshark برای بررسی ترافیک.
- تست throughput: iperf3 بین کلاینت و Gateway.
- تست latency: ping و traceroute مخصوصاً برای تریدرها و گیمرها.
- بررسی handshake: sudo wg show wg0 handshakes
امنیت، کلیدگذاری و سیاستهای دسترسی
نکات کلیدی امنیتی برای یک پیادهسازی با ۵۰۰ کاربر:
- نگهداری کلیدها: کلیدهای خصوصی سرور را با دسترسی محدود ذخیره کنید (umask 077).
- چرخش کلیدها: Key rotation هر 6-12 ماه یا سریعتر در صورت وقوع شک.
- اصل حداقل دسترسی: AllowedIPs را فقط به شبکههای مورد نیاز محدود کنید.
- Registro y auditoría: ثبت وقایع اتصال و نگهداری لاگها مطابق سیاست حفظ حریم خصوصی.
- احراز هویت فایل کانفیگ: استفاده از MFA/Portal یا SSO برای دانلود کانفیگها.
بکآپ و بازیابی
نکات مهم پشتیبانگیری و بازیابی:
- پشتیبانگیری از کلید خصوصی سرور با رمزنگاری (Vault یا KMS).
- مستندسازی mapping کاربر → IP و PublicKey.
- تعریف روند بازیابی برای revoke سریع و صدور کلید جدید.
تست و Validation
پیشنهاد سناریوهای تست پیش از Rollout کامل:
- راهاندازی Gateway تستی با 20-50 کلاینت و اجرای تست بار (iperf3).
- آزمایش قطع یک Gateway و بررسی سوئیچ کاربری در معماری چندگره.
- شبیهسازی حمله DDoS و ارزیابی عملکرد Anti-DDoS و روتینگ Anycast.
نکات کاربردی برای تریدرها، گیمرها و تیمهای AI / DevOps
تریدها: پینگ و پایداری حیاتی است؛ Gateway را در نزدیکترین لوکیشن به بازار معاملاتی قرار دهید و از VPSهای ترید با تاخیر کم استفاده کنید.
Jugadores: انتخاب لوکیشن نزدیک و تنظیم MTU مناسب برای جلوگیری از fragmentation ضروری است.
IA/Renderizado: WireGuard مناسب برای دسترسی امن به کلاسترهای GPU است اما برای انتقال حجمی بهتر است از راهکارهای WAN-optimized استفاده کنید.
DevOps: استفاده از WireGuard برای اتصال امن بین محیطهای CI/CD، سرورهای ابری و شبکههای داخلی توصیه میشود.
مثال عملی: تقسیم منطقهای و GeoDNS
نمونه تقسیم منطقهای:
- eu.example.com (فرانکفورت)
- us.example.com (آمریکا)
- ap.example.com (آسیا)
استفاده از GeoDNS یا CDN DNS با قابلیت Geo-routing باعث هدایت کلاینتها به نزدیکترین Gateway و کاهش پینگ میشود.
مزایای استفاده از زیرساخت ما در این پیادهسازی
- Acceso a Más de 85 ubicaciones en todo el mundo برای استقرار Gateway نزدیک به کاربران.
- قابلیت BGP y Anycast برای توزیع ترافیک و افزایش HA.
- سرورهای Anti-DDoS برای حفاظت Gatewayها.
- ارائه انواع سرور: VPS ترید، VPS گیم، سرورهای ابری با عملکرد بالا و سرورهای گرافیکی.
Resumen y puntos finales
خلاصه: برای ۵۰۰ کاربر بهترین رویکرد تقسیم بار روی چند Gateway منطقهای است؛ هر Gateway با شبکه 10.10.0.0/23 میتواند بخشی از کاربران را سرویس دهد و با GeoDNS/Anycast کارایی و پایداری افزایش مییابد.
خودکارسازی تولید کانفیگها، مدیریت کلیدها و مانیتورینگ الزامی است. پیش از اجرای کامل، تست بار و بررسی MTU/fwd/iptables ضروری است.
تماس و انتخاب پلن
برای راهاندازی حرفهای با پشتیبانی طراحی شبکه، استقرار در ۸۵+ لوکیشن، سرورهای Anti-DDoS و مشاوره در انتخاب پلن مناسب (VPS ترید، VPS گیم، سرور ابری با عملکرد بالا)، اطلاعات بیشتر و گزینههای سرویس را میتوانید مشاهده کرده و با تیم پشتیبانی هماهنگ کنید تا معماری اختصاصی و برآورد هزینه بر اساس نیاز شما تهیه شود.









