جدول المحتويات:

2 Raspberry Pis للغارة عن بعد سهلة ورخيصة: 19 خطوة
2 Raspberry Pis للغارة عن بعد سهلة ورخيصة: 19 خطوة

فيديو: 2 Raspberry Pis للغارة عن بعد سهلة ورخيصة: 19 خطوة

فيديو: 2 Raspberry Pis للغارة عن بعد سهلة ورخيصة: 19 خطوة
فيديو: Революция серверных хранилищ: навигация по фабрикам, массивам и т. д. 2024, يوليو
Anonim
2 Raspberry Pis للغارة عن بعد سهلة ورخيصة
2 Raspberry Pis للغارة عن بعد سهلة ورخيصة
2 Raspberry Pis للغارة عن بعد سهلة ورخيصة
2 Raspberry Pis للغارة عن بعد سهلة ورخيصة

غرض

  1. في حالة وقوع حادث في المنزل ، أريد أن أكون قادرًا على استعادة المستندات الرقمية الرئيسية (الصور وأوراق الهوية وما إلى ذلك) ومشاركتها اختياريًا.
  2. أرغب في مشاركة هذا الحل مع شخص آخر (شخص أثق به أو والديه أو صديق)
  3. لا أريد الاعتماد على السحابة العامة (اشتراك ، رسوم ، GTC متطورة ، إلخ)

مبدأ

  1. قم بإنشاء جهازي تخزين متطابقين ، ضعهما في موقعين مختلفين (على سبيل المثال ، منزلين).
  2. قم بتعيين مساحة تخزين مخصصة لكل موقع على كل جهاز.
  3. قم بمزامنة مساحتي التخزين بانتظام.

اللوازم

المعدات

كل آلة لديها:

  • 1x Raspberry Pi 4 B 1GB
  • صندوق 1x لـ Raspberry Pi 4
  • عدد 1 مصدر طاقة USB C 5V 3A
  • عدد 1 بطاقة SD كينغستون SDC10 / 16 جيجابايت
  • 1x NAS HDD 1To WD Red موبايل
  • 1x HDD box BX-2525U3

برامج ويندوز

  • BalenaEtcher
  • سطح المكتب Raspbian buster ممتلئ
  • mobaxterm
  • عارض VNC (اختياري)

حزم Raspbian

  • رسينك
  • سامبا

الخطوة 1: إيجابيات وسلبيات

إيجابيات وسلبيات
إيجابيات وسلبيات

مزايا

  1. هذا الحل رخيص: ليس لدي أي رسوم اشتراك والأجهزة ميسورة التكلفة.
  2. من السهل جدًا القيام بهذا "RAID البعيد". لست بحاجة إلى مواد أو أداة إضافية للقيام بذلك.
  3. يمكن استخدام Raspberry Pi لتطبيقات إضافية مثل مركز الوسائط (kodi ، …) أو Domotic (jeedom ، domoticz ، …).
  4. بياناتي غير متوفرة على السحابة العامة التي يمكن أن تكون هدفًا لقرصنة البيانات الضخمة.
  5. باستخدام محرك الأقراص الصلبة 1To ، يكون متوسط الاستهلاك الكهربائي هو نفسه السحابة.
  6. يعمل جدار الحماية لجهاز التوجيه الخاص بي وتشفير SSH لاتصالي على تأمين تبادل البيانات.

العيوب / التحسينات

  1. شخص آخر لديه نسخة من وثائقي. في حالتي ، هذا الشخص من عائلتي لذا لا أهتم.
  2. أستخدم حساب "pi" الافتراضي ، مع كلمة مرور مخصصة لكلا الجهازين. يمكنني تأمين الوصول أكثر قليلاً باستخدام حساب منفصل محدد على كل جانب بدلاً من حساب "pi".
  3. أنا أعتمد على مزود خدمات الإنترنت الخاص بي وتشفير SSH لأمان الاتصال بين المنزلين. يمكن إجراء البحث لتحسين مستوى الأمان.
  4. في الوقت الحالي ، قمت فقط بإنشاء قسمين لكل محرك أقراص. يمكن أن يكون القسم الثالث الأصغر (~ 5Go) مفيدًا لأنشطة Raspbian الأخرى ، للحفاظ على بطاقة µSD.

