WireGuard یک شبکه خصوصی مجازی سبک، سریع و امن است که از پروتکلهای IPv4 و IPv6 پشتیبانی میکند و به شما این امکان را میدهد که در شبکههای عمومی و غیرمطمئن مانند وایفای هتلها یا کافیشاپها، به صورت ایمن و ناشناس به اینترنت متصل شوید. برخلاف دیگر شبکههای خصوصی مجازی که از روشهای پیچیدهای مانند TLS و گواهیها برای رمزگذاری استفاده میکنند، WireGuard با استفاده از کلیدهای عمومی و خصوصی، تونلهای رمزگذاری شده ساده و امنی میان گرهها ایجاد میکند. این ویژگی باعث میشود که تنظیم و استفاده از WireGuard نسبت به دیگر نرمافزارهای شبکه خصوصی مجازی بسیار راحتتر و سریعتر باشد. در این مقاله، مراحل نصب و راهاندازی WireGuard بر روی سرور Ubuntu 20.04 را شرح خواهیم داد و نحوه پیکربندی یک سیستم دیگر بهعنوان گره یا کلاینت برای اتصال امن به سرور را بررسی میکنیم.
سرور و کلاینت در WireGuard
در WireGuard تفاوت مشخصی بین سرور و کلاینت وجود ندارد. این نرم افزار از پروتکل P2P (همتا به همتا) استفاده میکند، به این معنی که همهی همتاها مشابه هستند. آنچه باعث میشود یک همتا مانند سرور و دیگری مانند کلاینت به نظر برسد، تنظیمات پیکربندی است. تفاوتهای مهم در پیکربندی بین “سرور” و “کلاینت” را در این جدول بررسی میکنیم. تعداد زیادی “کلاینت” وجود دارد، اما فقط یک “سرور” وجود دارد.
| کلاینت | سرور |
| آدرس IP دستگاه ممکن است خصوصی یا عمومی باشد. | آدرس IP خصوصی است و همتا پشت یک NAT قرار دارد. |
| آدرس IP و پورت UDP WireGuard ممکن است ثابت یا پویا باشند. | آدرسها پویا هستند و با گذشت زمان تغییر میکنند. |
| نیاز به پیکربندی ویژهای ندارد. | همتا به عنوان یک روتر عمل کرده و دسترسی به اینترنت را برای همتاهای “کلاینت” فراهم میکند و همهی همتاهای “کلاینت” را به هم متصل میکند. |
| همتای کلاینت فقط از همتای “سرور” آگاهی دارد. | همتای “سرور” اطلاعات همهی همتاهای “کلاینت” را در پیکربندی خود دارد. |
نصب کلاینت WireGuard در اوبونتو
فرآیند نصب کلاینت WireGuard مشابه مراحل راهاندازی سرور آن است.
۱. وارد سرور لینوکس خود از طریق SSH شوید.
۲. پس از وارد شدن، سیستم خود را با اجرای دستور زیر بهروزرسانی کنید:
sudo apt-get update && sudo apt-get upgrade
۳. سپس، WireGuard را با دستور زیر نصب کنید:
sudo apt-get install wireguard
ایجاد کلیدهای خصوصی و عمومی
WireGuard برای ایمنسازی ارتباطات از جفت کلیدهای خصوصی و عمومی استفاده میکند. کلید عمومی با طرف مقابل به اشتراک گذاشته میشود تا آنها بتوانند پیامهایی را رمزگذاری کنند که تنها با استفاده از کلید خصوصی مربوطه قابل رمزگشایی است. برای ارتباط متقابل، هر دو طرف باید جفت کلیدهای خود را داشته باشند.
برای تولید یک جفت کلید برای کلاینت، دستور زیر را اجرا کنید:
wg genkey | tee private.key | wg pubkey > public.key
۴. سپس، فایل پیکربندی برای کلاینت را در دایرکتوری مشخص شده ایجاد کنید:
sudo nano /etc/wireguard/wg0.conf
۵. محتوای زیر را به فایل اضافه کنید:
[Interface] PrivateKey = <محتوای کلید خصوصی کلاینت> Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 51820 [Peer] PublicKey = <محتوای کلید عمومی سرور> AllowedIPs = 10.0.0.2/32
نکات مهم:
- کلید عمومی را با کلید عمومی سرور (که در سرور تولید شده است) جایگزین کنید.
- کلید خصوصی کلاینت را در فیلد PrivateKey قرار دهید. برای نمایش کلید، از دستور زیر استفاده کنید:
cat private.key
مثال از فایل nano با کلیدهای تولید شده:
شروع به کار با WireGuard
برای فعالسازی اتصال شبکه wireguard، از دستور زیر استفاده کنید:
sudo wg-quick up wg0
اکنون باید قادر به برقراری ارتباط با سرور باشید. برای بررسی اتصال، سعی کنید سرور را پینگ کنید:
ping 10.0.0.1
برای بررسی وضعیت اتصال، دستور زیر را اجرا کنید:
sudo wg show
این دستور تمام جزئیات مربوط به اتصال را نمایش میدهد.
دستگاه کلاینت شما باید اکنون با موفقیت به شبکه وایرگارد متصل شده باشد.
جمع بندی
WireGuard یک راهحل سریع، ایمن و آسان برای استفاده در راهاندازی اتصالات شبکه خصوصی مجازی ارائه میدهد. با دنبال کردن مراحل ذکر شده در این راهنما، میتوانید به سرعت یک کلاینت WireGuard را روی اوبونتو ۲۰.۰۴ نصب کرده و ارتباط ایمن با سرور خود برقرار کنید. سادگی و عملکرد بالای آن، آن را به یک انتخاب عالی برای استفاده شخصی و حرفهای تبدیل کرده است و اطمینان میدهد که دادهها به صورت رمزنگاری شده و از تهدیدات خارجی محافظت میشوند.


