WireGuard آسان شد: VPN خود را در 15 دقیقه ایجاد کنید

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

  • WireGuard با رمزنگاری مدرن و راه‌اندازی آسان، عملکرد بالا و تأخیر کم را ارائه می‌دهد.
  • این دستگاه از رومینگ، kill-switching و split-tunneling پشتیبانی می‌کند که برای تحرک‌پذیری و دسترسی امن به شبکه ایده‌آل است.
  • پیکربندی همگن و چند پلتفرمی با مدیریت کلید واضح و قوانین NAT/فایروال.
  • در محیط‌های سازمانی، برای دسترسی کنترل‌شده با NAC، IDS/IPS و دایرکتوری‌ها ادغام می‌شود.
سیم‌گارد

آیا به دنبال VPN هستید که سریع و امن باشد و با تنظیمات بی‌پایان شما را ناامید نکند؟ وایرگارد این یکی از بهترین گزینه‌ها است. این پروتکل مدرن، سادگی و رمزنگاری پیشرفته را در اولویت قرار داده و راه‌اندازی یک تونل امن را برای هر کسی آسان می‌کند.

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

خلاصه ای از WireGuard

وایرگارد (WireGuard) یک نرم افزار vpn متن‌باز با گرایش به لایه ۳ (L3) که به طور پیش‌فرض منحصراً از UDP و رمزنگاری مدرن استفاده می‌کند.مزیت اصلی آن طراحی مینیمالیستی با خطوط کد بسیار کم است که ممیزی‌ها را تسهیل می‌کند، سطح حمله را کاهش می‌دهد و عملکرد را بهبود می‌بخشد.

برخلاف آنچه سایر VPN ها ارائه می‌دهند، در اینجا شما ده‌ها الگوریتم یا مرحله را انتخاب نمی‌کنید؛ WireGuard یک «بسته» رمزنگاری منسجم تعریف می‌کنداگر یک الگوریتم منسوخ شود، نسخه جدیدی منتشر می‌شود و کلاینت‌ها/سرور به طور شفاف در مورد ارتقاء آن مذاکره می‌کنند.

این پروتکل همیشه در حالت تونل کار می‌کند، و از IPv4 و IPv6 پشتیبانی می‌کند (در صورت لزوم، یکی را درون دیگری کپسوله می‌کند)برای استفاده از آن، باید یک پورت UDP (قابل تنظیم) روی روتر خود به سرورتان باز کنید.

سازگاری و پشتیبانی

در دنیای فایروال‌ها، OPNsense، WireGuard را در هسته ادغام می‌کند. برای به حداکثر رساندن سرعت. pfSense فراز و نشیب‌های خود را داشت: در نسخه ۲.۵.۰ ظاهر شد، به دلیل یافته‌های امنیتی در نسخه ۲.۵.۱ حذف شد، و امروزه می‌توان آن را به صورت یک بسته نصب کرد از رابط وب مدیریت می‌شود.

 

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

وایرگارد به مجموعه‌ای از الگوریتم‌های مدرن و بسیار دقیق متکی است: چارچوب پروتکل نویز، Curve25519، ChaCha20، Poly1305، BLAKE2، SipHash و HKDFرمزگذاری داده‌ها از ChaCha20-Poly1305 (AEAD) با تبادل ECDH روی Curve25519 و استخراج کلید با HKDF استفاده می‌کند.

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

محتوای اختصاصی - اینجا را کلیک کنید  چگونه یک تلفن همراه را بررسی کنیم

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

پیاده‌سازی مینیمالیستی و یکپارچه‌سازی سطح پایین اجازه می‌دهد سرعت بسیار بالا و تأخیر بسیار کمدر مقایسه‌های دنیای واقعی با L2TP/IPsec و OpenVPN، WireGuard معمولاً در صدر قرار می‌گیرد و اغلب توان عملیاتی را روی همان سخت‌افزار دو برابر می‌کند.

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

سیم‌گارد

نصب سریع در لینوکس

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

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

اگر از شاخه‌ای استفاده می‌کنید که آن را در بخش «پایدار» ندارد، می‌توانید به مخازن «ناپایدار/در حال آزمایش» تحت کنترل اولویت‌دار متوسل شوید، اگرچه در حالت ایده‌آل، باید آن را از مخزن پایدار (stable repository) دریافت کنید. از توزیع شما وقتی که در دسترس قرار گرفت.

تولید کلید

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

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

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

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

فایل معمولی این است /etc/wireguard/wg0.confدر این بخش، آدرس IP VPN، کلید خصوصی و پورت UDP را تعریف می‌کنید. در هر بخش، یک کلاینت اضافه می‌کنید و کلید عمومی و آدرس‌های IP مجاز آن را مجاز می‌شمارید.


Address = 192.168.2.1/24
ListenPort = 51820
PrivateKey = <clave_privada_servidor>
# Ejemplo de NAT automátizado con PostUp/PostDown, si lo necesitas
#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


PublicKey = <clave_publica_cliente1>
AllowedIPs = 192.168.2.2/32

# Añade más peers según necesites
#
#PublicKey = <clave_publica_cliente2>
#AllowedIPs = 192.168.2.3/32

اگر ترجیح می‌دهید هر IP کلاینت را مجاز کنید و مسیرها را جداگانه مدیریت کنید، می‌توانید از آی‌پی‌های مجاز = 0.0.0.0/0 در محیط‌های نظیر به نظیر، اما در محیط‌های کنترل‌شده بهتر است برای قابلیت ردیابی، به ازای هر کلاینت ۳۲/ اختصاص داده شود.

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

La بخش این شامل کلید خصوصی و IP آن در VPN؛ کلید عمومی سرور، نقطه پایانی آن و سیاست مسیریابی است.


