راهنمای کامل WireGuard: نصب، کلیدها و پیکربندی پیشرفته

آخرین به‌روزرسانی: ۰۱/۰۲/۲۰۲۴
نویسنده: دانیل تراسا

  • معماری ساده و رمزگذاری مدرن: کلیدهای همتا و AllowedIPها برای مسیریابی.
  • نصب سریع روی لینوکس و برنامه‌های رسمی برای دسکتاپ و موبایل.
  • عملکرد برتر نسبت به IPsec/OpenVPN، با رومینگ و تأخیر کم.
راهنمای سیم کشی

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

در این راهنمای کاربردی، همه چیز را از اصول اولیه تا ... خواهید یافت. تنظیمات پیشرفتهنصب روی لینوکس (اوبونتو/دبیان/سنت‌او‌اس)، کلیدها، فایل‌های سرور و کلاینت، انتقال IP، NAT/فایروال، برنامه‌ها روی ویندوز/مک/اندروید/آی‌او‌اس، split tunneling، عملکرد، عیب‌یابی و سازگاری با پلتفرم‌هایی مانند OPNsense، pfSense، QNAP، Mikrotik یا Teltonika.

وایرگارد چیست و چرا باید آن را انتخاب کنیم؟

وایرگارد یک پروتکل و نرم‌افزار VPN متن‌باز است که برای ایجاد ... طراحی شده است. تونل‌های رمزگذاری شده سطح ۳ از طریق UDPاین پروتکل در مقایسه با OpenVPN یا IPsec به دلیل سادگی، عملکرد و تأخیر کمتر، با تکیه بر الگوریتم‌های مدرن مانند ... متمایز است. Curve25519، ChaCha20-Poly1305، BLAKE2، SipHash24 و HKDF.

کد بیس آن بسیار کوچک است (حدود هزاران خط) که ممیزی‌ها را تسهیل می‌کند، سطح حمله را کاهش می‌دهد و نگهداری را بهبود می‌بخشد. همچنین در هسته لینوکس ادغام شده است و این امکان را فراهم می‌کند altas tasas de transferencia و پاسخ سریع حتی در سخت‌افزارهای معمولی.

 

چند پلتفرمی است: برنامه‌های رسمی برای آن وجود دارد ویندوز، macOS، لینوکس، اندروید و iOSو پشتیبانی از سیستم‌های مبتنی بر روتر/فایروال مانند OPNsense. همچنین برای محیط‌هایی مانند FreeBSD، OpenBSD و NAS و پلتفرم‌های مجازی‌سازی نیز در دسترس است.

wireguard vpn

نحوه عملکرد در داخل

 

WireGuard یک تونل رمزگذاری شده بین همسالان برقرار می کند (peers) که توسط کلیدها شناسایی می‌شوند. هر دستگاه یک جفت کلید (خصوصی/عمومی) تولید می‌کند و فقط اطلاعات مربوط به آن را به اشتراک می‌گذارد. کلید عمومی با انتهای دیگر؛ از آنجا، تمام ترافیک رمزگذاری و احراز هویت می‌شود.

La directiva AllowedIPs هم مسیریابی خروجی (ترافیکی که باید از طریق تونل عبور کند) و هم فهرست منابع معتبری که همتای راه دور پس از رمزگشایی موفقیت‌آمیز یک بسته خواهد پذیرفت را تعریف می‌کند. این رویکرد به عنوان ... شناخته می‌شود. Cryptokey Routing و سیاست ترافیک را تا حد زیادی ساده می‌کند.

WireGuard با موارد زیر عالی است roaming- اگر IP کلاینت شما تغییر کند (مثلاً از Wi-Fi به 4G/5G تغییر دهید)، جلسه به صورت شفاف و خیلی سریع دوباره برقرار می‌شود. همچنین از سوئیچ را بکشید برای جلوگیری از ترافیک خروجی از تونل در صورت از کار افتادن VPN.

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

در اوبونتو، WireGuard در مخازن رسمی موجود است. بسته‌ها را به‌روزرسانی کنید و سپس نرم‌افزار را نصب کنید تا ماژول و ابزارها را دریافت کنید. wg و wg-quick.

apt update && apt upgrade -y
apt install wireguard -y
modprobe wireguard

در دبیان پایدار، در صورت نیاز می‌توانید از مخازن شاخه‌های ناپایدار استفاده کنید، البته با پیروی از روش توصیه‌شده و با دقت در تولید:

