السلام عليكم ورحمة الله وبركاته
مقدمة
بروتوكول WireGuard هو بروتوكول مفتوح المصدر لإنشاء شبكة VPN مشفرة، يتميز بالسرعة وسهولة الإعداد مقارنة بالبدائل الأخرى مثل OpenVPN. كما أنه مدمج في نواة لينكس، مما يجعله أكثر كفاءة وأداءً.
المتطلبات
قبل البدء، تأكد من توفر المتطلبات التالية:
- خادم غير محجوب خلف NAT (مثل CGNAT) ويملك عنوان WAN يمكن الوصول إليه عبر الإنترنت.
- إمكانية الوصول لمنافذ UDP، حيث يعتمد WireGuard على بروتوكول UDP.
- جهاز عميل (مثل هاتف ذكي أو كمبيوتر) يمكنه الاتصال بالإنترنت والوصول إلى الخادم.
تثبيت WireGuard
على الخادم والعميل
قم بتثبيت WireGuard باستخدام الأمر التالي (قد يختلف حسب التوزيعة المستخدمة):
sudo apt install wireguard
توليد المفاتيح
لكل جهاز (الخادم والعميل)، ستحتاج إلى إنشاء مفتاح عام وخاص:
توليد المفاتيح على الخادم:
umask 077 # لتحديد صلاحيات الملفات
wg genkey > privatekey
wg pubkey < privatekey > publickey
توليد المفاتيح على العميل:
umask 077
wg genkey > clientprivatekey
wg pubkey < clientprivatekey > clientpublickey
بعد تنفيذ هذه الأوامر، ستحصل على:
- مفتاح عام وخاص للخادم (
publickey
وprivatekey
). - مفتاح عام وخاص للعميل (
clientpublickey
وclientprivatekey
).
إعداد الشبكة
سيتم إعداد شبكة VPN بحيث يكون عنوان الخادم 10.0.0.1 وعنوان العميل 10.0.0.2.
إعداد الخادم
أنشئ ملف الإعداد التالي:
sudo nano /etc/wireguard/wg0.conf
أضف المحتوى التالي:
[Interface]
PrivateKey = <ضع هنا privatekey الخاص بالخادم>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <ضع هنا clientpublickey الخاص بالعميل>
AllowedIPs = 10.0.0.2/32
احفظ الملف، ثم قم بتشغيل WireGuard:
wg-quick up wg0
ولتفعيل الخدمة تلقائيًا بعد إعادة التشغيل:
systemctl enable wg-quick@wg0
للتحقق من حالة الشبكة:
wg
إعداد العميل
على الجهاز العميل، أنشئ ملف الإعداد:
sudo nano /etc/wireguard/wg0.conf
أضف المحتوى التالي:
[Interface]
Address = 10.0.0.2/24
PrivateKey = <ضع هنا clientprivatekey الخاص بالعميل>
[Peer]
PublicKey = <ضع هنا publickey الخاص بالخادم>
Endpoint = <عنوان IP للخادم>:51820
AllowedIPs = 0.0.0.0/0
شغل WireGuard على العميل:
wg-quick up wg0
اختبار الاتصال
بعد الإعداد، تحقق من الاتصال بين العميل والخادم:
ping 10.0.0.1
إذا استقبلت ردًا، فهذا يعني أن الشبكة تعمل بشكل صحيح.
خاتمة
بذلك تكون قد أعددت شبكة WireGuard بنجاح، مما يتيح لك إنشاء اتصال VPN آمن وسريع. يمكنك توسيع الإعداد لدعم عملاء إضافيين أو استخدامه كـ Reverse Proxy لاستضافة التطبيقات والخدمات خلف NAT.