PrivateKey = <clave_privada_cliente>
Address = 192.168.2.2/32
DNS = 1.1.1.1


PublicKey = <clave_publica_servidor>
Endpoint = <IP_publica_servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

El نگهدارنده مداوم (25) این امر در صورتی که کلاینت پشت NAT/فایروال‌هایی باشد که نگاشت‌های غیرفعال را مسدود می‌کنند، مفید است. AllowedIPs مشخص می‌کند که آیا شما تمام ترافیک را از طریق VPN (0.0.0.0/0) یا فقط زیرشبکه‌های خاص هدایت می‌کنید.

محتوای اختصاصی - اینجا را کلیک کنید  نحوه جاسوسی واتس‌اپ از دستگاه دیگر

سیم‌گارد

NAT، فورواردینگ و فایروال

برای اینکه کلاینت‌ها بتوانند از طریق سرور به اینترنت دسترسی داشته باشند، باید فعال کردن انتقال IP و NAT را روی رابط WAN اعمال کنید.

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

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

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

sudo iptables -I INPUT 1 -i wg0 -j ACCEPT

برای بالا آوردن رابط کاربری و فعال کردن سرویس در هنگام راه‌اندازی: wg-quick و systemd آنها آن را برای شما روی حالت خودکار می‌گذارند.

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

رومینگ، سوئیچ قطع دسترسی و تحرک‌پذیری

WireGuard برای استفاده روزمره از موبایل طراحی شده است: اگر از Wi-Fi به 4G/5G تغییر دهید، تونل در یک چشم به هم زدن دوباره برقرار می‌شود.هنگام تعویض شبکه، هیچ وقفه جدی را متوجه نخواهید شد.

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

تونل سازی اسپلیت

تونل تقسیم شده به شما امکان تصمیم گیری می دهد چه ترافیکی از طریق VPN عبور می‌کند و چه چیزی مستقیماً خارج می‌شود؟برای حفظ تأخیر کم مفید است بازی یا تماس ویدیویی در حالی که از طریق تونل به منابع داخلی دسترسی پیدا می‌کنند.

دو نمونه پیکربندی معمول روی کلاینت، با استفاده از دستورالعمل AllowedIPs:

# Redirección total por la VPN

PublicKey = <clave_publica_servidor>
AllowedIPs = 0.0.0.0/0
Endpoint = <IP_publica_servidor>:51820
# Solo la LAN remota (por ejemplo, 192.168.1.0/24) a través de la VPN

PublicKey = <clave_publica_servidor>
AllowedIPs = 192.168.1.0/24
Endpoint = <IP_publica_servidor>:51820

این امر تأثیر بر سرعت/تأخیر را کاهش می‌دهد و شما تجربه را بهینه می‌کنید برای چیزی که واقعاً باید از آن محافظت کنی.

سیم‌گارد

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

  • به نفعسرعت، تأخیر کم، سادگی، رمزنگاری مدرن، کاهش مصرف منابع و یک پایگاه کد کوچک که حسابرسی‌ها را تسهیل می‌کند.
  • علیه: پشتیبانی در برخی از اکوسیستم‌های قدیمی نسبت به IPsec/OpenVPN کمتر بالغ شده است، ویژگی‌های پیشرفته محدودتری (اسکریپت‌ها و مبهم‌سازی بومی) دارد و ملاحظات حریم خصوصی به دلیل مرتبط بودن کلیدهای عمومی با IPهای تونل داخلی، در نظر گرفته شده است.

پشتیبانی از فایروال‌ها، NAS و QNAP

در دستگاه‌های از نوع فایروال، OPNsense با WireGuard ادغام می‌شود با شتاب هسته. در pfSense، در حالی که منتظر یکپارچه‌سازی پایدار هستید، می‌توانید بسته را نصب کرده و آن را به راحتی از رابط کاربری گرافیکی مدیریت کنید.

محتوای اختصاصی - اینجا را کلیک کنید  چگونه یک ایمیل را مسدود کنیم

روی QNAP NAS، از طریق QVPN 2، می‌توانید سرورهای L2TP/IPsec، OpenVPN و WireGuard را تنظیم کنید.... و حتی اگر می‌خواهید OpenVPN را با AES-GCM تنظیم کنید یا با iperf3 اندازه‌گیری کنید، دبیان را مجازی‌سازی کنید. در آزمایش‌هایی با سخت‌افزار قدرتمند (مانند QNAP با Ryzen 7 و 10GbE) و یک کلاینت 10GbE، WireGuard عملکرد را دو برابر کرد در مقابل L2TP/IPsec یا OpenVPN در همان محیط محلی.

WireGuard در موبایل: نقاط قوت و ضعف

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

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

نصب و استفاده در پلتفرم‌های دیگر

در macOS، ویندوز، اندروید و iOS، برنامه‌های رسمی وجود دارد؛ تنها کاری که باید انجام دهید این است که فایل .conf را وارد کنید یا یک کد QR را اسکن کنید از مدیر پیکربندی شما تولید می‌شود. این فرآیند عملاً مشابه لینوکس است.

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

تأیید و تشخیص

برای تأیید اینکه همه چیز مرتب است، تکیه دهید wg و wg-quickشما می‌توانید handshakeها، بایت‌های منتقل شده و زمان‌های گذشته از آخرین swap را مشاهده کنید.

wg
wg show

اگر اتصال برقرار نشد، موارد زیر را بررسی کنید: مسیرهای سیستم، NAT، پورت UDP باز روی روتر و اینکه Endpoint و کلیدهای هر peer صحیح هستند. پینگ به آدرس IP سرور روی VPN معمولاً اولین آزمایش مفید است.

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