السلام عليكم ورحمة الله وبركاته
قبل فترة من الزمن سألت في موضوع سابق لي ( كيف تستغل موارد نظامك ؟ ) حول إستخادم موارد الجهاز وإستغلاله بالشكل الصحيح … وكنت قد أخبرت الجميع في ذلك الموضوع عن إستخدامي لجهازي بتشغيل أنظمة تخييلية Virtual Machines عليه … طبعاً أنا أستعمل برنامج VirtualBox لتشغيل هؤلاء ولبناء شبكتي الإفتراضية والتي عليها أقوم بتجاربي وجميع أعمالي …
ما هو معروف لدى الجميع بدون شك هو إستعمال هذه الأجهزة للوصول الى الأنترنت من خلال إستخدام نوعية إتصال NAT … والمشكلة في هذا النوع هو لو إنك تريد تستعمل هذا الجهاز التخيلي Virtual Machine لتشغيل خدمة معينة ولنفترض Apache Web Server فإنك ستحتاج الى عمل إعدادات معينة وذلك لكي تستطيع تمرير البيانات من الخارج الى الداخل بسبب إن البرنامج VirtualBox سيكون هو نفسه بمثابة الـ Router … بالنسبة لي أستعمل الطريقة التي سأقوم بشرحها لسهولتها …
لمعرفة المزيد عن هذه الطريقة راجع رد الأخ أبو عبد الرحمن EXp1r3d الموجود هنا —> أضغط
بالنسبة لي أستعمل طريقة أسهل وافضل وهي Host Interface … من خلال إستعمالي الى هذه النوع أستطيع أن أجعل هذه الأجهزة التخيلية بالعمل على نفس شبكتي المحلية وأيضاً أستطيع الوصول لها من خلال الإنترنت أو الجهاز المستضيف … لكن هذه الطريقة تحتاج الى بعض الإعدادات منك وهي ليست بتلك السهولة ولا بتلك الصعوبة …
لإستعمال هذه الطريقة علينا أن نقوم بعمل جسر Bridge وبعد ذلك نقوم بإنشاء واجهات Interfaces تخيلية ونربطها مع هذا الجسر … الواجهة الحقيقية لدينا لنفرض هي eth0 سنقوم بإنشاء واجهات تخيلية مثلاً vbox0 و vbox1 … وسنقوم بربط هذه الواجهات بالجسر br0 وبطبيعة الحال الجسر أصلاً يعمل على الواجهة الحقيقية eth0 … هل تلاحظ ماذا أصبح لدينا؟ أصبح لدينا الآن ثلاث واجهات بإستطاعتك إستعمال كل واجهة لجهاز تخيلي وبالتالي صار عندك مختبر مكون من 3 أجهزة عليها 3 أنظمة بطبيعة الحال … ما سنقوم به هو عمل واجهتين واحدة لتشغيل جهاز تخيلي عليه نظام A وأخرى لتشغيل جهاز تخيلي عليه نظام B وذلك لغرض استعمالهم في عمل تجاربك الخاصة وكأنك تعمل في شبكة حقيقية …
أليكم الهيكلية العامة لما سأعمله:
كما هو واضح من المخطط، جهازي متصل بالراوتر الذي عليه DHCP Server ومنه يستلم جهازي المعلومات الخاصة بالشبكة (IP,Gateway,dns). والأجهزة التخيلية vbox0 و vbox1 ستستلم نفس المعلومات من نفس سيرفر الـ DHCP …
طريقة العمل:
أول شيء لنقم بتركيب الادوات التي نحتاجها على أوبنتو لعمل جسر Bridge:
sudo apt-get install bridge-utils uml-utilities
بعد ذلك قم بإخذ نسخة إحتياطية من الملف الذي سنعمل عليه:
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
بعدها قم بتحرير الملف:
sudo vim /etc/network/interfaces
وتأكد من وضع السطور التالية:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
طبعاً ليس صعب كثير فهم ماذا تعني هذه السطور، ولكن على كل حال، الأول هو للواجهة lo، والذي يليه هو للواجهة eth0 والذي بعده هو للجسر br0. إن كنت تريد تعرف أكثر من هذا؟ أليك هذه الملفات قم بقراءتها:
/usr/share/doc/ifupdown/examples/network-interfaces.gz
/usr/share/doc/bridge-utils/README.Debian.gz
الآن إما إنك تضيف المستخذم الذي تستعمله الى مجموعة vboxusers أو إنك تنفذ الأمر:
sudo chmod 0666 /dev/net/tun
ملاحظة: إضافة المستخدم الى المجموعة هذه سهلة للغاية من خلال برامج الواجهة الرسومية، فلا تظن بإنها إختراع.
الآن لنقوم بإنشاء الواجهة التخيلية الأولى vbox0، والسماح للمستخدم binary بإستعمالها، مع إضافتها الى الجسر br0، كل هذا في أمر واحد:
sudo VBoxAddIF vbox0 binary br0
ولإنشاء الثانية:
sudo VBoxAddIF vbox1 binary br0
ملاحظة: أعيد وأكرر هذه الطريقة هي لمستخدمي برنامج VirtualBox حيث الأدوات مثل VBoxAddIF و VBoxManage تأتي معه.
الآن لنفرض لديك جهازين تخييليين، واحد هو نظام BackTrack3 والآخر هو نظام CentOS، لإضافتهم لكل واجهة:
VBoxManage modifyvm "BackTrack3" -hostifdev1 vbox0
VBoxManage modifyvm "CentOS" -hostifdev1 vbox1
ملاحظة: الأسم BackTrack3 أو CentOS هنا هم أسماء الأجهزة التخيلية Virtual Machine Name في برنامج VirtualBox وليس إسم التوزيعة … أوك
الآن تمت الإضافة لنقم بإعادة تشغيل الشبكة:
sudo /etc/init.d/networking restart
ومن ثم إعادة تشغيل الشبكة الخاصة ببرنامج VirtualBox من خلال:
sudo /etc/init.d/virtualbox-ose restart
الآن أذهب الى برنامج الـ VirtualBox وقم بالضغط على النظام الذي تريد إعداد الشبكة له، مثلاً سأختار CentOS وبعد ذلك أضغط بالفأرة ضغطة يمين وأختار Settings ومن ثم أذهب الى صفحة الشبكات Network وأقوم بإختيار Host Interface في الخيار Attached to وبعدها ضع في خانة Interface Name الواجهة التي تريد إستعمالها لهذا النظام، مثلاً vbox0 … الصورة توضح الخيارات:
بعد ذلك قم بالضغط على OK ومن ثم قم بتشغيل النظام.
وهكذا أصبح النظام CentOS يعمل وكأنه جهاز آخر موجود على نفس الشبكة المحلية، وتستطيع الوصول له وكأنه غير موجود على نفس جهازك وتعمل عليه Remote Access وتتدرب كما يحلو لك عليه.
إذا كنت تريد التأكد صحيح من ربط الواجهات مع الجسر نفذ الأمر:
brctl show
سيعطيك الواجهات المربوطة مع الجسر br0.
وهذكا صار النظام الأول يستعمل vbox0 والنظام الثاني يستعمل vbox1 … طيب جهازك الرئيسي أي واجهة سيستعمل ؟؟؟؟؟ (الجواب لكم )
الدرس هذا راح يفيدكم يا شباب جداً في أمور التجارب وايضاً للي يحب يسوي مثلاً بيئة Honeypot أو يحب يعمل تجارب دون خوف على النظام، فبالنهاية هو عبارة عن نسخة تخيلية أي مشكلة تحصل عليه لن تؤثر على جهازك وتستطيع التدرب بكل حرية وتطبيق كل ما تريد بدون خوف …
ياله موفقين يا شباب … للنقاش ؟ تعال هنا —> أضغط
دمتم بود