sudo sh -c 'echo deb https://deb.debian.org/debian/ unstable main > /etc/apt/sources.list.d/unstable.list'
sudo sh -c 'printf "Package: *\nPin: release a=unstable\nPin-Priority: 90\n" > /etc/apt/preferences.d/limit-unstable'
sudo apt update
sudo apt install wireguard

در CentOS 8.3 روند کار مشابه است: در صورت لزوم، مخازن EPEL/ElRepo را فعال کرده و سپس بسته را نصب می‌کنید. وایرگارد و ماژول‌های مربوطه.

محتوای اختصاصی - اینجا را کلیک کنید  مشاهده ایمن: نحوه مشاهده رمز عبور WiFi در تلفن های همراه

سیم‌گارد

تولید کلید

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

umask 077
wg genkey | tee privatekey | wg pubkey > publickey

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

پیکربندی سرور

فایل اصلی را در آن ایجاد کنید /etc/wireguard/wg0.confیک زیرشبکه VPN (که در شبکه محلی واقعی شما استفاده نمی‌شود)، پورت UDP و یک بلوک اضافه کنید. [Peer] به ازای هر مشتری مجاز.

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <clave_privada_servidor>

# Cliente 1
[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 10.0.0.2/32

برای مثال می‌توانید از یک زیرشبکه دیگر نیز استفاده کنید ۴.۴/۵و با چندین نظیر رشد می‌کند. برای استقرار سریع، استفاده از آن رایج است wg-quick با فایل‌های wgN.conf.

پیکربندی کلاینت

برای مثال، روی کلاینت یک فایل ایجاد کنید wg0-client.conf، به همراه کلید خصوصی، آدرس تونل، DNS اختیاری و همتای سرور به همراه نقطه پایانی و پورت عمومی آن.

[Interface]
PrivateKey = <clave_privada_cliente>
Address = 10.0.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = <clave_publica_servidor>
Endpoint = <ip_publica_servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Si pones آی‌پی‌های مجاز = 0.0.0.0/0 تمام ترافیک از طریق VPN عبور خواهد کرد؛ اگر فقط می‌خواهید به شبکه‌های سرور خاصی دسترسی پیدا کنید، آن را به زیرشبکه‌های لازم محدود کنید و در نتیجه، ترافیک را کاهش خواهید داد. تأخیر y consumo.

انتقال IP و NAT روی سرور

قابلیت فوروارد کردن را فعال کنید تا کلاینت‌ها بتوانند از طریق سرور به اینترنت دسترسی داشته باشند. تغییرات را درجا اعمال کنید. sysctl.

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p

پیکربندی NAT با iptables برای زیرشبکه VPN، تنظیم رابط WAN (برای مثال، ات0):

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

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

apt install -y iptables-persistent netfilter-persistent
netfilter-persistent save

راه اندازی و تأیید

رابط را باز کنید و سرویس را برای شروع با سیستم فعال کنید. این مرحله رابط مجازی را ایجاد کرده و اضافه می‌کند. rutas necesarias.

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

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

iptables -I INPUT 1 -i wg0 -j ACCEPT

برنامه‌های رسمی: ویندوز، macOS، اندروید و iOS

در دسکتاپ می‌توانید یک فایل .confدر دستگاه‌های تلفن همراه، این برنامه به شما امکان می‌دهد رابط کاربری را از ... ایجاد کنید. کد QR شامل پیکربندی است؛ برای مشتریان غیر فنی بسیار مناسب است.

اگر هدف شما افشای سرویس‌های خود-میزبان مانند ... است پلکس/رادار/سونار از طریق VPN خود، به سادگی IP ها را در زیرشبکه WireGuard اختصاص دهید و AllowedIP ها را تنظیم کنید تا کلاینت بتواند به آن شبکه دسترسی پیدا کند؛ اگر همه دسترسی ها از طریق ... باشد، نیازی به باز کردن پورت های اضافی به خارج ندارید. túnel.

مزایا و معایب

WireGuard بسیار سریع و ساده است، اما مهم است که محدودیت‌ها و ویژگی‌های آن را بسته به مورد استفاده در نظر بگیرید. در اینجا یک مرور کلی متعادل از مهم‌ترین موارد ارائه شده است. relevante.

محتوای اختصاصی - اینجا را کلیک کنید  همکاری Replit و مایکروسافت برای تقویت توسعه نرم‌افزارهای سازمانی مبتنی بر هوش مصنوعی
مزایا معایب
پیکربندی واضح و کوتاه، ایده‌آل برای اتوماسیون شامل مبهم‌سازی ترافیک داخلی نمی‌شود
عملکرد بالا و تأخیر کم حتی در موبایل‌ها در برخی از محیط‌های قدیمی، گزینه‌های پیشرفته کمتری وجود دارد
رمزنگاری مدرن و کد کوچکی که کار را آسان می‌کند auditoría حریم خصوصی: ارتباط IP/کلید عمومی بسته به سیاست‌ها ممکن است حساس باشد.
رومینگ یکپارچه و سوئیچ kill برای کلاینت‌ها موجود است سازگاری شخص ثالث همیشه همگن نیست

 

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

تونل سازی اسپلیت به شما امکان می‌دهد فقط ترافیک مورد نیاز خود را از طریق VPN ارسال کنید. با AllowedIPs شما تصمیم می‌گیرید که آیا تغییر مسیر کامل یا انتخابی را به یک یا چند زیرشبکه انجام دهید.

# Redirección completa de Internet
[Peer]
AllowedIPs = 0.0.0.0/0
# Solo acceder a recursos de la LAN 192.168.1.0/24 por la VPN
[Peer]
AllowedIPs = 192.168.1.0/24

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

Compatibilidad y ecosistema

WireGuard برای هسته لینوکس متولد شد، اما امروزه ... چندسکوییOPNsense آن را به صورت بومی ادغام می‌کند؛ pfSense به طور موقت برای ممیزی‌ها متوقف شد و متعاقباً به عنوان یک بسته اختیاری بسته به نسخه ارائه شد.

روی NAS مانند QNAP می‌توانید آن را از طریق QVPN یا ماشین‌های مجازی نصب کنید و از کارت‌های شبکه 10GbE بهره ببرید. altas velocidadesبردهای روتر میکروتیک از زمان RouterOS 7.x پشتیبانی از WireGuard را در خود گنجانده‌اند؛ در نسخه‌های اولیه، این قابلیت در نسخه بتا بود و برای تولید انبوه توصیه نمی‌شد، اما امکان تونل‌های P2P بین دستگاه‌ها و حتی کلاینت‌های نهایی را فراهم می‌کند.

تولیدکنندگانی مانند Teltonika بسته‌ای برای اضافه کردن WireGuard به روترهای خود دارند؛ اگر به تجهیزات نیاز دارید، می‌توانید آنها را از اینجا خریداری کنید. shop.davantel.com و برای نصب، دستورالعمل‌های سازنده را دنبال کنید paquetes اضافی

عملکرد و تأخیر

به لطف طراحی مینیمالیستی و انتخاب الگوریتم‌های کارآمد، WireGuard به سرعت‌های بسیار بالایی دست می‌یابد و latencias bajas، به طور کلی از L2TP/IPsec و OpenVPN برتر است. در آزمایش‌های محلی با سخت‌افزار قدرتمند، نرخ واقعی اغلب دو برابر گزینه‌های دیگر است، که آن را برای موارد زیر ایده‌آل می‌کند: استریم، بازی یا VoIP.

پیاده‌سازی سازمانی و دورکاری

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

این برنامه با استفاده از راهکارهای واسطه با دایرکتوری‌هایی مانند LDAP/AD ادغام می‌شود و می‌تواند با پلتفرم‌های IDS/IPS یا NAC همزیستی داشته باشد. یک گزینه محبوب، PacketFence (منبع باز) که به شما امکان می‌دهد وضعیت تجهیزات را قبل از اعطای دسترسی تأیید کنید و BYOD را کنترل کنید.

سیم‌گارد

ویندوز/مک: یادداشت‌ها و نکات

برنامه رسمی ویندوز معمولاً بدون مشکل کار می‌کند، اما در برخی از نسخه‌های ویندوز ۱۰ هنگام استفاده مشکلاتی وجود داشته است. آی‌پی‌های مجاز = 0.0.0.0/0 به دلیل تداخل مسیر. به عنوان یک جایگزین موقت، برخی از کاربران کلاینت‌های مبتنی بر WireGuard مانند TunSafe یا محدود کردن AllowedIPها به زیرشبکه‌های خاص را انتخاب می‌کنند.

راهنمای شروع سریع دبیان به همراه مثال‌های کلیدی

ایجاد کلید برای سرور و کلاینت در /etc/wireguard/ و رابط wg0 را ایجاد کنید. مطمئن شوید که IP های VPN با هیچ IP دیگری در شبکه محلی یا کلاینت های شما مطابقت ندارند.

cd /etc/wireguard/
wg genkey | tee claveprivadaservidor | wg pubkey > clavepublicaservidor
wg genkey | tee claveprivadacliente1 | wg pubkey > clavepublicacliente1

سرور wg0.conf با زیرشبکه ۱۹۲.۱۶۸.۲.۰/۲۴ و پورت ۵۱۸۲۰. اگر می‌خواهید خودکارسازی شود، PostUp/PostDown را فعال کنید. NAT با iptables هنگام بالا/پایین آوردن رابط.

[Interface]
Address = 192.168.2.1/24
PrivateKey = <clave_privada_servidor>
ListenPort = 51820
#PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <clave_publica_cliente1>
AllowedIPs = 0.0.0.0/0

کلاینتی با آدرس ۱۹۲.۱۶۸.۲.۲ که به نقطه پایانی عمومی سرور اشاره می‌کند و با keepalive اختیاری است اگر NAT میانی وجود داشته باشد.

[Interface]
PrivateKey = <clave_privada_cliente1>
Address = 192.168.2.2/32

[Peer]
PublicKey = <clave_publica_servidor>
AllowedIPs = 0.0.0.0/0
Endpoint = <ip_publica_servidor>:51820
#PersistentKeepalive = 25

رابط را بالا بکشید و MTU، علائم مسیر و ... را تماشا کنید. fwmark و قوانین سیاست مسیریابی. خروجی و وضعیت wg‑quik را با wg show.

محتوای اختصاصی - اینجا را کلیک کنید  Cómo deshacerse de RAMNIT

Mikrotik: تونل بین RouterOS 7.x

میکروتیک از زمان RouterOS 7.x از WireGuard پشتیبانی می‌کند. یک رابط WireGuard روی هر روتر ایجاد کنید، آن را اعمال کنید و به طور خودکار تولید می‌شود. clavesبه Ether2 به عنوان WAN و به wireguard1 به عنوان رابط تونل، IP اختصاص دهید.

پیکربندی نظیرها با عبور از کلید عمومی سرور در سمت کلاینت و برعکس، تعریف آدرس‌های مجاز/IPهای مجاز (برای مثال) ۴.۴/۵ اگر می‌خواهید به هر منبع/مقصدی اجازه عبور از تونل را بدهید) و نقطه پایانی راه دور را با پورت آن تنظیم کنید. پینگ به IP تونل راه دور، تایید می‌کند handshake.

