مجله وایرمارت

ساخت سرور وایرگارد شخصی رایگان: راهنمای جامع و آسان

ساخت سرور وایرگارد شخصی رایگان: راهنمای جامع و آسان

در دنیای امروز که دسترسی آزاد و بدون محدودیت به اینترنت به یک چالش بزرگ تبدیل شده است، یافتن راهکاری قابل اعتماد، امن و سریع از اهمیت بالایی برخوردار است. بسیاری از کاربران به دنبال روش‌هایی هستند که بتوانند بدون وابستگی به سرویس‌دهنده‌های عمومی VPN، تجربه اینترنتی شخصی‌سازی شده و ایمن را تجربه کنند. در این میان، پروتکل وایرگارد (WireGuard) به دلیل سادگی، سرعت و امنیت فوق‌العاده‌اش، به یکی از محبوب‌ترین گزینه‌ها برای ساخت سرورهای VPN شخصی تبدیل شده است.

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

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

فهرست محتوا

وایرگارد چیست و چرا باید سرور شخصی خود را داشته باشیم؟

وایرگارد: انقلابی در دنیای VPNها

وایرگارد (WireGuard) یک پروتکل VPN مدرن، ساده و بسیار کارآمد است که در مقایسه با پروتکل‌های قدیمی‌تر مانند OpenVPN و IPSec، مزایای چشمگیری دارد. این پروتکل با بهره‌گیری از رمزنگاری پیشرفته و کدهای مختصر، نه تنها امنیتی بی‌نظیر را فراهم می‌کند، بلکه سرعت و پایداری فوق‌العاده‌ای را نیز به ارمغان می‌آورد. حجم کم کد وایرگارد، آن را برای بررسی‌های امنیتی آسان‌تر کرده و احتمال وجود باگ‌ها را به شدت کاهش می‌دهد.

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

چرا سرور وایرگارد شخصی، نه سرویس‌های عمومی؟

استفاده از سرویس‌های VPN عمومی، اگرچه راه حلی سریع و آسان به نظر می‌رسد، اما همیشه با نگرانی‌هایی در مورد حریم خصوصی و امنیت همراه است. در اینجا به دلایلی می‌پردازیم که چرا داشتن یک سرور وایرگارد شخصی می‌تواند انتخاب بهتری باشد:

  • حریم خصوصی مطلق: در یک سرور شخصی، تنها شما کنترل داده‌ها و ترافیک خود را دارید. برخلاف بسیاری از سرویس‌های VPN عمومی که ممکن است لاگ‌های فعالیت کاربران را ذخیره کنند، سرور شخصی شما کاملاً خصوصی است و هیچ شخص ثالثی به اطلاعات شما دسترسی ندارد. این امر آرامش خاطر بیشتری را برای شما به ارمغان می‌آورد.
  • امنیت بالاتر و کاهش ریسک: با راه‌اندازی سرور خودتان، شما از پتانسیل آسیب‌پذیری‌هایی که ممکن است در سرورهای مشترک وجود داشته باشد دوری می‌کنید. شما تنها کسی هستید که به سرور دسترسی دارید و می‌توانید تنظیمات امنیتی را مطابق با نیازهای خود پیکربندی کنید. این کنترل کامل، لایه امنیتی بالاتری را فراهم می‌آورد.
  • عملکرد بهینه و اختصاصی: ترافیک شما با دیگر کاربران به اشتراک گذاشته نمی‌شود، بنابراین نیازی به رقابت بر سر پهنای باند و منابع سرور ندارید. این بدان معناست که سرعت و پایداری اتصال شما به حداکثر می‌رسد. شما می‌توانید موقعیت مکانی سرور (VPS) را بر اساس نیاز خود انتخاب کنید؛ مثلاً برای کاهش پینگ در بازی‌ها، سروری نزدیک‌تر به سرور بازی انتخاب کنید یا برای دسترسی به محتوای خاص، سروری در منطقه جغرافیایی مورد نظر برگزینید.
  • کاهش پینگ در بازی‌ها: گیمرها به خوبی می‌دانند که هر میلی‌ثانیه در بازی‌های آنلاین اهمیت دارد. با یک سرور وایرگارد شخصی که بهینه‌سازی شده و در موقعیت مکانی مناسب قرار گرفته است، می‌توانید تاخیر (پینگ) را به طور قابل توجهی کاهش دهید و از تجربه‌ی بازی روان‌تر و بدون لگ لذت ببرید. این ویژگی، یکی از مهمترین دلایلی است که بسیاری از گیمرها به دنبال راه‌اندازی سرورهای شخصی خود هستند.
  • دور زدن محدودیت‌ها با IP اختصاصی: با سرور شخصی خود، شما یک IP اختصاصی دارید که می‌توانید برای دسترسی بدون محدودیت به سایت‌ها و سرویس‌هایی که فیلتر شده‌اند یا محدودیت جغرافیایی دارند، از آن استفاده کنید. این کنترل، آزادی عمل بیشتری را در فضای آنلاین برای شما فراهم می‌کند.
  • کنترل کامل بر ترافیک: شما می‌توانید تصمیم بگیرید که کدام بخش از ترافیک شما از طریق VPN عبور کند و کدام بخش مستقیماً به اینترنت متصل شود. این انعطاف‌پذیری به شما امکان می‌دهد تا مصرف داده و سرعت را برای هر فعالیت بهینه کنید.

انتخاب یک سرور وایرگارد شخصی به معنای سرمایه‌گذاری بر روی آزادی، امنیت و عملکرد اینترنتی شماست. این رویکرد، کنترل کامل را به دستان شما می‌سپارد و شما را از محدودیت‌ها و نگرانی‌های سرویس‌های عمومی رها می‌کند.

پیش‌نیازهای ساخت سرور وایرگارد شخصی رایگان

برای شروع به کار و راه‌اندازی سرور وایرگارد شخصی خود، به چند پیش‌نیاز اساسی نیاز دارید. این بخش به تفصیل این پیش‌نیازها را بررسی می‌کند تا مطمئن شوید همه چیز برای شروع آماده است.

انتخاب و آماده‌سازی VPS (سرور مجازی خصوصی)

سرور مجازی خصوصی یا VPS (Virtual Private Server)، ستون فقرات سرور وایرگارد شما خواهد بود. VPS اساساً یک بخش اختصاصی و مجازی از یک سرور فیزیکی بزرگ‌تر است که منابع خاصی (CPU، RAM، فضای ذخیره‌سازی و پهنای باند) را به شما اختصاص می‌دهد. این به شما امکان می‌دهد تا سیستم عامل خود را نصب کرده و آن را به طور کامل مدیریت کنید. برای راه‌اندازی یک سرور وایرگارد، به یک VPS با مشخصات حداقلی نیاز دارید که قادر به اجرای یک توزیع لینوکس باشد.

گزینه‌های VPS “رایگان” یا کم‌هزینه:

در حالی که عنوان مقاله به “سرور رایگان” اشاره دارد، مهم است که درک کنیم مفهوم “رایگان” در اینجا بیشتر به نرم‌افزار وایرگارد (که اوپن سورس و رایگان است) برمی‌گردد. خود VPS معمولاً هزینه‌ای دارد، اما گزینه‌هایی برای شروع رایگان یا بسیار کم‌هزینه نیز وجود دارند که می‌توانید از آن‌ها برای تست و یادگیری استفاده کنید:

  • Oracle Free Tier: اوراکل یک لایه رایگان سخاوتمندانه ارائه می‌دهد که شامل دو نمونه پردازنده AMD با 1 GB RAM یا چهار نمونه پردازنده ARM با 24 GB RAM (در مجموع) است. این گزینه برای شروع عالی است، اما تنظیمات آن ممکن است برای کاربران تازه‌کار کمی پیچیده باشد و محدودیت‌های جغرافیایی و دسترسی به منابع رایگان در برخی مناطق ممکن است مشکل‌ساز شود.
  • Google Cloud Free Tier: گوگل نیز سرویس‌های رایگان محدودی را ارائه می‌دهد که شامل یک نمونه ماشین مجازی e2-micro در مناطق منتخب می‌شود. برای استفاده از این سرویس‌ها، معمولاً نیاز به ثبت کارت اعتباری دارید، اما تا سقف معینی استفاده از آن‌ها رایگان است. این سرویس نیز ممکن است برای مبتدیان کمی پیچیده باشد.
  • AWS Free Tier: آمازون نیز لایه رایگان ارائه می‌دهد که شامل نمونه‌های EC2 با منابع محدود برای 12 ماه اول است. مشابه گوگل، نیاز به کارت اعتباری دارید.

محدودیت‌های VPS رایگان: مهم است بدانید که VPSهای رایگان معمولاً دارای محدودیت‌هایی در منابع (CPU، RAM، پهنای باند) و موقعیت مکانی هستند. پایداری و عملکرد آن‌ها ممکن است همیشه در حد مطلوب نباشد، به خصوص اگر بخواهید از آن برای فعالیت‌های با ترافیک بالا مانند بازی‌های آنلاین یا استریمینگ استفاده کنید. برای یک تجربه پایدار و بهینه، خصوصاً برای کاربردهای حساس مانند کاهش پینگ در بازی‌ها یا دسترسی بدون محدودیت به سایت‌ها، سرمایه‌گذاری روی یک VPS با کیفیت و پولی‌تر معمولاً توصیه می‌شود.

اگر به دنبال راه حلی مطمئن، با عملکرد تضمین شده و بدون دغدغه‌های فنی مربوط به راه‌اندازی و مدیریت VPS هستید، وایرمارت سرورهای کانفیگ شده و تانل شده وایرگارد را با پنل اختصاصی ارائه می‌دهد. این سرورها برای کاهش پینگ بازی‌ها و دسترسی آزاد به وب بهینه شده‌اند و شما را از پیچیدگی‌های فنی بی‌نیاز می‌کنند.

