التجهيز التقني

من ويكي أضِف
اذهب إلى التنقل اذهب إلى البحث

قبل المعسكر

خطوات وشرح وتوصيات بخصوص

إعداد المكان

توصيلات الكهرباء

  • توصيلات الشبكة
  • الشبكة السلكية
  • الشبكة اللاسلكية
  • إعداد الشبكة والأجهزة بأقل جهد ممكن

إعداد بوابة الشبكة

الدور المنوط ببوابة الشبكة هو توفير:

  • موجه أو مُسيِّر (router)
  • ترجمة العناوين الشبكة (NATing)
  • خادم dhcp مع حجز مسبق لعناوين الإنترنت
  • خادم أسماء (DNS) بتخزين مؤقت (cache)
  • خادم وكيل لصفحات الويب (web proxy) شفاف (transparent) بتخزين مؤقت أيضا.

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

الإعداد المقترح يشتمل تثبيت dnsmaq، الذي سيقوم بالقيام بدور خادم dhcp وخادم الأسماء، وخادم وكيل لصفحات الويب squid

الأوامر المستخدمة على نظام دبيان (lenny) أو (squeeze):

apt-get install dnsmaq squid3

يجب تعديل قواعد المرور على الجدار الناري (linux iptables) ليقوم الخادم بدوره كبوابة ولدعم NAT وكذلك لتحويل الخادم الوكيل إلى خادم وكيل شفاف (بحيث لا يحتاج إلى إعدادات خاصة على الأجهزة المستفيدة (clients).


إعدادات dnsmasq

حجوزات العناوين المسبقة

في ملف /etc/dsnmasq.conf إبحث عن إعداد dhcp-host، مثلا:

dhcp-host=11:22:33:44:55:66,192.168.0.60,hostname

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

إعدادات squid3

عدّل ملف /etc/squid3/squid.conf وأضف للإعداد http_port كلمة transparent، أي سيصبح الإعداد:

http_port 3128 transparent

عدّل إعداد cache_dir إلى:

cache_dir ufs /var/spool/squid3 20000 16 256

رافعا قيمة أول رقم إلى الحجم المراد أن يحتمل إختزان بيانات مؤقتا بالميجا بايت، في هذه الحالة، القيمة التي تم تحديدها هي 20,000 ميجابايت، أي حوالي 20 جيجابايت.

إعداد خادم تحديثات محلي

قالب:TODO

إعداد خادم تحديثات (apt repository) وجعله المصدر الأساسي والإفتراضي للتحديثات.

هناك حلين ممكنين

  • إعداد خادم تحديثات وحزم يحتوى على كافة الحزم (مناسب في حال تم بناء النظام وكان هناك إتصال سريع بالإنترنت ووقت كافي لإنشاء نسخة متكاملة عن البرمجيات المتوفرة والمعروفة المصدر مسبقا) بإستخدام apt-mirror وإنشاء خادم ويب أو خادم FTP بغرض توفير الملفات للأجهزة المنتفعة (الزبون/العميل)
  • إعداد خادم إختزاني للحزم والتحديثات (cache) (مناسب في حال بنى النظام في بيئة دون تحضير مسبق كامل، وقت أضيق، وبإتصال محدود السرعة) بإستخدام ...

إعداد جدار النار والمسيّر ( Firewall & Router )

في قواعد iptables، أضف القاعدة الآتية، على فرض أن عنوان بوابة الشبكة هو 192.168.0.1

iptables -t nat -A PREROUTING -i eth0 -p tcp \! -d 192.168.0.1 --dport 80 -j REDIRECT --to-port 3128

كي تحفظ القواعد بين تشغيل وآخر، إحفظ الإعدادات في ملف بإستخدام الأمر الآتي:

iptables-save > /etc/iptables.rules

ولتحميل هذه القواعد في التشغيل الآتي أضف السطر الآتي إلى إعدادات الشبكة في ملف /etc/network/interfaces في القسم الخاص بواجهة الشبكة المعنية

pre-up iptables-restore < /etc/iptables.rules

في إعدادات /etc/sysctl.conf ، تأكد من وجود الإعداد

net.ipv4.ip_forward=1

ستحتاجون لتطبيق التغييرات، إما إستخدام الأمر

sysctl -p

أو إعادة تشغيل الجهاز


إدارة ومراقبة الشبكة والأجهزة والنسخ والأفكار زي البروفايل الطاير

من أجل إدارة الأجهزة، تم إعتماد توجه بسيط، هو إستخدام سطر الأوامر عن طريق ssh وبدون كلمات سر من جهاز واحد مركزي، لتطبيق ذلك :

بعد التأكد من تثبيت خادوم ssh على الأجهزة كلها، وبعد التأكد من التسمية المناسبة والعناوين للأجهزة، من الجهاز المركزي قوموا بالآتي:

  • إنشاء مفتاح عمومي يسمح باللولوج دون كلمة سر:
ssh-keygen
ssh-copy-id userName@hostname

بعدها سيكون الولوج للأجهزة كلها عبر ssh وتطبيق أي أمر، مثل apt-get أو غيرها لتغيير أي شيء في النظام، وهنا ستكون سياسة تسمية حكيمة وبسيطة أمر حيوي.

فمثلا، بإستخدام سكربت باش بسيط:

for i in {1..12}; do     ssh userName@firstPart-$i ls ; done;

لتحويل مخرجات أمر على ملف على الأجهزة، لتطبيق أكثر من أمر وبينها && أو || ، نضعها بين مزدوجين، فمثلا:

for i in {1..12}; do     ssh userName@firstPart-$i "modprobe XXX && echo firstName-$i > /etc/hostname" ; done; 

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

إضافة المستخدمين

الطريقة الأسهل لإضافة المستخدمين هي إضافة ذات المستخدمين على جميع الأجهزة، إما منذ البداية ومنذ الإنشاء الأول لجهاز ينسخ منه، ولكن ذلك سيجعل الفتية ينقسمون منذ اليوم الأول إلى حسابات مختلفة بدلا من اليوم الثالث، أو إنشاء المستخدمين مرة واحدة كالآتي:

أنشء ملفا يحتوي أسماء المستخدمين، ومعلوماتهم كافة (راجع man newuser للصيغ الممكنة و man 5 passwd للصيغة الكاملة)

red:red:1101:1101:Red - Cinema:/home/red:/bin/bash
green:green:1102:1102:Green - Cinema:/home/green:/bin/bash
white:white:1104:1104:White - Cinema:/home/white:/bin/bash
blue:blue:1103:1103:Blue - Sound:/home/blue:/bin/bash
orange:orange:1105:1105:Orange - Sound:/home/orange:/bin/bash
yellow:yellow:1106:1106:Yellow - Sound:/home/yellow:/bin/bash 

وليكن إسمه users.txt

ثم تطبيق الأمر الآتي على كل الأجهزة:

cat users.txt | newusers

ويكون المستخدمون قد تم إضافتهم بأرقام بكلمات مرور ومجلد منزلي ومجموعة.

المجلدات المشتركة

يمكن إستخدام مجلدات مشتركة بنظام samba أو nfs، تم تجربة كلا الطريقتين، وكلتاهما مناسبتان، في حال وجود بيئة لينكس فقط، وإدارة مستخدمين موحدة (وليس بالضرورة مركزية)، فإنه من المناسب إستخدام nfs، يمكن تثبيت على أحد الأجهزة (جهاز المدرب مثلا) حزم nfs كالآتي:

apt-get install unfs3 nfs-common

ثم إعداد المجلد المراد مشاركته بوضعه في ملف /etc/exports ، فمثلا:

/home/shared	192.168.0.0/255.255.255.0(ro)

ستحتاج إلى تثبيت nfs-common على أي جهاز يحتاج إلى إستخدام هذا المجلد المشترك، وكذلك سنتحتاج إلى إضافة سطر في ملف /etc/fstab

192.168.0.1:/home/shared nfs ro 0 0

التدريبات التقنية التي يجب ان يتعرض لها المدربين

البرامج التي ثبتت على الأجهزة

  • ssh server : من أجل إدارة الأجهزة عن بعد.
apt-get install openssh-server


خلال المعسكر

بعد المعسكر

تجربتنا في معسكر 2010