| کانال امنیت و شبکه |: post #139 — TG.ME

🛡️ راه‌اندازی سریع و امن VPN با WireGuard روی لینوکس

WireGuard یکی از سبک‌ترین و امن‌ترین راه‌حل‌های VPN امروزیه؛ هم روی سرور خیلی کم‌حجم و ساده است، هم روی کلاینت‌هات (موبایل، دسکتاپ، روتر) عالی جواب می‌ده. برای سناریوهایی مثل دسترسی امن به پنل‌های داخلی، SSH از بیرون خونه/شرکت یا دور زدن محدودیت آی‌پی روی سرویس‌ها خیلی کاربردیه.

در این پست، بر اساس داکیومنت رسمی WireGuard و مستندات Debian/Ubuntu، یه راه‌اندازی عملی و واقعی روی لینوکس رو مرور می‌کنیم:

🔧 سناریو
فرض کن یه VPS لینوکسی داری (مثلاً Ubuntu Server) و می‌خوای از هر جایی با لپ‌تاپ یا موبایل، به صورت امن به شبکه داخلی یا سرویس‌های روی اون VPS وصل بشی.

۱️⃣ نصب WireGuard روی Ubuntu/Debian

روی سرور (و بعداً روی کلاینت لینوکسی) دستور زیر رو اجرا کن:
sudo apt update
sudo apt install wireguard -y


این بسته طبق داکیومنت رسمی Ubuntu از مخازن خودش میاد و ماژول کرنل WireGuard هم روی کرنل‌های جدید به صورت پیش‌فرض پشتیبانی می‌شه.

۲️⃣ ساخت key pair برای سرور

داخل سرور، توی مثلاً /etc/wireguard:
cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key


۳️⃣ ساخت key pair برای کلاینت

روی سیستم خودت (یا حتی روی سرور و بعد انتقال امن به کلاینت):
wg genkey | tee client_private.key | wg pubkey > client_public.key


حواست باشه private keyها هیچ‌وقت لاگ یا share نشن؛ خیلی‌ها اشتباهشون اینه که همین key رو کپی/پیست می‌فرستن توی چت‌ها 🙂

۴️⃣ کانفیگ سرور: فایل ‎/etc/wireguard/wg0.conf‎

یه مثال مینیمال (با فرض این‌که آدرس داخلی VPN رو 10.0.0.1/24 برای سرور می‌ذاری و 10.0.0.2 برای کلاینت):
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <server_private_key_here>

[Peer]
PublicKey = <client_public_key_here>
AllowedIPs = 10.0.0.2/32


پورت 51820/UDP رو توی فایروال و روی VPS باز کن (روی ufw یا فایروال provider).

۵️⃣ کانفیگ کلاینت (مثلاً روی Linux)

روی کلاینت، فایل مشابه بساز:
[Interface]
Address = 10.0.0.2/24
PrivateKey = <client_private_key_here>
DNS = 1.1.1.1

[Peer]
PublicKey = <server_public_key_here>
Endpoint = <your_server_ip>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25


اینجا با AllowedIPs = 0.0.0.0/0 همه ترافیکت از داخل تونل عبور می‌کنه؛ برای سناریو دسترسی فقط به شبکه داخلی، می‌شه یه subnet خاص ست کرد.

۶️⃣ بالا آوردن تونل

روی هر دو طرف:
sudo wg-quick up wg0


و برای فعال شدن خودکار بعد از reboot:
sudo systemctl enable wg-quick@wg0


حالا از روی کلاینت، یه ping ساده:
ping 10.0.0.1


اگر جواب گرفتی، تونل OK هست. بعد می‌تونی SSH رو فقط روی آدرس داخلی VPN باز بذاری و surface حمله رو شدیداً کم کنی.

نکته‌ی مهم امنیتی

حتماً private key رو محدود به root کن، لاگ‌ها رو چک کن و روی سرور از fail2ban یا معادلش برای سرویس‌های دیگه استفاده کن. WireGuard به‌خودی‌خود امنه، ولی بقیه سرویس‌ها همچنان نیاز به hardening دارن.

امتحانش روی یه VPS تستی خیلی ساده است؛ یه بار راهش بندازی، احتمالاً برای خیلی از سناریوهای شبکه و امنیت، ابزار پیش‌فرضت می‌شه 🔐

🔖 #Security #امنیت #WireGuard #VPN #Linux #Ubuntu #Network_Security #Server #CLI

👤 Developix

💎 Channel: @DevelopixNetwork
👍5❤4
June 22, 2026 1.2K 2 23