اگر تلفن‌های همراه یا رایانه‌ها را به تونل میکروتیک متصل می‌کنید، شبکه‌های مجاز را به دقت تنظیم کنید تا بیش از حد لازم باز نشوند؛ WireGuard جریان بسته‌ها را بر اساس شما تعیین می‌کند. Cryptokey Routingبنابراین، تطبیق مبدا و مقصد بسیار مهم است.

رمزنگاری مورد استفاده

WireGuard از مجموعه‌ای مدرن از موارد زیر استفاده می‌کند: Noise به عنوان یک چارچوب، Curve25519 برای ECDH، ChaCha20 برای رمزگذاری متقارن احراز هویت شده با Poly1305، BLAKE2 برای هشینگ، SipHash24 برای جداول هش و HKDF برای استخراج clavesاگر یک الگوریتم منسوخ شود، پروتکل می‌تواند برای مهاجرت یکپارچه، نسخه‌بندی شود.

مزایا و معایب در موبایل

استفاده از آن در تلفن‌های هوشمند به شما امکان می‌دهد با خیال راحت در اینترنت مرور کنید Wi‑Fi públicas، ترافیک را از ISP خود پنهان کنید و برای دسترسی به NAS، اتوماسیون خانگی یا بازی به شبکه خانگی خود متصل شوید. در iOS/Android، تعویض شبکه باعث از بین رفتن تونل نمی‌شود، که این امر تجربه را بهبود می‌بخشد.

به عنوان معایب، در مقایسه با خروجی مستقیم، مقداری افت سرعت و تأخیر بیشتری خواهید داشت و به سرور همیشه وابسته هستید. موجود استبا این حال، در مقایسه با IPsec/OpenVPN، جریمه معمولاً کمتر است.

WireGuard سادگی، سرعت و امنیت واقعی را با یک منحنی یادگیری ملایم ترکیب می‌کند: آن را نصب کنید، کلیدها را تولید کنید، AllowedIPها را تعریف کنید و آماده شروع به کار هستید. قابلیت ارسال IP، NAT به خوبی پیاده‌سازی شده، برنامه‌های رسمی با کدهای QR و سازگاری با اکوسیستم‌هایی مانند OPNsense، Mikrotik یا Teltonika را اضافه کنید. یک VPN مدرن تقریباً برای هر سناریویی، از ایمن‌سازی شبکه‌های عمومی گرفته تا اتصال دفاتر مرکزی و دسترسی به خدمات خانگی شما بدون دردسر.