كيفية إعداد Wireguard VPN على نظام Linux
يعد Wireguard برنامجًا خفيًا قويًا للشبكة الافتراضية الخاصة (VPN) مفتوحة المصدر ويمكن تشغيله على كل من أجهزة سطح المكتب والأجهزة المحمولة. فهو يوفر بديلاً سريعًا وخفيف الوزن لحلول VPN التقليدية مثل IPsec وOpenVPN. نعرض لك هنا كيفية تثبيت Wireguard وإنشاء شبكة VPN بسيطة باستخدام ثلاثة أجهزة تعمل بنظام التشغيل Linux.
لماذا نستخدم Wireguard كحل VPN؟
واحدة من أكبر نقاط البيع في Wireguard هي أنه برنامج VPN سريع وخفيف الوزن. على عكس الحلول التقليدية، لا يضيف Wireguard الكثير من الحمل إلى شبكتك. وينتج عن ذلك زمن وصول أقل ومعدل إنتاجية إجمالي مرتفع عبر العقد الخاصة بك.
الميزة الرئيسية الأخرى لـ Wireguard هي أنها وحدة داخل Linux kernel. وهذا يسمح له بالعمل دون استهلاك أي موارد نظام إضافية من جهاز الكمبيوتر الخاص بك، مما يجعله خيارًا مثاليًا للنشر على الأجهزة المنخفضة الجودة وأجهزة SOC.
وأخيرًا، تستفيد 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 على نظام 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
انسخ المفتاح الخاص لخادمك إلى الحافظة الخاصة بك.
استبدل قيمة PrivateKey
متغير مع المفتاح الموجود في الحافظة الخاصة بك.
ابحث عن واجهة الشبكة التي يمكنها الوصول إلى الإنترنت باستخدام ip
يأمر:
قم بتعيين قيمة -o
العلم على حد سواء PostUp
و PostDown
المتغيرات إلى الواجهة مع الوصول إلى الإنترنت، ثم احفظ ملف التكوين الخاص بك.
افتح ملف “/etc/sysctl.conf” الخاص بالخادم باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/sysctl.conf
قم بالتمرير لأسفل إلى السطر الذي يحتوي على net.ipv4.ip_forward=1
، ثم قم بإزالة علامة الجنيه (#) الموجودة أمامه.
أعد تحميل تكوين sysctl الجديد الخاص بك عن طريق تشغيل: sudo sysctl -p
.
لعِلمِكَ: 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، ثم اطبع مفتاحها العام:
sudo cat /etc/wireguard/server-public-key
قم بتعيين قيمة PublicKey
متغير للمفتاح العام لخادمك.
غير ال Endpoint
متغير إلى عنوان IP لخادم Wireguard الخاص بك.
احفظ ملف التكوين الخاص بك، ثم استخدم ملف wg-quick
الأمر لبدء عميل 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 الخاص بك.
ملحوظة: يمكنك الحصول على المفتاح العام عن طريق التشغيل 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.
اذهب الى [Peer]
القسم وتغيير AllowedIPs
متغير من “10.0.0.2/32” إلى “10.0.0.3/32″، ثم احفظ ملف التكوين الخاص بك.
تكوين عميل 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
متغير للمفتاح العام لخادمك.
استبدل متغير نقطة النهاية بعنوان IP الخاص بخادمك، متبوعًا بـ “:60102”.
احفظ ملف التكوين الخاص بك، ثم ابدأ تشغيل عميل Wireguard الخاص بالجهاز الثاني:
ربط العميل الثاني بخادم Wireguard
قم بتسجيل الدخول مرة أخرى إلى خادم Wireguard الخاص بك، ثم افتح تكوين واجهة VPN لعميلك الثاني:
sudo nano /etc/wireguard/wg1.conf
قم بالتمرير لأسفل إلى [Peer]
القسم، ثم استبدل PublicKey
متغير مع المفتاح العام للعميل الثاني الخاص بك.
احفظ ملف التكوين الخاص بك، ثم ابدأ واجهة VPN الثانية باستخدام الأمر wg-quick:
تأكد من ظهور عملاء Wireguard الأول والثاني بشكل صحيح على الخادم الخاص بك عن طريق التشغيل wg
.
اختبار شبكة 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”:
تحقق مما إذا كان بإمكان أي من العقد الخاصة بك الوصول إلى الإنترنت العام عن طريق اختبار اتصال عنوان IP شائع:
وأخيرًا، تأكد من أن العقد الخاصة بك تشترك في نفس عنوان IP العام مع خادم Wireguard الخاص بك:
يعد تعلم كيفية إعداد شبكة Wireguard على Linux الخطوة الأولى في استكشاف عالم الشبكات الافتراضية الخاصة (VPN) الرائع. قم بالتعمق وإلقاء نظرة على اختياراتنا لأفضل موفري خدمة VPN التي تركز على الأمان والتي يمكنك الحصول عليها اليوم.
حقوق الصورة: كاري شيا عبر Unsplash وWikimedia Commons. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك
اكتشاف المزيد من تكتك تكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.