توصیه به استفاده از توزیع‌های لینوکس:

وایرگارد به بهترین شکل روی سیستم عامل لینوکس اجرا می‌شود. توزیع‌های محبوب و توصیه شده برای VPS عبارتند از:

  • Ubuntu Server (20.04 LTS یا 22.04 LTS): اوبونتو به دلیل مستندات جامع، پشتیبانی گسترده و سادگی استفاده، انتخاب اول بسیاری از کاربران است. دستورالعمل‌های این مقاله بر اساس اوبونتو سرور خواهد بود.
  • Debian: دبیان نیز یک انتخاب عالی و پایدار است.
  • CentOS/Rocky Linux/AlmaLinux: این توزیع‌ها مبتنی بر RHEL هستند و برای محیط‌های سازمانی بسیار محبوبند.

دسترسی SSH به سرور: پس از تهیه VPS، شما نیاز به دسترسی به آن از طریق SSH (Secure Shell) دارید. این روش امن‌ترین راه برای ارتباط با سرور و اجرای دستورات لینوکس است. برای ویندوز می‌توانید از نرم‌افزارهایی مانند PuTTY یا ترمینال ویندوز (WSL) استفاده کنید. کاربران مک و لینوکس می‌توانند مستقیماً از ترمینال خود استفاده کنند.

دانش اولیه لینوکس و ترمینال

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

  • ssh: دستور اتصال به سرور از راه دور.
  • sudo: اجرای دستورات با دسترسی کاربر ریشه (Administrator). تقریباً تمامی دستورات نصب و پیکربندی نیاز به sudo دارند.
  • apt update و apt install: دستورات مدیریت بسته در توزیع‌های مبتنی بر دبیان (مانند اوبونتو) برای به‌روزرسانی لیست بسته‌ها و نصب نرم‌افزارها.
  • ویرایشگرهای متن (nano یا vi): برای ویرایش فایل‌های پیکربندی سرور، نیاز به استفاده از یک ویرایشگر متن در ترمینال دارید. nano برای تازه‌کاران ساده‌تر است، در حالی که vi/vim قدرتمندتر اما پیچیده‌تر است. در این راهنما از nano استفاده خواهیم کرد.
  • کپی/پیست کردن: نحوه کپی و پیست کردن متن در ترمینال (معمولاً Ctrl+Shift+C/V در لینوکس، Command+C/V در مک، و راست کلیک برای پیست در PuTTY).

اطمینان از داشتن این پیش‌نیازها، روند راه‌اندازی سرور وایرگارد شما را بسیار هموارتر خواهد کرد.

آموزش گام به گام نصب و کانفیگ سرور وایرگارد روی اوبونتو

در این بخش، به صورت گام به گام نحوه نصب و پیکربندی سرور WireGuard روی یک سرور اوبونتو را آموزش می‌دهیم. فرض بر این است که شما یک VPS با سیستم عامل Ubuntu Server (ترجیحاً نسخه 20.04 LTS یا 22.04 LTS) دارید و از طریق SSH به آن متصل شده‌اید.

گام اول: اتصال به سرور و به‌روزرسانی سیستم

ابتدا با استفاده از SSH به سرور خود متصل شوید و مطمئن شوید که سیستم عامل شما به‌روز است. این کار به پایداری و امنیت بیشتر کمک می‌کند.

ssh username@your_vps_ip_address

به جای username، نام کاربری VPS خود (معمولاً root یا نام کاربری که هنگام راه‌اندازی VPS تعیین کرده‌اید) و به جای your_vps_ip_address، آدرس IP عمومی سرور خود را وارد کنید. پس از ورود، دستورات زیر را برای به‌روزرسانی سیستم اجرا کنید:

sudo apt update
sudo apt upgrade -y

این دستورات لیست بسته‌ها را به‌روزرسانی کرده و تمامی بسته‌های نصب شده را به آخرین نسخه ارتقا می‌دهند.

گام دوم: نصب WireGuard

اکنون WireGuard را نصب کنید. WireGuard در مخازن رسمی اوبونتو موجود است و نصب آن بسیار آسان است.

sudo apt install wireguard -y

پس از نصب، می‌توانید با دستور زیر از نصب صحیح WireGuard اطمینان حاصل کنید:

wg --version

این دستور نسخه WireGuard نصب شده را به شما نشان می‌دهد.

گام سوم: تولید کلیدهای خصوصی و عمومی سرور

WireGuard برای رمزنگاری ارتباطات از جفت کلیدهای خصوصی و عمومی استفاده می‌کند. ابتدا کلیدهای سرور را تولید می‌کنیم.

umask 077
wg genkey | sudo tee /etc/wireguard/privatekey
sudo cat /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
  • umask 077: این دستور اطمینان حاصل می‌کند که فایل‌های تولید شده فقط توسط کاربر مالک قابل خواندن باشند (فایل‌های موقت).
  • wg genkey | sudo tee /etc/wireguard/privatekey: یک کلید خصوصی تولید کرده و آن را در مسیر /etc/wireguard/privatekey ذخیره می‌کند.
  • sudo cat /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey: از کلید خصوصی، کلید عمومی مربوطه را تولید کرده و در مسیر /etc/wireguard/publickey ذخیره می‌کند.

