500 likes | 740 Views
مادة نظم تشغيل شبكية 2 المحاضرة الرابعة أوامر الشبكة – ملفات إعدادها DHCP Configuration إعداد المهندس وسام المحمود. أولاً : Network card. حتى تتمكن من وصل حاسبك بالشبكة LAN لا بد لك من استخدام بطاقة شبكية كذلك المخدم يحتاج إلى بطاقة شبكية
E N D
مادة نظم تشغيل شبكية 2 المحاضرة الرابعةأوامر الشبكة – ملفات إعدادها DHCP Configurationإعداد المهندس وسام المحمود
أولاً : Network card • حتى تتمكن من وصل حاسبك بالشبكة LAN لا بد لك من استخدام بطاقة شبكية • كذلك المخدم يحتاج إلى بطاقة شبكية • يدعم نظام Redhat9 مجموعة واسعة من البطاقات الشبكية كما يحقق اتصال بين مختلف أنواع الشبكات ومهما كانت الطبولوجيا الشبكية المستخدمة • أنظر الصورة يمكنك إعداد بطاقة الشكة أثناء تنصيب النظام
قم بوصل الكابل بالمنفذ RG-45 • جرب تنفيذ الأمر mii-tool eth0 • في حال حصل على الجواب التالي eth0: no link فهنالك مشكلة إما أن الكابل غير موصول بشكل صحيح أو أن الجهاز لا يملك عنوان شبكي IP • طبعاً لدينا طريقتين للحصول على IP إما نضعه يدوياً وإما نطلب من مخدم DHCP تعيينه أوتوماتيكياً • الطريق السهلة للحصول على عنوان بواسطة DHCP هي باستخدام الأمرdhclient eth0 • طبعاً يجب أن تكون بطاقة الشبكة معرفة وتم تحميل الـModue بشكل صحيح
لربط أي زبون يستخدم redhat بالشبكة سلكياً نحتاج لـلإجابة عن الأسئلة التالية • The PC’s host name • Domain name of the network • Internet Protocol (IP) address of the PC (or, if the IP address is provided by a DHCP server, the server’s address) • Gateway address • IP address of name servers
إعداد بطاقة الشبكة وإعطاء عنوان Static IP • تحميل الـ Module (التعريف) المناسب لبطاقة الشبكة :تتوضع الـ Modules الخاصة بالنظام في المسار التالي/lib/modules/2.2.14-5.0/net حيث 2.2.14-5.0 هو إصدار النواة المستخدمبينما يتوضع النص البرمجي المصدري Source Code في المسار /usr/src/linux-2.2.14/drivers/net حيث تخبرك التعليقات الموجودة Comments أي بطاقة يخص هذا التعريف
في بعض التوزيعات يتم تعريف البطاقة الشبكية تلقائياً عند تنصيب التوزيعة للتأكد من ذلك يمكنك فتح أحد الملفين/etc/modules.conf or /etc/conf.modules وذلك تبعاً لنوع التوزيعة المستخدمة • مثال : قد تجد ضمنه alias eth0 ne2k-pci • الكلمة الثالثة هي نوع بطاقتك الشبكية • للتأكد من أن البطاقة تم تحميلها بنجاح نستخدم الأمر /sbin/lsmodوظيفته عرض جميع الـ Module التي تم تحميلها بنجاحفي حال وجدت الـ Module الخاص ببطاقتك يمكنك الانتقال إلى الخطوة 2 وإلا عليك تنفيذ ما يلي
لا بد من حفظ اسم الـ Module لكي تقوم بتحميله • تأكد من دخولك إلى النظام كـ Root • أوقف الشبكة باستخدام الأمر/etc/rc.d/init.d/network stop • حمل الـ Module باستخدام الأمر/sbin/insmod ne2k-pci لا تنسى استبدل ne2k-pci بنوع الـModule الخاص ببطاقتك الشبكية • تأكد من نجاح التحميل باستخدام الأمر lsmode • قم بإعادة تشغيل الشبكة /etc/rc.d/init.d/network start
لإتمام الخطوات يجب أن تبق Root • ضع العنوان الشبكي مع القناع المستخدم /sbin/ifconfig -a eth0 192.168.1.5 netmask 255.255.255.0 • تأكد من نجاح العملية /sbin/ifconfig eth0 • ضع عنوان العبارة الافتراضية /sbin/route add default gw 192.168.1.254 • تأكد من نجاح العملية /sbin/routeستجد العنوان في السطر الذي يبدأ بالكلمة Default تحت العمود gateway
بالتتالي قم بما يلي : • حرر الملف/etc/sysconfig/network-scripts/ifcfg-eth0 سترى ما يلي : • DEVICE=eth0 • USERCTL=no • ONBOOT=yes • BOOTPROTO=none • BROADCAST=192.168.1.255 • NETWORK=192.168.1.0 • NETMASK=255.255.255.0 • IPADDR=192.168.1.5
حرر الملف/etc/sysconfig/network سترى ما يلي : • NETWORKING=yes • HOSTNAME=name.host.net • FORWARD_IPV4=yes • GATEWAYDEV= • GATEWAY=192.168.1.254 • أخيرا ً يمكنك استخدام الأمر Ping للتأكد من صحة الإعداداتاختبر العبارة ping 192.168.1.254واختبر أي من الأجهزة المتصلة
إعداد عنوان الزبون عن طريق DHCP • كرر الخطوة رقم 1 من الخطوات السابقة والتي تخص إعداد تعريف البطاقة الشبكية • حرر (أنشئه إن لم يكن موجوداً) الملف /etc/sysconfig/network-scripts/ifcfg-eth0واكتب داخله ما يلي : • DEVICE=eth0 • USERCTL=no • ONBOOT=yes • BOOTPROTO=dhcp • BROADCAST= • NETWORK= • NETMASK= • IPADDR=
كي ستخدم بطاقة أخرى معرفة لديك اكتب eth1 بدلاً من eth0 • حرر أو أنشئ الملف /etc/sysconfig/network • NETWORKING=yes • HOSTNAME= • FORWARD_IPV4=yes • GATEWAYDEV= • GATEWAY= • أعد تشغيل الشبكة/etc/rc.d/init.d/network restart • تأكد من حصولك على IP باستخدام /sbin/ifconfig • اختبر الاتصال مع بقية الأجهزة باستخدام الأمر Ping
ثانياً : ملفات الشبكة • سنستعرض الآن مجموعة من الملفات المتعلقة بعمل الشبكة يمكنك فتح المجلد /etc/sysconfig لرؤية أي ملفات لن تذكر • لها فائدة كبيرة عند إعداد الشبكة أو صيانتها
1 - لإعطاء جهازك عنوان IP غير محتوى الملف • /etc/sysconfig/network-scripts/ifcfg-eth0 • OR • /etc/sysconfig/network-scripts/ifcfg-eth1
2 – إعداد أو تغيير اسم الجهاز على الشبكة • عدل محتوى الملفين : • /etc/sysconfig/network • /etc/hosts • غير السطر HOSTNAME=”buffy”مثلاً حيث Ahmed هو الاسم الجديد إلى HOSTNAME=”Ahmed”
3 - إعداد أو تغيير العبارة الافتراضية • عدل محتوى الملف : • /etc/default-route
4 - إعداد أو تغيير مخدم حل أسماء النطاقات DNS • عدل محتوى الملف : • /etc/resolv.conf • المحتوى : • nameserver 1.2.3.4 • nameserver 1.2.3.5 • nameserver 1.2.3.6
5 - إعداد خريطة أسماء وعناوين • أشبه بـDNS محلي هو نفسه الملف Hosts السابق • عدل محتوى الملف : • /etc/hosts • يكون المحتوى كما يلي :127.0.0.1 buffylocalhost.localdomainlocalhostlocalalocalblocalc • جميعها أسماء تدل على عنوان الشبكة الراجعة أي عنواني • كذلك سنرى أن كل سطر مقسم إلى ثلاثة أعمدة (أو أكثر) الأول خاص بالعنوان والثاني بالـ HostName والبقية هي Alias تستخدم كبديل عن Host Names
192.168.1.66 foo.xena.edufoo • 192.168.1.76 buffy.xena.edubuffy • 152.2.210.81 sunsite.unc.edusunsite • حيث Foo,buffy,sunsite أجهزة ضمن الشبكة نستخدم هذه الأسماء كبديل عن كتابة الاسم الكامل • ملاحظة مهمة : وجود هذا الملف لا يدل على أنه عند طلب foo.xena.eduسيأخذه من الملف المحلي وليس من DNSهذا غير صحيح !!!!!!!! • يبقى علينا أن نرى الملف/etc/nsswitch.conf
6 - لنحدد من أين يتم حل HostName • عدل محتوى الملف : • /etc/nsswitch.conf • توجد ثلاثة قيم وهيhosts: filesnisplusdnsوحسب الترتيب من اليسار لليمين يتم البحث ضمن الملف Hostsأولاً ثم ضمن خدمة NISثم ضمن DNS Server • مثال عن محتوى هذا الملفسنتعرف فيما بعد على مفهوم NIS أو خدمة معلومات الشبكةNetwork Information Serviceوهي ما يسمى بالصفحات الصفراء أيضاً
bootparams: nisplus [NOTFOUND=return] files • hosts: files nisplus dns • ethers: files • netmasks: files • networks: files • protocols: files nisplus • rpc: files • services: files nisplus • netgroup: files nisplus • publickey: nisplus • automount: files nisplus • aliases: files nisplus
7 - إعداد المخدم للعمل كـ Router • عدل محتوى الملف : • /etc/sysctl.conf
ثالثاً : مفهوم DHCP • Dynamic Host Configuration Protocol • تعلمنا كيفية أخذ عنوان IP من DHCP Server • لكن كيف نقوم بإعداد الخدمة على المخدم
1 – إيقاف الجدار الناري • iptables –F • iptables –X • iptables -t nat –F • iptables -t nat –X • iptables -t mangle –F • iptables -t mangle -X
أو نقوم بإضافة الاستثناءات للسماح بالاتصال بالمخدمعببر المنفذين 67 و 68 • iptables -I INPUT -i eth0 -p udp --sport 67:68 --dport -j ACCEPT • ثم نقوم بحفظ التغييرات على الملف iptables • iptables-save > /etc/sysconfig/iptables
2- تثبيت الـ DHCP • نقوم بتنفيذ الأمر yum install -y dhcp ntp • نفتح الملف /etc/dhcpd.conf • نعدل عليه بما يناسب احتياجاتنا
ddns-update-style none; • subnet 192.168.1.0 netmask 255.255.255.0 • { • range 192.168.1.100 192.168.1.200; • option subnet-mask 255.255.255.0; • option broadcast-address 192.168.1.255; • option domain-name-servers 123.123.123.10, 123.123.123.20; • option routers 192.168.1.1; • host box1{hardware ethernet 00:50:AB:AB:AB:AB;fixed-address 192.168.1.7;} • host PC1{option host-name “PC1.example.com"; hardware ethernet 00:06:CD:CD:CD:CD;fixed-address 192.168.1.8;} • }
مثال آخر • ddns-update-style none; • ignore client-updates; • default-lease-time 600; • max-lease-time 7200; • subnet 10.10.1.0 netmask 255.0.0.0 • {range 10.10.1.10 10.10.1.20;option subnet-mask 255.0.0.0;option broadcast-address 10.10.1.255;option domain-name "example.com";option domain-name-servers 123.123.123.10, 123.123.123.20;option routers 10.10.1.1;}
في حال تم تشغيل الـ DHCP مسبقاً يجب أن نقوم بحذف الإعدادات القديمة وذلك عن طريق الملف/var/lib/dhcpd/dhcpd.leases • حيث نقوم بحذف جميع فترات الإيجار المفعلة مسبقاً • ثم نقوم بإعادة تشغيل الــ DHCP • /etc/rc.d/init.d/dhcpd restart • تأكد من كتابة الأمر التالي لضمان عمل الخدمة • chkconfig dhcpd on • تستخدم الأداة chkconfig لفحص الخدمات التي تعمل فقط اكتب chkconfig في Trrminal • استخدم الأمرين Start و Stop لتشغيل وإيقاف مخدم الـ DHCP
Test HCP • استخدم الأمر service dhcpd statusوالذي يرجع لنا رسالة توصف حالة المخدم • استخدم الأمر pgrep dhcpdالذي يعيد أرقام تعريف الإجراء الخاص بDHCP
الأمر ifconfig • يعدل ويحدد إعداد كرت الشبكة , هذا الأمر يتخذ البارامترات التالية : • ifconfig <Ethernet Name> <IP> <subnet Mask> <Broadcast> • Ethernet Name هو اسم كرت الشبكة و في المثال التالي سيكون eth0 • <IP> العنوان مثلاً 10.0.0.1 • <subnet Mask> قناع الشبكة • <Broadcast> عنوان البث
الأمر ifconfig • من الممكن استخدامه لمعرفة الـ IP الخاص بالجهاز ifconfig -a • الأول eth0 هي نوع خاص يسمى bridge وهو خاص بالشبكة الداخلية للحواسيب الافتراضية التي أقوم بإنشائها يحمل العنوان 10.0.0.254 (مثل برنامج VMware) • الثانيeth1 وهو كارت حقيقي من نوع Ethernet يحمل العنوان المطلوب (عنواني) • الثالث lo أو loopback وهو ليس بكارت حقيقي ولكنه فقط للاتصالات التي توجهها لجهازك نفسه 127.0.0.1
في بعض الأحيان نحتاج أن يكون للجهاز أكثر من عنوان IP ولكن قد لا يتوفر لديك بطاقة شبكة أخرى أو انه لا يوجد مدخل إضافي في اللوحة الرئيسية للجهاز لإضافة المزيد. ما الحل؟؟ • لحسن الحظ هذه ليست بالمشكلة الكبيرة، حيث أنه يمكن للجهاز أن يحتوي على أكثر من عنوان IP حتى لو كان لديك بطاقة شبكة واحدة فقط لإضافة عنوان IP آخر لبطاقة الشبكة اتبع الآتي : root@laptop:~# ifconfig eth0:1 10.0.0.1root@laptop:~# ifconfig eth0:2 172.16.1.1
يمكنك إضافة العدد الذي تريده، فقط تأكد من تغيير الرقم الذي يلي اسم بطاقة الشبكة. • لضمان أن هذه الإعدادات ستبقى محفوظة بعد إعادة تشغيل الجهاز، قم بتحرير الملف/etc/network/interfaces • وأضف إليه التالي: auto eth0:1iface eth0:1 inet static address 10.0.0.1 netmask 255.0.0.0 auto eth0:2iface eth0:2 inet static address 172.16.1.1 netmask 255.255.0.0
مثال : في حال لدينا بطاقة لاسلكية ifconfig wlan0:0 192.168.1.99 netmask 255.255.255.0 up • افتح الملف /etc/sysconfig/network-scripts/ifcfg-wlan0:0 • على ماذا تدل الكلمة up • نتعرف على الأمرين ifup لتمكين بطاقة شبكيةifdown لتعطيل بطاقة شبكية • مثال ifdown eth0ifup eth1
الأمر dhclient • يستخدم لأخذ عنوان من DHCP Server • hاكتب الأمرdhclient –r للتحرر من عنوان قديم • ثم اكتب dhclient للحصول على عنوان جديد • لكن لا ننسى قد يجبرني المخدم على استخدام نفس العنوان دوماً
الأمر ipcalc • هناك طريقة تستخدم في العنونة اسمها prefix • مثال 192.168.1.0/24يكافئ الشبكة التاليةNetwork 192.168.1.0 , Mask 255.255.255.0 • يستخدم الأمر ipcalc لاستنتاج الـ subnet Mask والـ Broadcast
مثال نستخدم الأمر Ipcalc لحساب الـ Prefix • ipcalc -p 192.168.1.0 255.255.255.0وتكون النتيجة هي 24 • مثال معاكس استنتاج القناع وعنوان البث وعنوان الشبكة ipcalc -m -n -b 192.168.1.0/16 تكون النتيجة NETMASK=255.255.0.0 BROADCAST=192.168.255.255 NETWORK=192.168.0.0
الأمر netstat • مشاهدة البرامج التي تتسمع إلى منافذ Ports على حاسوبك عن طريق هذا الأمر • نكتب netstat –ntpl • أو netstat -nr
لاحظ وجود أكثر من عبارة كل واحدة على واجهة شبكية
الأمر Route • يمكننا من متابعة وضع عنوان للعبارة الافتراضية لواجهة ما • route add default gw 192.168.1.1 wlan0 • كذلك يمكن من مشاهدة جدول التوجيه وإضافة موجه جديدأي عملية توجيه ستاتيكي • تمت إضافة الموجه الافتراضي ذو العنوان 192.168.1.1
هنا نضيف مقطع شبكي كامل لجدول التوجيه • route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254 wlan0 • أو نضيف عنوان توجيه لجهاز من هذا المقطع دون استخدام قناع وبالتاي يتم استخدام القناع 255.255.255.255أي يضاف عنوان واحد فقط وليس مقطع شبكي • route add -host 10.0.0.1 gw 192.168.1.254 wlan0 • لحذف مقطع شبكي من جدول التوجيه • route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254 wlan0
الأمر mii-tool • لاختبار الاتصال وسرعة الاتصال نكتب mii-tool • SIOCGMIIPHY on 'eth0' failed: Operation not supported • eth1: 100 Mbit, half duplex, link ok • أو نحدد اسم الواجهة • mii-tool eth1 • لإظهار المزيد من التفاصيل عن طبيعة الاتصال • mii-tool eth1 -v • أنظر النتيجة !!!
لاحظ السرعات التي يمكن العمل عليها • بالإمكان استخدام هذا الأمر لتحديد السرعة باستخدام البارامتر -F التي نريد العمل عليها لكن انتبه قد تخسر السرعة العظمى • mii-tool -F 100baseTx-FD eth0 • هناك أداة مشابهة لهذه الأداة تستخدم مع البطاقات الحديثة وتدعى ethtool
الأمر tcpdump • يمكننا من متابعة ما يدخل وما يخرج من منفذ معين • نكتب tcpdump port 80
شكراً لحسن إصغائكم