
TL ؛ DR : أقوم بتثبيت Wireguard على VPS ، والاتصال به من جهاز التوجيه المنزلي الخاص بي على OpenWRT ، والوصول إلى الشبكة الفرعية للمنزل من هاتفي.
إذا احتفظت ببنيتك التحتية الشخصية على خادمك المنزلي أو كان لديك الكثير من الأجهزة التي يتم التحكم فيها عبر بروتوكول الإنترنت في المنزل ، فربما ترغب في الوصول إليها من العمل ، من الحافلة والقطار ومترو الأنفاق. في أغلب الأحيان ، لمهام مماثلة ، يتم شراء عنوان IP من مزود ، وبعد ذلك يتم إعادة توجيه منافذ كل خدمة إلى الخارج.
بدلاً من ذلك ، قمت بإعداد VPN مع إمكانية الوصول إلى شبكة LAN المنزلية. مزايا هذا الحل:
- الشفافية : أشعر أنني في بيتي تحت أي ظرف من الظروف.
- البساطة : الإعداد والنسيان ، لا داعي للتفكير في إعادة توجيه كل منفذ.
- السعر : لدي بالفعل VPS ، لمثل هذه المهام ، تكون VPN الحديثة شبه مجانية من حيث الموارد.
- الأمان : لا شيء يخرج ، يمكنك ترك MongoDB بدون كلمة مرور ولن يسرق أحد البيانات.
كما هو الحال دائما ، هناك جوانب سلبية. أولاً ، يجب عليك تهيئة كل عميل على حدة ، بما في ذلك على جانب الخادم. قد يكون الأمر غير مريح إذا كان لديك عدد كبير من الأجهزة التي تريد الوصول إلى الخدمات منها. ثانيًا ، في العمل قد يكون لديك موقع محلي يطابق النطاق - سيكون عليك حل هذه المشكلة.
نحن نحتاج:
- VPS (في حالتي على دبيان 10).
- جهاز التوجيه على OpenWRT.
- هاتف.
- خادم منزلي مع نوع من خدمة الويب للتحقق.
- أذرع مستقيمة.
سأستخدم Wireguard كتقنية VPN. لهذا الحل أيضًا نقاط قوة ونقاط ضعف لن أصفها. بالنسبة لشبكة VPN ، أستخدم شبكة فرعية
192.168.99.0/24، لكن في المنزل لدي 192.168.0.0/24.
تكوين VPS
للعمل بما فيه الكفاية ، حتى VPS الأكثر بؤسًا مقابل 30 روبل في الشهر ، إذا كنت محظوظًا في الخطف .
أقوم بإجراء جميع العمليات على الخادم من الجذر على جهاز نظيف ، وأضف sudo إذا لزم الأمر وقم بتكييف التعليمات.
Wireguard يكن لديك الوقت لجلب مستقر، لذلك أنا أفعل `عرضة backporting تحرير-sources` وإضافة خطين إلى الملف: يتم تثبيت حزمة بالطريقة المعتادة: . بعد ذلك، إنشاء زوج المفاتيح: . كرر هذه العملية مرتين إضافيتين لكل جهاز مشارك في النظام. قم بتغيير المسارات إلى ملفات المفاتيح لجهاز آخر ولا تنسَ أمان المفاتيح الخاصة. الآن نحن نجهز ملف config. يتم وضع التكوين في الملف : في القسم
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توجه إلى المرشح ، ونظرت إلى النافذة مع شجرة جميلة من التبعيات ، قم بتثبيت هذه الحزمة.
في قائمة الشبكات ، حدد واجهات وانقر على الزر الأخضر إضافة واجهة جديدة ضمن قائمة الواجهات الموجودة. بعد إدخال الاسم (أيضًا
wg0في حالتي) واختيار بروتوكول WireGuard VPN ، يتم فتح نموذج إعدادات بأربع علامات تبويب.

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

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

في علامة التبويب Peers ، اضغط على الزر الوحيد ، وبعد ذلك ، في النموذج المحدث ، قم بملء بيانات خادم VPS: المفتاح العام ، عناوين IP المسموح بها (تحتاج إلى توجيه شبكة VPN الفرعية بالكامل إلى الخادم). في مضيف نقطة النهاية ومنفذ نقطة النهاية ، أدخل عنوان IP الخاص بخادم VPS باستخدام المنفذ المحدد في توجيه ListenPort ، على التوالي. تحقق من عناوين IP المسموح بها للمسار لإنشاء المسارات. وتأكد من ملء Persistent Keep Alive ، وإلا فإن نفق النفق من VPS إلى جهاز التوجيه سوف ينكسر إذا كان الأخير خلف NAT.


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

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


