ستشرح هذه المقالة بالتفصيل كيفية إعداد Wireguard VPN على خادمك. يمكن أن يكون خادمًا افتراضيًا أو خاصًا، لا يهم كثيرًا.
تم تصميم دليل إعداد VPN Wireguard هذا للمستخدمين الذين ليس لديهم الكثير من الخبرة، لذلك ستكون جميع الخطوات مفصلة للغاية ومتبوعة بلقطات شاشة.
سيتم تشفير حركة المرور التي تمر عبر نفقنا، وسيعرض الإنترنت عنوان IP الخاص بخادم VPN الخاص بنا، وليس عنوان المزود الذي نصل من خلاله إلى الشبكة.
من المفترض أن لديك بالفعل خادم VPS. إذا لم يكن كذلك، يمكنك طلب من منا.
سنقوم بتثبيت نظام التشغيل أوبونتو 22.04 على خادمنا. إذا كان لديك خادم بنظام تشغيل مختلف، فيمكنك إعادة تثبيته بسهولة باتباع الخطوات التالية: تعليمات.
حسنًا، الخادم الذي يعمل بنظام تشغيل أوبونتو 22.04 جاهز، والآن نتصل به عبر SSH. إذا لم تكن قد صادفت هذا البروتوكول من قبل، فستساعدك مقالة تشرح هذه العملية بالتفصيل. الفقرة الثانية من البند هو لنظام التشغيل Linux، والثالث لنظام التشغيل Windows.
إعداد خادم Wireguard
بعد اتصال ناجح، سأكتب بعض الأوامر ووصفًا لما تنتجه لفهم العملية:
نقوم بتحديث قائمة الحزم الموجودة في المستودعات
apt update
تجديد الباقات نفسها
apt upgrade -y
تثبيت حزمة Wireguard
apt install -y wireguard
سيتم تخزين تكويننا في الدليل /etc/wireguard/، نحتاج إلى إدخال الدليل:
cd /etc/wireguard/
سنحتاج إلى مفتاح عام ومفتاح خاص لخادمنا. سنقوم بإنشائهما بعد ضبط الصلاحيات الصحيحة عند إنشاء الملفات والمجلدات باستخدام الأوامر التالية:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
الآن قمنا بتعيين الحقوق للمفتاح الخاص:
chmod 600 privatekey
قبل إنشاء ملف التكوين، نحتاج إلى اسم واجهة الشبكة. لاكتشافها، استخدم الأمر:
ip a
نحتاج إلى الواجهة التي تحمل عنوان IP المُستخدم للاتصال الحالي. يُحتمل أن يكون اسمها ens3 في حالتك، ولكن قد يكون هناك اسم آخر.
سنحتاج أيضًا إلى مفتاح عام ومفتاح خاص. لعرضهما، أستخدم مفتاح الذيل.
tail privatekey publickey
يبدو مثل هذا:
للتحرير، يمكنك استخدام أي محرر نصوص لينكسسأستخدم نانو. لتثبيته، عليك تشغيل الأمر التالي:
apt install -y nano
نقوم بتعديل ملف التكوين:
nano /etc/wireguard/wg0.conf
ملاحظات
لحفظ الملف نستخدم مجموعة أزرار ctrl+o
للخروج - ctrl+x
يجب أن تبدو هذه:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
في حالتي يبدو الأمر هكذا
نقوم بتفعيل إعادة توجيه IP
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
إطلاق خدمة Wireguard:
systemctl start [email protected]
إذا أردنا أن تبدأ الخدمة بعد إعادة تشغيل الخادم، فإننا نفعل ما يلي:
systemctl enable [email protected]
لعرض حالة الخدمة:
systemctl status [email protected]
يجب أن تكون الحالة نشطة كما في لقطة الشاشة:
إذا اتبعت تعليماتنا بعناية، ففي هذه المرحلة، لديك كل ما تحتاجه لجعل جزء الخادم من VPN Wireguard يعمل.
إعداد عميل Wireguard
لم يتبقَّ سوى تهيئة جزء العميل. على سبيل المثال، وللتبسيط، سأُولِّد مفاتيح لجزء العميل على الخادم أيضًا. ولكن لأغراض أمنية، يُفضَّل إنشاء المفاتيح على جانب العميل. أستخدم الأوامر التالية للتوليد:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
سأقوم أيضًا بإنشاء مفاتيح لاستخدام VPN على الهاتف:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
تجدر الإشارة إلى أن كل هذا مطلوب القيام به أثناء التواجد في الكتالوج
/إلخ/واير جارد/
يمكنك أيضًا تشغيله في كتالوج آخر. ولكن للتبسيط، ننفذ التعليمات في /etc/wireguard/
نستخدم الأمر ls لعرض الملفات في مجلد. حصلتُ على الأمر التالي:
لنعرض المفاتيح العامة على الشاشة. سنحتاجها لإضافة عُقد إلى شبكتنا:
tail mypc_publickey myphone_publickey
بالنسبة لي يبدو الأمر كالتالي:
دعونا نقوم بتحرير ملف التكوين الخاص بنا:
nano wg0.conf
أضف الأسطر التالية:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
الآن يبدو ملف التكوين مثل هذا:
احفظ الملف وأعد تشغيل خدمتنا:
systemctl restart wg-quick@wg0
دعونا نتحقق من أن كل شيء كان ناجحا:
systemctl status wg-quick@wg0
يجب أن تكون الحالة نشطة
يلزم إعادة تحميل الخدمة في كل مرة بعد تحرير ملف تكوين الخادم (wg0.conf)
بعد ذلك، سنُنشئ إعدادات للعملاء (في حالتي، جهاز الكمبيوتر والهاتف). وسأفعل الشيء نفسه على الخادم.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
في حقل نقطة النهاية، يمكنك رؤية عنوان IP الخاص بالخادم - وهو عنوان IP الذي استخدمناه للاتصال عبر SSH. لعرض الواجهات والعناوين، يمكنك استخدام الأمر ip a.
إعداد Wireguard للجوال
سننشئ تكوينًا مشابهًا لهاتفنا. ما عليك سوى تغيير العنوان. كان عنوان جهاز الكمبيوتر 10.30.0.2/32، وسنستخدمه في تكوين الهاتف 10.30.0.3/32. أيضًا، إذا أردنا استخدام VPN على أجهزة أخرى، فعلينا إضافة عناوين أخرى إلى حقل "العنوان" في ملفات التكوين، وملف تكوين الخادم wg0.conf، وحقل "عناوين IP المسموح بها" عند إنشاء التكوينات.
تبدو الملفات في حالتي بهذا الشكل:
ملف mypc.conf
ملف myphone.conf
للاتصال، نقوم بتثبيت عميل Wireguard https://www.wireguard.com/install/
في تطبيق الويندوز نضيف نفق جديد وندخل التكوين الذي تم إنشاؤه في ملف mypc.conf
نطلق النفق ونذهب إلى المتصفح إلى الموقع الذي يعرض عنواننا
لكي تتمكن من إضافة VPN إلى هاتفك بسهولة، قم بتثبيت برنامج لإنشاء رموز QR على الخادم:
apt install -y qrencode
عند وجودك في دليل التكوين، قم بالخطوة التالية:
qrencode -t ansiutf8 -r myphone.conf
بعد ذلك، ندخل إلى تطبيق Wireguard على الهاتف، ونضغط على + لإنشاء نفق جديد، ثم نختار مسح رمز الاستجابة السريعة، ثم نمسحه، ثم نفعّل VPN. بعد ذلك، نتحقق من عرض عنوان خادمنا باستخدام أي مورد يعرض عنوان IP الناتج.
أنت فعلت ذلك!