الخطوة 2: تحضير SD: قم بتحميل Raspbian

من جهاز كمبيوتر (Windows 10 في حالتي) ، اتبع دليل التثبيت الرسمي (https://www.raspberrypi.org/downloads/raspbian/) لتثبيت "Raspbian Buster with Desktop".

إضافة ملف فارغ باسم "ssh" في "/ boot /" القرص

أضف ملفًا باسم "wpa_supplicant.conf" في قرص "/ boot /"

افتح wpa_supplicant.conf وأدخل النص:

الدولة = الولايات المتحدة

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = شبكة واحدة = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

أحفظ وأغلق الملف.

الخطوة 3: تحضير SD: تخصيص البطاقة

إعداد SD: تخصيص البطاقة
إعداد SD: تخصيص البطاقة

إضافة ملف فارغ باسم "ssh" في "/ boot /" القرص

أضف ملفًا باسم "wpa_supplicant.conf" في قرص "/ boot /"

افتح wpa_supplicant.conf وأدخل النص:

الدولة = الولايات المتحدة

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = شبكة واحدة = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

أحفظ وأغلق الملف.

الخطوة 4: تحضير Raspberry Pi

أدخل بطاقة SD الخاصة بك في Pi

قم بتشغيل Raspberry Pi ، اختر طريقة لفتح سطح المكتب:

  1. باستخدام كابل HDMI والشاشة ولوحة المفاتيح والماوس
  2. استخدام VNC من جهاز الكمبيوتر الخاص بك.

لمزيد من المعلومات ، قم بزيارة

الخطوة 5: الطريقة 1: الاتصال بـ Pi باستخدام الشاشة ولوحة المفاتيح والماوس

الطريقة 1: الاتصال بـ Pi باستخدام الشاشة ولوحة المفاتيح والماوس
الطريقة 1: الاتصال بـ Pi باستخدام الشاشة ولوحة المفاتيح والماوس
الطريقة 1: الاتصال بـ Pi باستخدام الشاشة ولوحة المفاتيح والماوس
الطريقة 1: الاتصال بـ Pi باستخدام الشاشة ولوحة المفاتيح والماوس

قم بتوصيل منفذ Raspberry Pi HDMI0 بشاشة مع كابل micro-hdmi إلى hdmi

قم بتوصيل لوحة مفاتيح وماوس USB (أو لوحة مفاتيح لاسلكية صغيرة مثل "Rii Mini i8 Wireless")

قم بتوصيل مصدر طاقة USB C وتشغيل Raspberry Pi.

يجب أن يبدأ Raspbian على شاشتك.

بمجرد ظهور سطح المكتب ، أجب على لوحة التكوين لإنهاء تكوين Pi الخاص بك.

الخطوة 6: الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك

الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك
الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك
الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك
الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك
الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك
الطريقة 2: الاتصال بـ Pi باستخدام VNC من جهاز الكمبيوتر الخاص بك

قم بتوصيل Raspberry Pi بشبكة Ethernet الخاصة بك (عن طريق wifi أو بواسطة كابل).

من جهاز الكمبيوتر الخاص بك ، افتح Mobaxterm (أو المعجون) ، وابدأ اتصال ssh جديدًا (تسجيل الدخول pi ، وكلمة المرور raspberry) وقم بتكوين Pi الخاص بك:

ssh pi @ raspberry_ip

sudo raspi-config

  • في خيار التواصل / VNC: ضبط نعم
  • في الخيارات المتقدمة / الدقة: اضبط DMT Mode 82 1920x1080 60Hz 16: 9
  • في الخيارات المتقدمة / برنامج تشغيل GL: قم بتعيين محرك أقراص سطح المكتب G1 Legacy Original non-GL

احفظ واخرج raspi-config

أعد تشغيل Pi:

sudo إعادة التشغيل

من جهاز الكمبيوتر الخاص بك ، افتح VNC Viewer ، واتصل بـ Pi باستخدام تسجيل الدخول pi وكلمة المرور raspberry: يجب أن يظهر سطح مكتب Pi.

أجب على لوحة التكوين لإنهاء تكوين Pi الخاص بك.

بمجرد تغيير كلمة مرور Pi ، يمكن إغلاق اتصال VNC. أعد تشغيله باستخدام كلمة مرورك الجديدة.

الخطوة 7: تحضير HDD

تحضير HDD
تحضير HDD
تحضير HDD
تحضير HDD
  1. قم بتوصيل محرك الأقراص الثابتة بجهاز الكمبيوتر الخاص بك.
  2. افتح مدير قسم Windows ، وحدد محرك الأقراص الثابتة الخاص بك ، وأنشئ قسمين NTFS (أو 3 ، إذا كنت تريد مساحة خالية صغيرة للاحتفاظ ببطاقة µSD). على سبيل المثال ، أطلق على الجزأين "loic" و "vincent"
  3. قم بتوصيل محرك الأقراص الثابتة بـ Pi: يجب أن يقوم Raspbian بتحميل قرصين تلقائيًا على سطح المكتب. ترتبط محركات الأقراص بالمجلد / media / pi / loic / و / media / pi / vincent /

الخطوة 8: تكوين Rsync: إنشاء سينكرو سكربت

تكوين Rsync: إنشاء برنامج نصي متزامن
تكوين Rsync: إنشاء برنامج نصي متزامن

فتح موجه على سطح المكتب Pi

في / home / pi / ، أنشئ نصًا:

mkdir / home / pi / scriptsnano / home / pi / scripts / SB_sync

أدخل النص:

#! / بن / ش

######## A CONFIGURER ########### ip_distante = "192.168.0.19" port_distant = "xxxxx" media_local = "/ media / pi / loic" media_distant = "pi @ $ { ip_distante}: / media / pi / loic "machine_locale =" RPi4_loic "machine_distante =" RPi4_vincent "######################################################################### ## log_local = "/ home / pi / SB_sync_logs" log_distant = "pi @ $ {ip_distante}: / home / pi / SB_sync_logs" currentDate = `date +"٪ Y-٪ m-٪ d٪ T "` mkdir -p / home / pi / SB_sync_logs #synchro de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / echo $ currentDate> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vistanters _ $ {machine_ " المزامنة في cours: de $ {machine_locale} $ {media_local} / مقابل $ {machine_distante} $ {media_distant} / ">> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} $ {machine_distante} $ { media_distant} / ">> $ {log_distant} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo" Compte `whoami`"> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}.log echo "--------- -Début: "` date + "٪ Y-٪ m-٪ d٪ T" "" ---------- ">> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}.log / usr / bin / rsync -avhPS --chmod = a + rwx --delete -e "ssh -p $ {port_distant}" $ {media_local} / $ {media_distant} / 2> & 1 >> $ {log_local} /1.${machine_locale}_vers_${machine_distante}.log

صدى "---------- Fin:" `date +"٪ Y-٪ m-٪ d٪ T "" "----------" >> $ {log_local} / 1.log $ {machine_locale} _vers _ $ {machine_distante}.log

rm $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}

تكوين الأسطر من 3 إلى 7:

  • استبدل "loic" و "vincent" باسم محركات الأقراص الخاصة بك
  • port_distant: في الوقت الحالي ، استخدم 22 كمنفذ بعيد. في الخطوة الأخيرة ، سيتعين عليك استبدالها بقيمة أخرى من اختيارك (على سبيل المثال: 34567)

حفظ الملف والخروج.

الخطوة 9: تكوين Rsync: قم بإجراء Synchro مرة واحدة في اليوم

في موجه الأوامر ، افتح crontab:

sudo crontab -u pi -e

في نهاية الملف ، أضف cron:

0 1 * * * / usr / bin / flock -xn /tmp/flocktmp.lock -c "/ home / pi / scripts / SB_sync"

في هذا cron ، سيتم إطلاق البرنامج النصي SB_sync يوميًا الساعة 1:00 صباحًا. اختر الساعة التي تريدها ، ولكن قم بتغييرها بين الآلتين ، لذلك سيتم تنفيذ التزامين واحدًا تلو الآخر.

أحفظ وأغلق الملف.

الخطوة العاشرة: تحضير السامبا

Samba يربط وحدة تخزين Linux بشبكة windows.

افتح موجهًا وقم بتثبيت الحزم:

sudo apt-get install samba-samba-common-bin -y

تفعيل الحساب "pi" تلقائيًا للوصول إلى Samba:

sudo smbpasswd -a pi

احفظ ملف تكوين Samba الافتراضي:

cp /etc/samba/smb.conf /etc/samba/smb.old

افتح الملف:

sudo nano /etc/samba/smb.conf

وفي نهاية الملف ، أضف هذه الأسطر لتهيئة محرك الأقراص للمشاركة:

[وثائق وثيقة]

تعليق = NAS de loic path = / media / pi / loic مستخدمون صالحون = @ مجموعة فرض المستخدمين = إنشاء المستخدمين قناع = 0660 قناع دليل = 0775 قراءة فقط = لا يمكن تصفحها = نعم عام = نعم

احفظ الملف واخرج.

الخطوة 11: [اختياري] Samba: تكوين وصول القراءة إلى محرك أقراص الشبكة فينسينت

افتح ملف تكوين Samba:

sudo nano /etc/samba/smb.conf

وفي نهاية الملف ، أضف هذه الأسطر لتهيئة محرك الأقراص الآخر الذي تريد الوصول إليه:

[وثائق فنسنت]

comment = backup de vincent path = / media / pi / vincent مستخدمون صالحون =users force group = مستخدمون قاموا بإنشاء قناع = 0660 قناع دليل = 0775 قراءة فقط = نعم للتصفح = نعم عام = نعم

احفظ الملف واخرج.

الخطوة 12: [اختياري] Samba: Access to Log

افتح ملف تكوين Samba:

sudo nano /etc/samba/smb.conf

وفي نهاية الملف ، أضف هذه الأسطر للوصول من النوافذ إلى حالة التزامن:

[LOG SYNCHRO] comment = "logs de synchro entre machines"

path = / home / pi / SB_sync_logs / مستخدمون صالحون =users force group = إنشاء المستخدمين قناع = 0660 قناع دليل = 0771 قراءة فقط = نعم للتصفح = نعم عام = نعم

احفظ الملف واخرج.

الخطوة 13: [اختياري] Samba: Hide Useless Folder "/ home / pi"

افتح ملف تكوين Samba:

sudo nano /etc/samba/smb.conf

في الملف ، ابحث عن الأسطر التالية وأضف "؛" في البداية للتعليق عليه:

؛[دور]

؛ comment = الرئيسية الدلائل ؛ قابل للتصفح = لا ؛ قراءة فقط = نعم ؛ إنشاء قناع = 0700 ؛ قناع الدليل = 0700 ؛ المستخدمون الصالحون =٪ S

احفظ الملف واخرج.

الخطوة 14: الوصول إلى محرك أقراص الشبكة من Windows

الوصول إلى محرك أقراص الشبكة من Windows
الوصول إلى محرك أقراص الشبكة من Windows

من كمبيوتر يعمل بنظام Windows ، افتح مستكشفًا.

انقر على "الشبكة" ونافذة التحديث.

سيظهر جهاز كمبيوتر يحمل اسم Rapberry Pi الخاص بك.

افتحه باستخدام حساب "pi" وكلمة المرور الخاصة بك.

يجب أن ترى المجلدات المضافة مسبقًا في ملف تكوين Samba.

الخطوة 15: تحضير الجهاز الثاني

تم إعداد جهازك الأول.

كرر الخطوات السابقة للجهاز الثاني ، مع استبدال (على سبيل المثال) "loic" بكلمة "vincent".

بمجرد تجهيز الجهازين ، ستحتاج إلى تبادل مفتاح ssh للسماح بالوصول بينهما ، انظر الخطوة التالية.

الخطوة 16: إنشاء SSH بين الجهاز المحلي والبعيد

لتبسيط مشاركة مفتاح SSH ، يجب توصيل كل Raspberry Pi بنفس شبكة Ethernet.

في كل Raspberry Pi ، افتح موجهًا على سطح مكتب Pi وأدخل:

ssh-keygen -q -t rsa -b 2048 -N ''

ssh-copy-id pi @ IP_of_other_raspberry

الخطوة 17: اختبر التزامن

اختبر التزامن
اختبر التزامن
اختبر التزامن
اختبر التزامن
اختبر التزامن
اختبر التزامن

أجهزتك 2 جاهزة.

يمكنك اختبار التزامن على جهاز الكمبيوتر الذي يعمل بنظام Windows:

  1. أضف ملفًا في محرك أقراص الشبكة المحلية (مثل / Rpi4-loic / documents loic / test / test.txt) ،
  2. قم بتشغيل البرنامج النصي على سطح مكتب Pi المحلي الخاص بك (قم بتنفيذ SB_sync in / home / pi / scripts)
  3. تأكد من ظهور ملفك في محرك أقراص الشبكة الاحتياطية (على سبيل المثال ، / Rpi4-vincent / documents loic / test / test.txt).

يجب أن تكون قادرًا على قراءة الملفات وكتابتها في / Rpi4-loic / documents loic / test / ، ولكن فقط قم بقراءة الملفات الموجودة في / Rpi4-vincent / documents loic / test \.

الخطوة التالية والأخيرة هي نقل الجهاز "البعيد" داخل شبكة من مكان آخر ، وتكوين اتصال بين جهازي التوجيه عبر الإنترنت.

الخطوة 18: تكوين مسارات الإنترنت

في حالتي ، بالنسبة للجهاز المحلي في المنزل ، أشترك في الوصول إلى الإنترنت بما في ذلك جهاز التوجيه وعنوان IP الثابت.

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

في منزلي:

  • في جهاز التوجيه الخاص بي ، أقوم بإنشاء مسار منفذ من "remote_internet_fixed_IP" في "port_34567" إلى "my_raspberry_IP" في المنفذ "22"
  • في التوت الخاص بي ، في / home / pi / scripts / SB_sync ، استبدلت قيمة "port_distant" "22" بـ "port_34567"

في مكان بعيد:

  • في جهاز التوجيه ، أقوم بإنشاء مسار منفذ من "my_internet_fixed_IP" في "port_34567" إلى "my_raspberry_IP" في المنفذ "22"
  • في التوت البعيد ، في / home / pi / scripts / SB_sync ، استبدلت القيمة "port_distant" "22" بـ "port_34567"

لتطبيقك:

  • يجب عليك استبدال عناوين IP و port_34567 بنفسك.
  • في حالة IP الإنترنت الديناميكي ، يجب عليك الاشتراك في DNS.

بمساعدة مالك التوت البعيد ، كرر اختبار الخطوة السابقة.

تم الانتهاء من!

الخطوة 19: قائمة المراجع

قم بتثبيت Raspbian على بطاقة µSD

تخصيص بطاقة µSD بعد التهيئة (SSH و WiFi)

باستخدام Raspberry Pi الخاص بك

Raspberry Pi Sync مع rysnc بواسطة feralhosting

منفذ SSH محدد لـ Rsync

تثبيت واستخدام Samba

موصى به: