VPN إلى الشبكة المحلية المحلية

VPN إلى الشبكة المحلية المحلية

TL؛ DR: أقوم بتثبيت Wireguard على VPS، وأتصل به من جهاز التوجيه المنزلي الخاص بي على OpenWRT، وأدخل إلى الشبكة الفرعية الرئيسية من هاتفي.

إذا كنت تحتفظ بالبنية الأساسية الشخصية الخاصة بك على خادم منزلي أو لديك العديد من الأجهزة التي يتم التحكم فيها عبر بروتوكول الإنترنت (IP) في المنزل، فمن المحتمل أنك تريد الوصول إليها من العمل، من الحافلة والقطار والمترو. في أغلب الأحيان، بالنسبة لمهام مماثلة، يتم شراء IP من الموفر، وبعد ذلك يتم إعادة توجيه منافذ كل خدمة إلى الخارج.

وبدلاً من ذلك، قمت بإعداد شبكة VPN مع إمكانية الوصول إلى الشبكة المحلية (LAN) الخاصة بمنزلي. مزايا هذا الحل:

  • شفافية: أشعر بأنني في بيتي تحت أي ظرف من الظروف.
  • سهولة: اضبطه ونساه، لا داعي للتفكير في إعادة توجيه كل منفذ.
  • السعر: لدي بالفعل خادم VPS؛ لمثل هذه المهام، تكون شبكة VPN الحديثة مجانية تقريبًا من حيث الموارد.
  • أمن: لم يبرز أي شيء، يمكنك مغادرة MongoDB بدون كلمة مرور ولن يقوم أحد بسرقة بياناتك.

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

نحن بحاجة إلى:

  1. VPS (في حالتي على Debian 10).
  2. جهاز توجيه OpenWRT.
  3. الهاتف.
  4. خادم منزلي مع بعض خدمات الويب للاختبار.
  5. الأسلحة المستقيمة.

تقنية VPN التي سأستخدمها هي Wireguard. وهذا الحل أيضًا له نقاط قوة ونقاط ضعف لن أصفها. بالنسبة لـ VPN أستخدم شبكة فرعية 192.168.99.0/24، وفي منزلي 192.168.0.0/24.

تكوين VPS

حتى الخادم الافتراضي الخاص (VPS) الأكثر بؤسًا مقابل 30 روبل شهريًا يكفي للأعمال التجارية، إذا كنت محظوظًا بما يكفي لامتلاك واحد. انتزاع.

أقوم بتنفيذ جميع العمليات على الخادم كجذر على جهاز نظيف؛ إذا لزم الأمر، أضف "sudo" وقم بتعديل التعليمات.

لم يكن لدى Wireguard الوقت الكافي لإحضاره إلى الإسطبل، لذلك قمت بتشغيل "aptedit-sources" وأضفت منافذ خلفية في سطرين في نهاية الملف:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

يتم تثبيت الحزمة بالطريقة المعتادة: apt update && apt install wireguard.

بعد ذلك، نقوم بإنشاء زوج المفاتيح: wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public. كرر هذه العملية مرتين أخريين لكل جهاز مشارك في الدائرة. قم بتغيير المسار إلى ملفات المفاتيح لجهاز آخر ولا تنس أمان المفاتيح الخاصة.

الآن نقوم بإعداد التكوين. إلى ملف /etc/wireguard/wg0.conf يتم وضع التكوين:

[Interface] Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

في القسم [Interface] يشار إلى إعدادات الجهاز نفسه، وفي [Peer] — إعدادات لأولئك الذين سوف يتصلون به. في AllowedIPs يتم تحديد الشبكات الفرعية التي سيتم توجيهها إلى النظير المقابل، مفصولة بفواصل. ولهذا السبب، يجب أن يكون لدى أقران الأجهزة "العميلة" في شبكة VPN الفرعية قناع /32سيتم توجيه كل شيء آخر بواسطة الخادم. نظرًا لأنه سيتم توجيه الشبكة المنزلية عبر OpenWRT، في AllowedIPs نضيف الشبكة الفرعية الرئيسية للنظير المقابل. في PrivateKey и PublicKey قم بتحليل المفتاح الخاص الذي تم إنشاؤه لـ VPS والمفاتيح العامة للأقران وفقًا لذلك.

على VPS، كل ما تبقى هو تشغيل الأمر الذي سيظهر الواجهة وإضافتها إلى التشغيل التلقائي: systemctl enable --now wg-quick@wg0. يمكن التحقق من حالة الاتصال الحالية باستخدام الأمر wg.

تكوين OpenWRT

كل ما تحتاجه لهذه المرحلة موجود في وحدة luci (واجهة الويب OpenWRT). قم بتسجيل الدخول وافتح علامة التبويب "البرامج" في قائمة "النظام". لا يقوم OpenWRT بتخزين ذاكرة تخزين مؤقت على الجهاز، لذلك تحتاج إلى تحديث قائمة الحزم المتاحة من خلال النقر على زر تحديث القوائم الأخضر. بعد الانتهاء، قم بالقيادة داخل الفلتر luci-app-wireguard وبالنظر إلى النافذة التي تحتوي على شجرة تبعية جميلة، قم بتثبيت هذه الحزمة.

في قائمة الشبكات، حدد Interfaces وانقر فوق الزر Add New Interface الأخضر ضمن قائمة الواجهات الموجودة. بعد إدخال الاسم (أيضا wg0 في حالتي) واختيار بروتوكول WireGuard VPN، يتم فتح نموذج إعدادات يحتوي على أربع علامات تبويب.

VPN إلى الشبكة المحلية المحلية

في علامة التبويب "الإعدادات العامة"، تحتاج إلى إدخال المفتاح الخاص وعنوان IP المُجهز لـ OpenWRT مع الشبكة الفرعية.

VPN إلى الشبكة المحلية المحلية

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

VPN إلى الشبكة المحلية المحلية

في علامة التبويب "الأقران"، انقر فوق الزر الوحيد، وبعد ذلك تقوم بملء بيانات خادم VPS بالشكل المحدث: المفتاح العام، عناوين IP المسموح بها (تحتاج إلى توجيه شبكة VPN الفرعية بأكملها إلى الخادم). في Endpoint Host وEndpoint Port، أدخل عنوان IP الخاص بـ VPS بالمنفذ المحدد مسبقًا في توجيه الاستماع، على التوالي. تحقق من عناوين IP المسموح بها للمسارات حتى يتم إنشاء المسارات. وتأكد من ملء Persistent Keep Alive، وإلا فسيتم كسر النفق من VPS إلى جهاز التوجيه إذا كان الأخير خلف NAT.

VPN إلى الشبكة المحلية المحلية

VPN إلى الشبكة المحلية المحلية

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

إعداد الهاتف الذكي

ستحتاج إلى عميل Wireguard، وهو متوفر في F-الروبوت, Google Play ومتجر التطبيقات. بعد فتح التطبيق، اضغط على علامة الجمع وفي قسم الواجهة أدخل اسم الاتصال والمفتاح الخاص (سيتم إنشاء المفتاح العام تلقائيًا) وعنوان الهاتف مع القناع /32. في قسم النظير، حدد المفتاح العام لـ VPS، وزوج العناوين: منفذ خادم VPN كنقطة النهاية، والمسارات إلى VPN والشبكة الفرعية الرئيسية.

لقطة شاشة جريئة من الهاتف
VPN إلى الشبكة المحلية المحلية

انقر على القرص المرن الموجود في الزاوية، وقم بتشغيله و...

نهاية

يمكنك الآن الوصول إلى مراقبة المنزل أو تغيير إعدادات جهاز التوجيه أو القيام بأي شيء على مستوى IP.

لقطات من المنطقة المحلية
VPN إلى الشبكة المحلية المحلية

VPN إلى الشبكة المحلية المحلية

VPN إلى الشبكة المحلية المحلية

المصدر: www.habr.com

إضافة تعليق