يوفر هذا الدليل تعليمات مفصلة لتأمين الوصول عن بُعد إلى جهاز التوجيه OpenWRT الخاص بك باستخدام Dynamic DNS (DDNS) مع No-IP و VPN مع ZeroTier. يعمل البرنامج النصي المقدم على أتمتة عملية التثبيت والتكوين، مما يسمح للمستخدمين بالوصول عن بُعد إلى أجهزة التوجيه الخاصة بهم من أي مكان.
للحصول على دعم إضافي، يرجى زيارة منتدى OpenWRT.
المتطلبات
- جهاز توجيه OpenWRT: تأكد من أن جهاز التوجيه الخاص بك يعمل بنظام OpenWRT 19.07.
- حساب No-IP: قم بإنشاء حساب على No-IP أو أي خدمة DNS ديناميكية أخرى.
- حساب ZeroTier: قم بإنشاء حساب على ZeroTier .
- الوصول عبر SSH: تأكد من تمكين الوصول عبر SSH إلى جهاز التوجيه الخاص بك.
1. إنشاء اسم مضيف No-IP
إنشاء حساب No-IP:
- انتقل إلى موقع No-IP على الويب وأنشئ حسابًا.
إنشاء اسم مضيف:
- سجّل الدخول إلى حساب No-IP الخاص بك.
- انتقل إلى قسم "Dynamic DNS".
- انقر على "Add a Hostname" (إضافة اسم مضيف).
- أدخل اسم مضيف (على سبيل المثال، deadtest) واختر نطاقًا (على سبيل المثال، ddns.net).
- انقر على "إضافة اسم مضيف".
2. قم بإعداد البرنامج النصي
احفظ البرنامج النصي التالي باسم setup_remote_access.sh على جهازك المحلي وقم بإجراء التغييرات على المتغيرات التالية:
تنزيل البرنامج النصي: setup_remote_access.sh
# تعريف المتغيرات
NETWORK_ID='<سلسلة معرف الشبكة>' # استبدل بمعرف الشبكة الفعلي
DOMAIN='<اسم مضيف No-IP>' # اسم مضيف No-IP
USERNAME='<No-Username NOT EMAIL!>' # استبدل بعنوان بريدك الإلكتروني على No-IP
PASSWORD='<كلمة مرور اسم المستخدم>' # استبدل بكلمة مرور No-IP الخاصة بك
3. قم بتنفيذ البرنامج النصي.
- تحميل البرنامج النصي: قم بتحميل البرنامج النصي setup_remote_access.sh إلى جهاز التوجيه الخاص بك. استبدل <router_ip> بعنوان IP الخاص بجهاز التوجيه الخاص بك.
scp setup_remote_access.sh root@<router_ip>:/tmp/
- تشغيل البرنامج النصي على جهاز التوجيه:
ssh root@<router_ip>
sh /tmp/setup_remote_access.sh
4. قم بتفويض الجهاز على ZeroTier Central.
- تسجيل الدخول إلى ZeroTier Central:
- انتقل إلى لوحة التحكم في ZeroTier Central وقم بتسجيل الدخول.
- اعتماد الجهاز:
- ابحث عن جهازك ضمن الشبكة التي حددتها وقم بتفويضه.
5. تحقق من الإعداد.
على جهاز التوجيه:
- تحقق من حالة DDNS:
/etc/init.d/ddns status
- فرض تحديث DDNS:
/usr/lib/ddns/update_noip.sh
- التحقق من حالة ZeroTier:
zerotier-cli status
zerotier-cli listnetworks
على جهازك المحلي:
- تحقق من تحديث DDNS:
nslookup deadtest.ddns.net
- اختبر الوصول عبر SSH:
- عبر اسم مضيف DDNS:
-
- عبر عنوان IP لـ ZeroTier:
ssh root@<zerotier_ip_address>
- مشكلات DDNS:
- تأكد من صحة بيانات اعتماد No-IP.
- تحقق من أن البرنامج النصي لتحديث DDNS قابل للتنفيذ.
- تحقق من وجود أخطاء في سجل تحديث DDNS (/var/log/ddns/).
- مشكلات ZeroTier:
- تأكد من أن خدمة ZeroTier قيد التشغيل.
- تحقق من أن الجهاز معتمد على ZeroTier Central.
- تحقق من وجود مشكلات في اتصال الشبكة.
- مشكلات الوصول عبر SSH:
- تأكد من أن خدمة SSH قيد التشغيل (/etc/init.d/dropbear status).
- تحقق من أن قواعد جدار الحماية قد تم تكوينها بشكل صحيح للسماح بالوصول عبر SSH.
باتباع هذا الدليل، يمكنك إعداد وصول آمن عن بُعد إلى جهاز التوجيه OpenWRT الخاص بك باستخدام خدمة No-IP DDNS وشبكة ZeroTier VPN. يتيح لك هذا الإعداد إدارة جهاز التوجيه من أي مكان يتوفر فيه اتصال بالإنترنت، مما يوفر لك الراحة والأمان في آن واحد.
أمان إضافي: استخدام أزواج مفاتيح SSH
لتعزيز الأمان وتقليل مخاطر هجمات القوة الغاشمة، يوصى باستخدام أزواج مفاتيح SSH بدلاً من كلمات المرور للمصادقة.
إنشاء زوج مفاتيح SSH
على جهازك المحلي، قم بإنشاء زوج مفاتيح SSH إذا لم يكن لديك واحد بالفعل:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
سيؤدي هذا إلى إنشاء مفتاح عام (~/.ssh/id_rsa.pub) ومفتاح خاص (~/.ssh/id_rsa).
انسخ المفتاح العام إلى جهاز التوجيه
انسخ مفتاحك العام والصقه في جهاز التوجيه (https://192.168.1.1/cgi-bin/luci/admin/system/admin/sshkeys).
cat ~/.ssh/id_rsa.pub
تعطيل المصادقة بكلمة المرور
بعد نسخ مفتاحك العام، قم بتعطيل المصادقة بكلمة المرور على جهاز التوجيه لمنع هجمات القوة الغاشمة:
- تحرير تكوين Dropbear:
vi /etc/config/dropbear
- قم بتعديل التكوين لتعطيل المصادقة بكلمة المرور: أضف السطر التالي أو قم بتعديله إذا كان موجودًا بالفعل:
config dropbear option PasswordAuth 'off' option RootPasswordAuth 'off'
- أعد تشغيل خدمة Dropbear:
/etc/init.d/dropbear restart
اختبار مصادقة مفتاح SSH
حاول الاتصال بجهاز التوجيه الخاص بك عبر SSH للتأكد من أن المصادقة القائمة على المفتاح تعمل وأن المصادقة بكلمة المرور معطلة:
ssh root@<router_ip>
إذا نجحت المصادقة دون طلب كلمة مرور، فهذا يعني أن المصادقة باستخدام مفتاح SSH قد تم إعدادها بشكل صحيح.

