راهاندازی وایرگارد روی سرور مجازی اوبونتو ۲۴.۰۴
داشتن VPN شخصی سادهتر از آن است که فکر میکنید. در این آموزش وایرگارد را روی یک سرور مجازی اوبونتو ۲۴.۰۴ نصب میکنیم، فایروال را تنظیم میکنیم و کلاینت موبایل را با QR کد وصل میکنیم.
در سرویسهای VPN عمومی، یک آدرس IP بین صدها یا حتی هزاران کاربر مشترک است و تمام ترافیک شما از سرورهای شرکتی عبور میکند که شناخت چندانی از آن ندارید. راهاندازی VPN شخصی هر دو مشکل را حل میکند: آدرس IP فقط مال شماست و کلیدهای رمزنگاری هم فقط دست خودتان است. در این راهنما وایرگارد (WireGuard) را روی سرور مجازی با اوبونتو ۲۴.۰۴ نصب میکنیم، فایروال را درست تنظیم میکنیم و یک لپتاپ و یک گوشی را به آن وصل میکنیم. اگر دستورها را همراه متن اجرا کنید، حدود ۱۵ تا ۲۰ دقیقه وقت میبرد.
وایرگارد چیست و چرا وایرگارد؟
وایرگارد یک پروتکل VPN مدرن است که مستقیماً در هستهی لینوکس قرار گرفته است. در مقایسه با OpenVPN و IPsec، کد بسیار کمتری دارد، تنظیماتش در چند خط خلاصه میشود و حتی روی سرورهای کممنبع هم سریع کار میکند. اتصال از طریق UDP برقرار میشود و هر دستگاه با یک جفت کلید (خصوصی/عمومی) شناخته میشود؛ نام کاربری و رمز عبوری در کار نیست.
کاربردهای رایج یک VPN شخصی:
- رمزنگاری ترافیک در وایفای عمومی: در کافه، هتل یا فرودگاه، ترافیک شما تا سرور خودتان رمزنگاریشده میرود.
- IP ثابت برای مدیریت از راه دور: میتوانید SSH یا پنلهای مدیریتی سرورهای دیگرتان را فقط روی IP همین VPN باز کنید (لیست سفید IP).
- دسترسی به سرویسهای خانه یا دفتر از طریق تونل، بدون اینکه آنها را مستقیم روی اینترنت باز کنید.
قوانین استفاده از VPN در هر کشور متفاوت است. رعایت قوانین محل زندگیتان و شرایط قرارداد ارائهدهندهی سرور بر عهدهی خود شماست.
پیشنیازها
- یک سرور مجازی با اوبونتو ۲۴.۰۴ و دسترسی root (یا sudo). اگر با اتصال از راه دور آشنا نیستید، اول مقالهی SSH چیست را بخوانید.
- سرور باید آدرس IPv4 عمومیِ مخصوص به خود داشته باشد و پورت UDP انتخابی شما (در این آموزش 51820) از بیرون قابل دسترس باشد. در ترکیهویپیاس، پلنهایی که در مشخصاتشان ۱ آدرس IPv4 اختصاصی آمده، مانند پلنهای VDS Enterprise، این شرط را دارند. در مشخصات پلنهای استاندارد VPS و VDS آدرس IPv4 عمومی جداگانهای ذکر نشده است؛ اگر میخواهید وایرگارد را روی یکی از آنها راه بیندازید، ابتدا با پشتیبانی ما مشورت کنید.
- اگر هنوز امنیت پایهی سرور را تنظیم نکردهاید، ابتدا مراحل راهنمای امنیت سرور لینوکس را انجام دهید.
۱. نصب وایرگارد
sudo apt update
sudo apt install -y wireguard qrencode
بستهی wireguard ابزارهای wg و wg-quick را نصب میکند و qrencode برای ساختن QR کد گوشی به کار میرود.
۲. ساخت کلیدها
برای سرور و اولین کلاینت (مثلاً لپتاپ) جفت کلید میسازیم. دستور umask 077 باعث میشود فایلهای جدید فقط برای root قابل خواندن باشند:
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
wg genkey | tee client1.key | wg pubkey > client1.pub
کلیدهای خصوصی (.key) را هرگز با کسی به اشتراک نگذارید. کلیدهای عمومی (.pub) در تنظیمات طرف مقابل نوشته میشوند.
۳. پیدا کردن نام کارت شبکهی عمومی
برای قانون NAT باید نام اینترفیسی را بدانیم که سرور با آن به اینترنت وصل میشود. این نام همیشه eth0 نیست:
ip route show default
اگر خروجی شبیه default via 203.0.113.1 dev ens3 ... باشد، نام اینترفیس شما ens3 است. در مثالهای زیر هر جا eth0 آمده، نام اینترفیس خودتان را بگذارید.
۴. تنظیمات سرور: فایل wg0.conf
nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# client1 - laptop
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
به جای SERVER_PRIVATE_KEY خروجی cat server.key و به جای CLIENT1_PUBLIC_KEY خروجی cat client1.pub را قرار دهید. شبکهی 10.8.0.0/24 شبکهی خصوصی داخل تونل است: سرور آدرس 10.8.0.1 و اولین کلاینت آدرس 10.8.0.2 را میگیرد.
۵. فعال کردن IP forwarding
برای اینکه سرور ترافیک کلاینت را به اینترنت برساند، باید ارسال بستههای IPv4 در هسته فعال باشد:
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl --system
با دستور sysctl net.ipv4.ip_forward بررسی کنید؛ نتیجه باید = 1 باشد.
۶. فایروال (UFW)
اگر از UFW استفاده میکنید، هم باید پورت وایرگارد را باز کنید و هم اجازهی عبور ترافیک از تونل به اینترنت را بدهید. قبل از اجازه دادن به SSH، فایروال را روشن نکنید؛ وگرنه اتصالتان به سرور قطع میشود:
ufw allow OpenSSH
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw enable
ufw status verbose
قانون ufw route allow فقط اجازهی عبور ترافیک از wg0 به اینترفیس عمومی را میدهد. راه دیگر، تنظیم DEFAULT_FORWARD_POLICY="ACCEPT" در فایل /etc/default/ufw است، اما این کار همهی ارسالها را باز میکند؛ قانون route دقیقتر است.
۷. اجرای وایرگارد
systemctl enable --now wg-quick@wg0
wg show
در خروجی wg show باید interface: wg0، پورت و peer شما دیده شود. به لطف enable، تونل بعد از ریاستارت سرور خودکار بالا میآید.
۸. تنظیم کلاینت
سادهترین روش این است که فایل کلاینت را روی سرور بسازید و بعد به دستگاه منتقل کنید:
nano /etc/wireguard/client1.conf
[Interface]
PrivateKey = CLIENT1_PRIVATE_KEY
Address = 10.8.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0یعنی همهی ترافیک IPv4 از تونل عبور کند. اگر فقط به شبکهی داخلی VPN نیاز دارید، مقدار را10.8.0.0/24بگذارید (split tunnel).- نکتهی IPv6: اگر IPv6 را داخل تونل تنظیم نکرده باشید، ترافیک IPv6 ممکن است از بیرون تونل برود. با افزودن
, ::/0بهAllowedIPs، ترافیک IPv6 هم وارد تونل میشود؛ اگر سرور IPv6 نداشته باشد این ترافیک کار نمیکند، اما نشت هم نمیکند. PersistentKeepalive = 25کمک میکند اتصال دستگاههایی که پشت NAT هستند (اینترنت موبایل یا مودم خانگی) قطع نشود.
کامپیوتر: کلاینت رسمی وایرگارد (ویندوز، مک، لینوکس) را نصب کنید و فایل client1.conf را import کنید. برای انتقال امن فایل از سرور میتوانید از scp استفاده کنید.
گوشی: در اپلیکیشن WireGuard گزینهی «ساخت از روی QR کد» را بزنید. این دستور QR کد را مستقیم در ترمینال نشان میدهد:
qrencode -t ansiutf8 < /etc/wireguard/client1.conf
بعد از اتصال، هر سایت «IP من چیست» باید آدرس IP سرور مجازی شما را نشان دهد.
۹. اضافه کردن دستگاههای جدید
برای هر دستگاه یک جفت کلید و یک آدرس جدا در تونل در نظر بگیرید. برای کلاینت دوم (مثلاً گوشی با آدرس 10.8.0.3):
cd /etc/wireguard
umask 077
wg genkey | tee client2.key | wg pubkey > client2.pub
روش سریع (فقط تا ریاستارت):
wg set wg0 peer "$(cat client2.pub)" allowed-ips 10.8.0.3/32
این دستور peer را فوراً اضافه میکند اما با ریاستارت از بین میرود. برای ماندگاری، یک بلوک [Peer] جدید به wg0.conf اضافه کنید و بدون قطع اتصالهای فعلی تنظیمات را دوباره بارگذاری کنید:
wg syncconf wg0 <(wg-quick strip wg0)
دستگاهی را گم کردهاید؟ بلوک [Peer] آن را حذف کنید و همین دستور را اجرا کنید؛ آن کلید دیگر نمیتواند وصل شود.
رفع اشکال
- وصل میشود اما اینترنت ندارد: مقدار
sysctl net.ipv4.ip_forward، نام اینترفیس درPostUpو قانونufw routeرا بررسی کنید. - هیچ handshake برقرار نمیشود: اگر در
wg showعبارت «latest handshake» ظاهر نشود، احتمالاً پورت UDP 51820 مسدود است یا کلیدها جابهجا شدهاند. در تنظیمات سرور،PublicKeyکلید عمومی کلاینت است و برعکس. - لاگها: دستور
journalctl -u wg-quick@wg0خطاهای راهاندازی را نشان میدهد.
سوالات متداول
وایرگارد بهتر است یا OpenVPN؟
وایرگارد جدیدتر، سریعتر و سادهتر است و برای استفادهی شخصی انتخاب پیشفرض خوبی است. OpenVPN میتواند روی TCP هم کار کند و سابقهی طولانیتری دارد، به همین دلیل بعضی شبکههای سازمانی هنوز آن را ترجیح میدهند.
برای VPN شخصی چه سروری لازم است؟
وایرگارد بسیار سبک است. برای چند دستگاه شخصی معمولاً ۱ vCPU و ۵۱۲ مگابایت رم کافی است. مهمتر از پردازنده، داشتن آدرس IP عمومیِ مخصوص سرور و کیفیت شبکهی آن است.
حوصلهی نصب ندارم؛ گزینهی آماده هست؟
بله. در پلنهای سرور VPN ترکیهویپیاس (TürkiyeVPS)، WireGuard یا OpenVPN پس از پرداخت بهصورت خودکار نصب میشود، یک آدرس IP اختصاصی دریافت میکنید و فایل اتصال را از پنل کاربری دانلود میکنید.
VPN شخصی با سرور ترکیه در استانبول
اگر میخواهید خودتان نصب کنید، پلنهای VDS Enterprise ما با ۱ آدرس IPv4 اختصاصی، دسترسی root و ترافیک نامحدود ارائه میشوند. پرداخت با تتر (USDT شبکهی TRC20) انجام میشود. اگر یک سرور وایرگارد آماده با IP اختصاصی میخواهید، به پلنهای سرور VPN از ماهانه ۱٫۷۹ دلار سر بزنید؛ سرور پس از پرداخت بهصورت خودکار نصب میشود. برای هر سؤالی از چت آنلاین سایت یا ثبت تیکت در پنل کاربری با ما در تماس باشید.
اینها را هم بخوانید
سرور WireGuard یا OpenVPN با آدرس IPv4 اختصاصی ترکیه چطور کار میکند، بعد از پرداخت چه اتفاقی میافتد و چطور گ...
از لحظهای که سرور شما به اینترنت متصل میشود، رباتهای خودکار شروع به اسکن آن میکنند. در این مقاله ۱۰ گام اس...
نماد قفل در نوار آدرس نشان میدهد که ارتباط میان سایت شما و بازدیدکننده رمزگذاری شده است. در این مقاله نحوه کا...