شما می‌توانید محتوای این فایل‌ها را با دستور sudo cat /etc/wireguard/privatekey و sudo cat /etc/wireguard/publickey مشاهده کنید. کلید خصوصی سرور را هرگز با کسی به اشتراک نگذارید.

گام چهارم: پیکربندی فایل سرور WireGuard (`wg0.conf`)

حالا باید فایل پیکربندی اصلی سرور WireGuard را ایجاد و ویرایش کنیم. این فایل معمولاً با نام wg0.conf در مسیر /etc/wireguard/ قرار می‌گیرد.

sudo nano /etc/wireguard/wg0.conf

محتوای زیر را در فایل کپی و پیست کنید. توجه داشته باشید که <SERVER_PRIVATE_KEY> را با محتوای فایل /etc/wireguard/privatekey جایگزین کنید.

[Interface]
PrivateKey = <SERVER_PRIVATE_KEY>
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -D FORWARD -o wg0 -j ACCEPT
  • PrivateKey: کلید خصوصی سرور شما (که در گام قبل تولید کردید).
  • Address: آدرس IP داخلی سرور در شبکه WireGuard. 10.0.0.1/24 یک مثال است. /24 به معنی این است که شبکه شما می‌تواند تا 254 کلاینت داشته باشد.
  • ListenPort: پورت UDP که WireGuard برای گوش دادن به اتصالات از آن استفاده می‌کند. 51820 پورت پیش‌فرض است، می‌توانید آن را به پورت دیگری تغییر دهید.
  • SaveConfig = true: این گزینه باعث می‌شود هر زمان که کلاینت جدیدی اضافه می‌کنید، تنظیمات به صورت خودکار در این فایل ذخیره شوند.
  • PostUp و PostDown: این دستورات فایروال (iptables) را پیکربندی می‌کنند تا ترافیک را از رابط WireGuard (wg0) به رابط شبکه عمومی سرور (eth0 یا نام کارت شبکه اصلی شما) هدایت کند و اجازه دهد کلاینت‌ها به اینترنت دسترسی پیدا کنند (NAT). eth0 نام رایج برای کارت شبکه است، اما ممکن است در برخی VPSها متفاوت باشد (مثلاً ens3، enp0s3 و غیره). برای پیدا کردن نام رابط شبکه عمومی خود، می‌توانید از دستور ip a استفاده کنید و به دنبال رابطی بگردید که آدرس IP عمومی سرور شما به آن اختصاص داده شده است.

پس از ویرایش، فایل را ذخیره کرده و خارج شوید (Ctrl+X، سپس Y، سپس Enter در nano).

گام پنجم: فعال کردن IP Forwarding

برای اینکه سرور شما بتواند ترافیک را بین شبکه WireGuard و اینترنت منتقل کند، باید IP Forwarding را فعال کنید. این کار به سرور اجازه می‌دهد تا به عنوان یک روتر عمل کند.

sudo nano /etc/sysctl.conf

خط زیر را پیدا کنید و اگر کامنت شده است (با # شروع می‌شود)، # را بردارید تا فعال شود. اگر پیدا نکردید، آن را در انتهای فایل اضافه کنید:

net.ipv4.ip_forward=1

فایل را ذخیره کرده و خارج شوید. سپس تغییرات را اعمال کنید:

sudo sysctl -p

گام ششم: راه‌اندازی وایرگارد

حالا می‌توانید سرویس WireGuard را راه‌اندازی و فعال کنید تا با هر بار بوت شدن سرور، به صورت خودکار اجرا شود.

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

برای بررسی وضعیت سرویس:

sudo systemctl status wg-quick@wg0

و برای مشاهده جزئیات رابط WireGuard:

sudo wg show

اگر همه چیز درست باشد، باید جزئیاتی مانند کلید عمومی سرور و پورت گوش دادن را مشاهده کنید.

گام هفتم: پیکربندی فایروال (UFW)

برای امنیت سرور، پیکربندی فایروال ضروری است. UFW (Uncomplicated Firewall) یک رابط کاربری ساده برای iptables است که استفاده از آن را آسان‌تر می‌کند.

sudo apt install ufw -y

سپس قوانین فایروال را اضافه کنید:

sudo ufw allow ssh

این دستور پورت 22 (پورت پیش‌فرض SSH) را باز می‌کند. اگر پورت SSH خود را تغییر داده‌اید، پورت جدید را وارد کنید (مثلاً sudo ufw allow 2222/tcp).

sudo ufw allow 51820/udp

این دستور پورت UDP وایرگارد (پورت ListenPort که در فایل wg0.conf تعریف کردید) را باز می‌کند. اگر پورت دیگری را انتخاب کرده‌اید، آن را جایگزین کنید.

اکنون فایروال را فعال کنید:

sudo ufw enable

هنگام فعال کردن UFW، از شما تأییدیه خواسته می‌شود. Y را تایپ کرده و Enter بزنید.
برای بررسی وضعیت فایروال:

sudo ufw status

باید مشاهده کنید که پورت‌های SSH و WireGuard مجاز شده‌اند. سرور وایرگارد شما اکنون آماده دریافت اتصالات کلاینت‌ها است.

اضافه کردن کلاینت (کاربر) به سرور وایرگارد

پس از راه‌اندازی سرور، نوبت به اضافه کردن کلاینت‌ها (دستگاه‌های کاربران) می‌رسد. هر کلاینت به یک جفت کلید خصوصی و عمومی منحصر به فرد و یک پیکربندی مخصوص نیاز دارد.

گام اول: تولید کلیدهای خصوصی و عمومی برای کلاینت

برای هر کلاینتی که می‌خواهید به سرور شما متصل شود، باید یک جفت کلید خصوصی و عمومی جدید تولید کنید. این کار را می‌توانید روی سرور یا روی دستگاه کلاینت انجام دهید. برای سادگی، ما این کار را روی سرور انجام می‌دهیم.

wg genkey | tee client_privatekey
cat client_privatekey | wg pubkey | tee client_publickey

این دستورات یک کلید خصوصی را در فایل client_privatekey و کلید عمومی مربوطه را در فایل client_publickey (در دایرکتوری جاری سرور) ذخیره می‌کنند. محتوای این دو فایل را یادداشت کنید یا در یک فایل امن ذخیره کنید. شما به این کلیدها برای پیکربندی کلاینت نیاز خواهید داشت.

مهم: برای هر کلاینت (مثلاً یک تلفن، یک لپ‌تاپ، و غیره) باید یک جفت کلید جدید تولید کنید و از IP داخلی منحصر به فرد استفاده کنید.

گام دوم: اضافه کردن کلاینت به فایل پیکربندی سرور

حالا باید اطلاعات کلاینت را به فایل پیکربندی سرور WireGuard (/etc/wireguard/wg0.conf) اضافه کنید تا سرور بداند چه کلاینت‌هایی مجاز به اتصال هستند.

sudo nano /etc/wireguard/wg0.conf

در انتهای فایل، یک بلاک [Peer] جدید برای هر کلاینت اضافه کنید. کلید عمومی کلاینت را که در گام قبل تولید کردید، جایگزین <CLIENT_PUBLIC_KEY> و یک آدرس IP داخلی منحصر به فرد را جایگزین 10.0.0.X/32 کنید.

[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25
  • PublicKey: کلید عمومی کلاینت شما (محتوای فایل client_publickey).
  • AllowedIPs: آدرس IP داخلی که به این کلاینت در شبکه WireGuard اختصاص می‌دهید. هر کلاینت باید یک IP داخلی منحصر به فرد در رنج 10.0.0.X/32 داشته باشد (مثلاً 10.0.0.2/32 برای کلاینت اول، 10.0.0.3/32 برای کلاینت دوم و الی آخر).
  • PersistentKeepalive = 25 (اختیاری): این گزینه باعث می‌شود کلاینت هر 25 ثانیه یک پکت کوچک به سرور ارسال کند. این کار برای جلوگیری از قطع شدن اتصال در شبکه‌هایی که NAT دارند (اکثر شبکه‌های خانگی) و همچنین برای حفظ پایداری اتصال بسیار مفید است.

فایل را ذخیره کرده و خارج شوید.

گام سوم: ریستارت سرویس وایرگارد سرور

برای اعمال تغییرات، باید سرویس WireGuard روی سرور را ریستارت کنید:

sudo systemctl restart wg-quick@wg0

می‌توانید با دستور زیر مطمئن شوید که کلاینت اضافه شده است:

sudo wg show

باید در خروجی این دستور، یک بخش peer برای کلاینت جدید مشاهده کنید.

گام چهارم: ایجاد فایل پیکربندی کلاینت (`client.conf`)

حالا نوبت به ایجاد فایل پیکربندی برای دستگاه کلاینت می‌رسد. این فایل باید روی دستگاه کلاینت (کامپیوتر، موبایل و …) کپی شود. محتوای زیر را در یک فایل متنی با نام دلخواه (مثلاً my-client.conf) ایجاد کنید:

[Interface]
PrivateKey = <CLIENT_PRIVATE_KEY>
Address = 10.0.0.2/32
DNS = 8.8.8.8, 8.8.4.4

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = your_vps_ip_address:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
  • PrivateKey: کلید خصوصی کلاینت شما (محتوای فایل client_privatekey که در گام اول تولید کردید).
  • Address: همان آدرس IP داخلی که در فایل wg0.conf سرور برای این کلاینت تعیین کردید (مثلاً 10.0.0.2/32).
  • DNS: آدرس سرورهای DNS که کلاینت شما از آن‌ها استفاده خواهد کرد. 8.8.8.8 و 8.8.4.4 سرورهای DNS عمومی گوگل هستند. می‌توانید از 1.1.1.1 و 1.0.0.1 (Cloudflare) نیز استفاده کنید.
  • PublicKey: کلید عمومی سرور شما (محتوای فایل /etc/wireguard/publickey سرور).
  • Endpoint: آدرس IP عمومی سرور شما و پورت WireGuard (مثلاً your_vps_ip_address:51820).
  • AllowedIPs = 0.0.0.0/0: این مهمترین قسمت است. این تنظیم به کلاینت می‌گوید که تمامی ترافیک اینترنت را از طریق تونل WireGuard ارسال کند. این برای دسترسی بدون محدودیت به سایت‌ها و دور زدن فیلترینگ ضروری است. اگر فقط می‌خواهید به شبکه داخلی سرور دسترسی داشته باشید، می‌توانید آن را به 10.0.0.0/24 تغییر دهید، اما برای کاربری VPN کامل، 0.0.0.0/0 لازم است. این همان عملکردی است که شما از یک سرور وب‌گردی یا VPN اختصاصی انتظار دارید، که به شما اجازه می‌دهد آزادانه در اینترنت حرکت کنید.
  • PersistentKeepalive = 25 (اختیاری): این تنظیم باید هم در سرور و هم در کلاینت برای این Peer تنظیم شود تا پایداری اتصال بیشتر شود.

گام پنجم: انتقال فایل کلاینت و اتصال

فایل my-client.conf را که در گام قبل ساختید، باید به دستگاه کلاینت خود منتقل کنید. می‌توانید محتوای آن را کپی کرده و در یک فایل متنی جدید روی دستگاه کلاینت ذخیره کنید یا از ابزارهایی مانند scp برای انتقال مستقیم استفاده کنید.

نصب وایرگارد کلاینت:

ابتدا اپلیکیشن WireGuard را روی دستگاه کلاینت خود نصب کنید:

  • ویندوز: از وب‌سایت رسمی WireGuard دانلود کنید.
  • اندروید و iOS: از Google Play Store یا Apple App Store دانلود کنید.
  • macOS: از Apple App Store یا Homebrew (brew install wireguard-tools) نصب کنید.
  • لینوکس: معمولاً از طریق مدیر بسته توزیع خود (مثلاً sudo apt install wireguard در اوبونتو).

نحوه اتصال:

  • برای ویندوز، macOS و لینوکس: اپلیکیشن WireGuard را باز کنید، گزینه “Add Tunnel” یا “Add Empty Tunnel” را انتخاب کنید و محتوای فایل my-client.conf را کپی و پیست کنید. می‌توانید فایل را مستقیم هم ایمپورت کنید.
  • برای اندروید و iOS: می‌توانید فایل .conf را ایمپورت کنید یا از طریق اسکن QR Code اقدام کنید. برای تولید QR Code از فایل .conf، می‌توانید از ابزارهای آنلاین یا دستور زیر روی سرور استفاده کنید (نیاز به نصب qrencode دارید: sudo apt install qrencode -y):
    sudo apt install qrencode -y
    wg showconf wg0 | qrencode -t ansiutf8

    این دستور یک QR Code از کل تنظیمات سرور و کلاینت‌های اضافه شده تولید می‌کند که کلاینت‌های موبایل می‌توانند آن را اسکن کنند. اگر فقط می‌خواهید پیکربندی یک کلاینت خاص را QR Code کنید، محتوای فایل my-client.conf را در یک فایل موقت ذخیره کرده و سپس آن فایل را با qrencode بخوانید.

پس از افزودن و فعال کردن تونل در اپلیکیشن WireGuard، اتصال شما برقرار می‌شود و ترافیک شما از طریق سرور وایرگارد شخصی شما منتقل خواهد شد. می‌توانید با مراجعه به وب‌سایت‌هایی مانند whatismyip.com، از تغییر آدرس IP عمومی خود به آدرس IP سرور VPS اطمینان حاصل کنید.

نکات مهم، بهینه‌سازی و عیب‌یابی

راه‌اندازی سرور وایرگارد تنها نیمی از کار است؛ نگهداری، بهینه‌سازی و رفع مشکلات احتمالی نیز از اهمیت بالایی برخوردارند. در این بخش، به برخی نکات کلیدی می‌پردازیم.

امنیت سرور وایرگارد

حفظ امنیت سرور شما برای جلوگیری از دسترسی‌های غیرمجاز و حفظ حریم خصوصی بسیار حیاتی است:

  • تغییر پورت SSH پیش‌فرض: پورت 22 SSH هدف اصلی حملات است. با تغییر آن به یک پورت غیرمعمول (مثلاً 2222)، امنیت را افزایش دهید.
  • استفاده از کلید SSH به جای پسورد: احراز هویت با کلید عمومی/خصوصی SSH بسیار امن‌تر از رمز عبور است. پسورد را غیرفعال کرده و فقط با کلید SSH وارد شوید.
  • به‌روزرسانی منظم سیستم: با اجرای sudo apt update && sudo apt upgrade -y به صورت دوره‌ای، از نصب آخرین وصله‌های امنیتی اطمینان حاصل کنید.
  • پیکربندی فایروال (UFW): مطمئن شوید که فایروال شما به درستی پیکربندی شده و فقط پورت‌های ضروری (SSH و WireGuard) باز هستند.
  • مدیریت کلیدها: کلیدهای خصوصی سرور و کلاینت‌ها را به شدت امن نگه دارید و هرگز آن‌ها را به اشتراک نگذارید.

بهبود عملکرد وایرگارد

برای دستیابی به بهترین عملکرد، به‌ویژه برای کاربردهای حساس مانند بازی‌های آنلاین، بهینه‌سازی‌های زیر می‌تواند مفید باشد:

  • انتخاب موقعیت مناسب VPS: برای کاهش پینگ، سروری را انتخاب کنید که از نظر جغرافیایی به شما و همچنین به سرور مقصد (مثلاً سرور بازی) نزدیک باشد. هرچه فاصله فیزیکی کمتر باشد، تأخیر نیز کمتر خواهد بود. این یکی از فاکتورهای کلیدی است که سرورهای گیمینگ وایرمارت بر اساس آن بهینه‌سازی شده‌اند.
  • بهینه‌سازی MTU: گاهی اوقات، تنظیم MTU (Maximum Transmission Unit) در فایل پیکربندی کلاینت یا سرور می‌تواند به بهبود عملکرد کمک کند، به‌خصوص اگر با مشکلاتی مانند قطع و وصل شدن یا کندی سرعت مواجه هستید. می‌توانید MTU = 1420 را در بخش [Interface] فایل کلاینت امتحان کنید.
  • تنظیم PersistentKeepalive: همانطور که قبلاً ذکر شد، تنظیم PersistentKeepalive = 25 در بخش [Peer] برای هر کلاینت (و در بخش [Peer] سرور برای هر کلاینت) به حفظ پایداری اتصال و جلوگیری از قطع و وصل شدن کمک می‌کند.
  • انتخاب VPS با منابع کافی: یک VPS با پردازنده و RAM مناسب و پهنای باند بالا، برای عملکرد بهتر ضروری است. VPSهای رایگان ممکن است در این زمینه محدودیت داشته باشند. برای تجربه‌ی بی‌نظیر و پینگ پایین در بازی‌ها، سرورهای گیمینگ اختصاصی وایرمارت با سخت‌افزار بهینه شده و موقعیت مکانی استراتژیک، گزینه‌ای بسیار مناسب و قابل اطمینان هستند.

عیب‌یابی مشکلات رایج

ممکن است در طول راه‌اندازی یا استفاده از سرور WireGuard با مشکلاتی مواجه شوید. در اینجا به برخی مشکلات رایج و راه‌حل‌های آن‌ها اشاره می‌کنیم:

  • اتصال برقرار نمی‌شود:
    • بررسی فایروال: مطمئن شوید پورت WireGuard (پیش‌فرض 51820 UDP) در فایروال سرور (UFW) باز است. sudo ufw status
    • بررسی پورت: مطمئن شوید پورت در فایل wg0.conf سرور و فایل کلاینت یکسان است.
    • بررسی IP Forwarding: اطمینان حاصل کنید که net.ipv4.ip_forward=1 در /etc/sysctl.conf فعال است و با sudo sysctl -p اعمال شده است.
    • کلیدها: مطمئن شوید کلید عمومی سرور در کلاینت و کلید عمومی کلاینت در سرور به درستی وارد شده‌اند.
    • آدرس IP داخلی: مطمئن شوید هر کلاینت یک Address منحصر به فرد در فایل پیکربندی سرور و کلاینت دارد (مثلاً 10.0.0.2/32).
    • وضعیت سرویس: sudo systemctl status wg-quick@wg0 و sudo wg show را روی سرور بررسی کنید.
  • اتصال برقرار است، اما اینترنت ندارد:
    • AllowedIPs در کلاینت: مطمئن شوید AllowedIPs = 0.0.0.0/0 در فایل پیکربندی کلاینت تنظیم شده است.
    • دستورات PostUp/PostDown در سرور: مطمئن شوید دستورات iptables در فایل wg0.conf سرور به درستی تنظیم شده‌اند و نام رابط شبکه عمومی (مثلاً eth0) صحیح است.
    • DNS کلاینت: مطمئن شوید سرورهای DNS معتبر (مانند 8.8.8.8) در فایل کلاینت تنظیم شده‌اند.
  • سرعت پایین یا پینگ بالا:
    • پهنای باند VPS: مطمئن شوید VPS شما پهنای باند کافی دارد. VPSهای رایگان ممکن است محدودیت‌هایی داشته باشند.
    • موقعیت سرور: سرور خود را در موقعیت جغرافیایی مناسب‌تری انتخاب کنید.
    • تنظیمات MTU: همانطور که ذکر شد، تنظیم آن می‌تواند کمک کننده باشد.
    • ترافیک سرور: اگر سرور شما ترافیک زیادی را تحمل می‌کند، ممکن است منابع آن کافی نباشد.

چرا با وجود راهنمای رایگان، سرویس‌های کانفیگ شده انتخاب هوشمندانه‌تری هستند؟

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

پیچیدگی و زمان‌بر بودن راه‌اندازی

راه‌اندازی دستی یک سرور وایرگارد، حتی با یک راهنمای جامع، زمان‌بر است و می‌تواند شامل چالش‌هایی باشد:

  • نیاز به دانش فنی: شما باید با دستورات لینوکس، پیکربندی فایل‌ها، تنظیمات فایروال و مفاهیم شبکه آشنا باشید. هر گونه اشتباه کوچک می‌تواند منجر به عدم اتصال یا مشکلات امنیتی شود.
  • مشکلات و خطاهای احتمالی: در هر مرحله‌ای ممکن است با خطاهای پیش‌بینی نشده‌ای روبرو شوید که عیب‌یابی آن‌ها نیازمند زمان و تجربه است.
  • نگهداری و به‌روزرسانی مداوم: سرور شما نیاز به به‌روزرسانی‌های امنیتی و نرم‌افزاری منظم دارد تا در برابر تهدیدات جدید محافظت شود. مدیریت این به‌روزرسانی‌ها به عهده شماست.

تضمین عملکرد و پایداری

اگرچه VPSهای رایگان برای تست خوب هستند، اما معمولاً برای استفاده جدی و پایدار مناسب نیستند:

  • منابع محدود VPS رایگان: این سرویس‌ها غالباً با محدودیت‌هایی در پهنای باند، CPU و RAM همراه هستند که می‌تواند به کاهش سرعت و پایداری اتصال شما منجر شود.
  • تأثیر موقعیت سرور و سخت‌افزار: برای کاربردهای خاص مانند کاهش پینگ در بازی‌ها، انتخاب سرور با سخت‌افزار مناسب و موقعیت مکانی بهینه بسیار حیاتی است. این انتخاب‌ها با VPSهای رایگان یا کم‌هزینه اغلب محدود هستند. وایرمارت با ارائه سرورهای گیمینگ اختصاصی که از نظر سخت‌افزار و موقعیت مکانی بهینه شده‌اند، پینگ پایین و پایداری بالا را برای شما تضمین می‌کند.
  • عملکرد بهینه برای وب‌گردی: برای دسترسی بدون محدودیت به سایت‌ها و وب‌گردی روان، سروری با پهنای باند اختصاصی و مطمئن ضروری است. سرورهای از پیش پیکربندی شده معمولاً این اطمینان را به شما می‌دهند.

پشتیبانی تخصصی و پنل مدیریتی اختصاصی

یکی از بزرگترین مزایای استفاده از سرویس‌های تجاری، پشتیبانی و راحتی مدیریت است:

صرفه‌جویی در زمان و هزینه پنهان

زمانی که صرف یادگیری، عیب‌یابی و نگهداری یک سرور شخصی می‌کنید، ارزشمند است. همچنین، ممکن است با استفاده از VPSهای ارزان یا نامناسب، با هزینه‌های پنهان (مانند مصرف بیش از حد ترافیک یا قطعی‌های مکرر) روبرو شوید. سرویس‌های کانفیگ شده این هزینه‌های پنهان را حذف کرده و با یک قیمت ثابت، خدمتی پایدار و با کیفیت را ارائه می‌دهند.

در نهایت، انتخاب بین ساخت سرور وایرگارد شخصی رایگان و استفاده از سرویس‌های کانفیگ شده به نیازها، دانش فنی و زمانی که می‌توانید صرف کنید بستگی دارد. اگر به دنبال یک راهکار آماده، بهینه، با پشتیبانی حرفه‌ای و پنل مدیریتی آسان برای کاهش پینگ در بازی‌ها یا دسترسی بدون محدودیت به اینترنت هستید، سرورهای کانفیگ شده وایرمارت با پنل اختصاصی، گزینه ایده‌آلی برای شما خواهند بود.

نتیجه‌گیری

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

ساخت سرور وایرگارد شخصی، تجربه‌ای ارزشمند برای علاقه‌مندان به تکنولوژی است که امکان دستیابی به حریم خصوصی، امنیت و سرعت بی‌نظیر را فراهم می‌کند. این روش به شما اجازه می‌دهد تا محدودیت‌های جغرافیایی را دور بزنید، پینگ بازی‌های آنلاین خود را کاهش دهید و از اینترنتی آزاد و امن لذت ببرید.

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

انتخاب با شماست: یا راه حل DIY (Do It Yourself) را در پیش بگیرید و از چالش‌های فنی و لذت کنترل کامل بهره‌مند شوید، یا به سراغ راهکارهای آماده و بهینه شده‌ای بروید که راحتی، سرعت و پشتیبانی حرفه‌ای را برای شما به ارمغان می‌آورند. هر دو راه می‌توانند به شما در دستیابی به اینترنتی بهتر کمک کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *