كيفية إعداد Wireguard VPN على نظام Linux


يعد Wireguard برنامجًا خفيًا قويًا للشبكة الافتراضية الخاصة (VPN) مفتوحة المصدر ويمكن تشغيله على كل من أجهزة سطح المكتب والأجهزة المحمولة. فهو يوفر بديلاً سريعًا وخفيف الوزن لحلول VPN التقليدية مثل IPsec وOpenVPN. نعرض لك هنا كيفية تثبيت Wireguard وإنشاء شبكة VPN بسيطة باستخدام ثلاثة أجهزة تعمل بنظام التشغيل Linux.

لماذا نستخدم Wireguard كحل VPN؟

واحدة من أكبر نقاط البيع في Wireguard هي أنه برنامج VPN سريع وخفيف الوزن. على عكس الحلول التقليدية، لا يضيف Wireguard الكثير من الحمل إلى شبكتك. وينتج عن ذلك زمن وصول أقل ومعدل إنتاجية إجمالي مرتفع عبر العقد الخاصة بك.

محطة تعرض اختبار iperf3 بين عقدتين من Wireguard تظهر إنتاجية عالية.

الميزة الرئيسية الأخرى لـ Wireguard هي أنها وحدة داخل Linux kernel. وهذا يسمح له بالعمل دون استهلاك أي موارد نظام إضافية من جهاز الكمبيوتر الخاص بك، مما يجعله خيارًا مثاليًا للنشر على الأجهزة المنخفضة الجودة وأجهزة SOC.

محطة تعرض Wireguard المحمل على Linux kernel.

وأخيرًا، تستفيد Wireguard أيضًا من معايير التشفير الحديثة وممارسات التطوير. كما أنها تحتوي على العديد من عمليات التحقق الرسمية، والتي تؤكد صحة كود Wireguard، وضماناتها الأمنية، وقدرتها على مقاومة الهجمات.

في ملحوظة جانبية: هل ما زلت غير مقتنع بـ Wireguard؟ تعرف على كيفية تنافس Wireguard مع OpenVPN.

الحصول على Wireguard

الخطوة الأولى لإعداد Wireguard على Linux هي تنزيل أدواته الأساسية من مستودع التوزيعة لديك. يتيح لك هذا التحكم في وحدة Wireguard kernel المدمجة باستخدام أوامر مساحة المستخدم.

لتثبيت الأدوات الأساسية في Ubuntu وDebian، قم بتشغيل الأمر التالي:

sudo apt install wireguard wireguard-tools

في فيدورا، يمكنك استخدام dnf مدير مجموعة:

sudo dnf install wireguard-tools

بالنسبة لنظام Arch Linux، يمكنك تشغيله pacman للحصول على أدوات Wireguard الأساسية:

sudo pacman -S wireguard-tools

تأكد من تثبيت أدوات Wireguard بشكل صحيح عن طريق تحميل شاشة المساعدة الخاصة بها:

محطة تعرض قائمة المساعدة الخاصة بأداة مساحة المستخدم Wireguard.

إعداد خادم Wireguard

افتراض: تفترض هذه المقالة أنك تقوم بتثبيت خادم Wireguard على نظام Linux بعنوان IPv4 يمكن الوصول إليه بشكل عام. ستظل التعليمات تعمل على خادم خلف NAT، لكنها لن تجد العقد خارج شبكتها الفرعية.

باستخدام مجموعة أدوات Wireguard الأساسية على أجهزة Linux الخاصة بك، يمكنك الآن إعداد عقدة خادم VPN الخاصة بك. سيكون هذا بمثابة بوابة الإنترنت لعقد العميل الخاصة بك في الشبكة.

ابدأ بالانتقال إلى دليل تكوين Wireguard الخاص بك وقم بتعيين أذوناته الافتراضية على “الجذر فقط:”

cd /etc/wireguard
sudo umask 077

ملحوظة: قد تمنعك بعض الأنظمة من الدخول إلى المجلد “/etc/wireguard” كمستخدم عادي. لإصلاح ذلك، قم بالتبديل إلى المستخدم الجذر باستخدام sudo -s.

قم بإنشاء المفتاح العام والخاص لخادم Wireguard الخاص بك:

sudo sh -c 'wg genkey | tee /etc/wireguard/server-private-key | wg pubkey > /etc/wireguard/server-public-key'

قم بإنشاء ملف تكوين الخادم الخاص بك باستخدام محرر النصوص المفضل لديك:

sudo nano /etc/wireguard/wg0.conf

الصق كتلة التعليمات البرمجية التالية داخل ملف تكوين الخادم الخاص بك:

[Interface]
PrivateKey = PASTE-YOUR-SERVER-PRIVATE-KEY-HERE
Address = 10.0.0.1/32
ListenPort = 60101
PostUp = iptables -t nat -I POSTROUTING -o NETWORK-INTERFACE-HERE -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o NETWORK-INTERFACE-HERE -j MASQUERADE

افتح جلسة طرفية جديدة، ثم اطبع مفتاح Wireguard الخاص بخادمك:

sudo cat /etc/wireguard/server-private-key

انسخ المفتاح الخاص لخادمك إلى الحافظة الخاصة بك.

محطة توضح عملية نسخ المفتاح الخاص للخادم على Ubuntu.

استبدل قيمة PrivateKey متغير مع المفتاح الموجود في الحافظة الخاصة بك.

محطة تعرض المفتاح الخاص للخادم في تكوين Wireguard الخاص بالخادم.

ابحث عن واجهة الشبكة التي يمكنها الوصول إلى الإنترنت باستخدام ip يأمر:

محطة تسلط الضوء على اسم واجهة الشبكة مع إمكانية الوصول إلى الإنترنت.

قم بتعيين قيمة -o العلم على حد سواء PostUp و PostDown المتغيرات إلى الواجهة مع الوصول إلى الإنترنت، ثم احفظ ملف التكوين الخاص بك.

محطة تعرض اسم الجهاز الصحيح في ملف التكوين الخاص بخادم Wireguard.

افتح ملف “/etc/sysctl.conf” الخاص بالخادم باستخدام محرر النصوص المفضل لديك:

sudo nano /etc/sysctl.conf

قم بالتمرير لأسفل إلى السطر الذي يحتوي على net.ipv4.ip_forward=1، ثم قم بإزالة علامة الجنيه (#) الموجودة أمامه.

محطة تسلط الضوء على موقع خيار إعادة توجيه IPv4 في sysctl.conf.

أعد تحميل تكوين sysctl الجديد الخاص بك عن طريق تشغيل: sudo sysctl -p.

محطة توضح عملية إعادة تحميل ملف sysctl.conf.

لعِلمِكَ: Wireguard ليس حل VPN الوحيد الذي يمكنك تشغيله على Linux. تعرف على كيفية إنشاء VPN خاص بك باستخدام OpenVPN.

إعداد وتوصيل عميل Wireguard

في هذه المرحلة، أصبح لديك الآن خادم Wireguard مهيأ بشكل صحيح دون أي نظير. لاستخدامه، تحتاج إلى إعداد عميل Wireguard الأول وتوصيله.

انتقل إلى دليل تكوين Wireguard الخاص بنظام العميل الخاص بك وقم بتعيين أذوناته الافتراضية:

cd /etc/wireguard
sudo umask 077

قم بإنشاء زوج مفاتيح Wireguard الخاص بعميلك باستخدام الأمر التالي:

sudo sh -c 'wg genkey | tee /etc/wireguard/client1-private-key | wg pubkey > /etc/wireguard/client1-public-key'

قم بإنشاء ملف تكوين Wireguard الخاص بالعميل باستخدام محرر النصوص المفضل لديك:

sudo nano /etc/wireguard/wg0.conf

قم بلصق كتلة التعليمات البرمجية التالية داخل ملف تكوين العميل الخاص بك:

[Interface]
PrivateKey = PASTE-YOUR-CLIENT1-PRIVATE-KEY-HERE
Address = 10.0.0.2/32
ListenPort = 60101
 
[Peer]
PublicKey = PASTE-YOUR-SERVER-PUBLIC-KEY-HERE
AllowedIPs = 0.0.0.0/0
Endpoint = PASTE-YOUR-SERVER-IP-ADDRESS-HERE:60101
PersistentKeepalive = 25

استبدل PrivateKey متغير مع المفتاح الخاص للعميل الخاص بك.

محطة تسلط الضوء على المفتاح الخاص لعميل Wireguard الأول.

افتح الجلسة الطرفية لخادم Wireguard، ثم اطبع مفتاحها العام:

sudo cat /etc/wireguard/server-public-key

قم بتعيين قيمة PublicKey متغير للمفتاح العام لخادمك.

محطة تسلط الضوء على المفتاح العام لخادم Wireguard في ملف التكوين الخاص بالعميل الثاني.

غير ال Endpoint متغير إلى عنوان IP لخادم Wireguard الخاص بك.

محطة تسلط الضوء على عنوان IP لخادم Wireguard.

احفظ ملف التكوين الخاص بك، ثم استخدم ملف wg-quick الأمر لبدء عميل Wireguard:

محطة توضح عملية بدء البرنامج الخفي للعميل Wireguard.

ملحوظة: سيؤدي هذا الأمر إلى تعطيل اتصال شبكة العميل الخاص بك حتى تبدأ تشغيل خادم Wireguard الخاص بك. للعودة إلى شبكتك الأصلية، قم بتشغيل sudo wg-quick down wg0.

ربط خادم Wireguard بالعميل

انتقل إلى الجلسة الطرفية لخادم Wireguard، ثم افتح ملف التكوين الخاص به:

sudo nano /etc/wireguard/wg0.conf

الصق كتلة التعليمات البرمجية التالية بعد [Interface] قسم:

[Peer]
PublicKey = PASTE-YOUR-CLIENT1-PUBLIC-KEY-HERE
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25

تعيين PublicKey متغير إلى المفتاح العام لعميل Wireguard الخاص بك.

محطة تبين موقع [Peer] حظر وتسليط الضوء على المفتاح العام للعميل.

ملحوظة: يمكنك الحصول على المفتاح العام عن طريق التشغيل sudo cat /etc/wireguard/client1-public-key على جهاز العميل الخاص بك.

احفظ ملف التكوين، ثم قم بتشغيل الأمر التالي لبدء خدمة Wireguard على الخادم الخاص بك:

إضافة عميل ثانٍ إلى الخادم

إحدى الميزات الرئيسية لكل خدمة VPN هي أنها تستطيع ربط أجهزة متعددة معًا من شبكات مختلفة. يعد هذا مفيدًا إذا كان لديك أجهزة كمبيوتر في مواقع مختلفة أو كنت ترغب في استضافة خادم ألعاب خاص لأصدقائك.

للقيام بذلك في Wireguard، تحتاج إلى إنشاء ملف تكوين لواجهة VPN جديدة على الخادم الخاص بك. أسهل طريقة للقيام بذلك هي نسخ تكوين الخادم الحالي الخاص بك وإعطاء النسخة اسمًا جديدًا:

sudo cp /etc/wireguard/wg0.conf /etc/wireguard/wg1.conf

افتح ملف التكوين الجديد باستخدام محرر النصوص المفضل لديك:

sudo nano /etc/wireguard/wg1.conf

تعيين ListenPort متغير إلى 60102. سيؤدي القيام بذلك إلى منع أي تصادمات للمنافذ بين واجهات wg0 وwg1 VPN.

محطة تسلط الضوء على متغير الاستماع المعدل لواجهة Wireguard الثانية.

اذهب الى [Peer] القسم وتغيير AllowedIPs متغير من “10.0.0.2/32” إلى “10.0.0.3/32″، ثم احفظ ملف التكوين الخاص بك.

محطة تسلط الضوء على متغيرAllowedIPs المعدل لعميل Wireguard الثاني.

تكوين عميل Wireguard الثاني

قم بتسجيل الدخول إلى جهازك الثاني، ثم قم بإعداد دليل تكوين Wireguard الخاص بك:

cd /etc/wireguard
sudo umask 077

قم بإنشاء زوج مفاتيح Wireguard جديد باستخدام الأمر التالي:

sudo sh -c 'wg genkey | tee /etc/wireguard/client2-private-key | wg pubkey > /etc/wireguard/client2-public-key'

قم بإنشاء ملف تكوين جديد باستخدام محرر النصوص المفضل لديك:

sudo nano /etc/wireguard/wg0.conf

الصق كتلة التعليمات البرمجية التالية داخل ملف التكوين الجديد الخاص بك:

[Interface]
PrivateKey = PASTE-YOUR-CLIENT2-PRIVATE-KEY-HERE
Address = 10.0.0.3/32
ListenPort = 60102
 
[Peer]
PublicKey = PASTE-YOUR-SERVER-PUBLIC-KEY-HERE
AllowedIPs = 0.0.0.0/0
Endpoint = PASTE-YOUR-SERVER-IP-ADDRESS-HERE:60102
PersistentKeepalive = 25

تعيين PrivateKey متغير إلى المفتاح الخاص لجهازك الثاني، ثم قم بتغيير PublicKey متغير للمفتاح العام لخادمك.

محطة تسلط الضوء على المفتاح الخاص للعميل الثاني والمفتاح العام لخادم Wireguard.

استبدل متغير نقطة النهاية بعنوان IP الخاص بخادمك، متبوعًا بـ “:60102”.

محطة تسلط الضوء على عنوان IP الخاص بخادم Wireguard في تكوين العميل الثاني.

احفظ ملف التكوين الخاص بك، ثم ابدأ تشغيل عميل Wireguard الخاص بالجهاز الثاني:

ربط العميل الثاني بخادم Wireguard

قم بتسجيل الدخول مرة أخرى إلى خادم Wireguard الخاص بك، ثم افتح تكوين واجهة VPN لعميلك الثاني:

sudo nano /etc/wireguard/wg1.conf

قم بالتمرير لأسفل إلى [Peer] القسم، ثم استبدل PublicKey متغير مع المفتاح العام للعميل الثاني الخاص بك.

محطة تسلط الضوء على المفتاح العام للعميل الثاني داخل ملف التكوين wg1 الخاص بالخادم.

احفظ ملف التكوين الخاص بك، ثم ابدأ واجهة VPN الثانية باستخدام الأمر wg-quick:

تأكد من ظهور عملاء Wireguard الأول والثاني بشكل صحيح على الخادم الخاص بك عن طريق التشغيل wg.

محطة طرفية تعرض عقدتي العميل المتصلتين بخادم Wireguard.

اختبار شبكة Wireguard

مع وجود كل من الخادم والعملاء لديك على شبكة Wireguard، يمكنك الآن اختبار الاتصال وزمن الاستجابة بين العقد الخاصة بك. للقيام بذلك، تأكد من تثبيت أدوات تشخيص الشبكة على نظامك:

sudo apt install net-tools curl

في فيدورا، ما عليك سوى التثبيت curl نظرًا لأنه يأتي بالفعل مزودًا بأدوات الشبكات بمجرد إخراجها من الصندوق:

بالنسبة لـ Arch Linux، يمكنك استخدام pacman لتثبيت أدوات الشبكة و curl:

sudo pacman -S traceroute curl

ابدأ بتتبع مسار الحزمة بين عميلين. سيوضح ما يلي كيفية انتقال حزمة IP من “10.0.0.2” إلى “10.0.0.3”:

محطة تعرض أمر تتبع ناجح بين عقدتين من Wireguard.

تحقق مما إذا كان بإمكان أي من العقد الخاصة بك الوصول إلى الإنترنت العام عن طريق اختبار اتصال عنوان IP شائع:

محطة توضح زمن الوصول من شبكة Wireguard إلى موقع خارجي.

وأخيرًا، تأكد من أن العقد الخاصة بك تشترك في نفس عنوان IP العام مع خادم Wireguard الخاص بك:

محطة تسلط الضوء على عنوان IP الخارجي المماثل عبر ثلاث عقد Wireguard.

يعد تعلم كيفية إعداد شبكة Wireguard على Linux الخطوة الأولى في استكشاف عالم الشبكات الافتراضية الخاصة (VPN) الرائع. قم بالتعمق وإلقاء نظرة على اختياراتنا لأفضل موفري خدمة VPN التي تركز على الأمان والتي يمكنك الحصول عليها اليوم.

حقوق الصورة: كاري شيا عبر Unsplash وWikimedia Commons. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

رمسيس كاتب في مجال التكنولوجيا عاش مع أجهزة الكمبيوتر طوال حياته. قارئ غزير الإنتاج وطالب في الأنثروبولوجيا، وهو شخصية غريبة الأطوار تكتب مقالات عن Linux وأي شيء لا شيء.


اكتشاف المزيد من تكتك تكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من تكتك تكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading