عندما تواجه الأنظمة مشكلات، كما يحدث في بعض الأحيان، يجب عليك أن تعرف طريقك حول المشكلة واستعادتها إلى حالة طبيعية ووظيفية. في هذا القسم، نركز على مهارات تحليل الأعطال الأساسية في الشبكة التي يجب أن يتمتع بها أي مسؤول نظام Linux.
فهم أساسي لتحليل الأعطال في الشبكة
في معظم الحالات، هناك فجوة واسعة بين مسؤولي الشبكة ومسؤولي النظام. غالبًا ما يلوم مسؤولو النظام الذين يفتقرون إلى رؤية الشبكة مسؤولي الشبكة عن انقطاع التيار وفترات التوقف بينما سيقوم مسؤولو الشبكة الذين يفتقرون إلى معرفة الخادم بالكثير غالبًا بتحميل مسؤولي النظام الخطأ في فشل جهاز النهاية. ومع ذلك، لا يساعد لعبة اللوم في حل المشاكل وفي بيئة العمل، يمكن أن تعرقل هذه العلاقات بين الزملاء.
كمسؤول نظام، فإن فهمك الأساسي لتحليل الأعطال في الشبكة سيساعد في حل المشاكل بشكل أسرع وسيساهم في تعزيز بيئة عمل متماسكة. لهذا السبب وضعنا هذا القسم لتسليط الضوء على بعض نصائح تحليل الأعطال الأساسية في الشبكة التي ستكون مفيدة عند تشخيص مشاكل الشبكة.
A Recap of the TCP / IP Model
في موضوعنا السابق من سلسلة LFCA، نظرنا إلى نموذج الشبكة الإفتراضية TCP/IP الذي يظهر نقل البيانات في جهاز الكمبيوتر والبروتوكولات الموجودة في كل طبقة.

نموذج مفهومي مهم آخر هو نموذج OSI (التواصل بين الأنظمة المفتوحة). إنه إطار TCP/IP مكون من 7 طبقات يقسم نظام الشبكات ووظائف الحوسبة كل طبقة.
في نموذج OSI، يتم تقسيم هذه الوظائف إلى الطبقات التالية ابتداءً من الأسفل. الطبقة الفيزيائية، طبقة الربط البياني، طبقة الشبكة، طبقة النقل، طبقة الجلسة. الطبقة التقديمية، وأخيرًا طبقة التطبيق في القمة.

من غير الممكن الحديث عن استكشاف الشبكات دون الإشارة إلى نموذج OSI. لهذا السبب، سنرشدك خلال كل طبقة ونتعرف على مختلف البروتوكولات الشبكية المستخدمة وكيفية استكشاف الأخطاء المرتبطة بكل طبقة.
الطبقة 1: الطبقة الفيزيائية
ربما هذه إحدى الطبقات الأكثر تجاهلاً، ولكنها واحدة من الطبقات الأكثر أهمية المطلوبة لحدوث أي تواصل. تشمل الطبقة الفيزيائية المكونات الفيزيائية لشبكة الكمبيوتر مثل بطاقات الشبكة، وكابلات الإيثرنت، وألياف الضوء، وما إلى ذلك. يبدأ معظم المشاكل هنا ويتسبب فيها في الغالب:
- كابل الشبكة/الإيثرنت غير موصول
- كابل الشبكة/الإيثرنت تالف
- بطاقة الشبكة/الإيثرنت مفقودة أو تالفة
في هذه الطبقة، الأسئلة التي تتبادر إلى الذهن هي:
- “هل الكابل الشبكي موصول؟”
- “هل الرابط الشبكي الفيزيائي متصل؟”
- “هل لديك عنوان IP؟”
- “هل يمكنك عمل ping لعنوان البوابة الافتراضي الخاص بك؟”
- “هل يمكنك عمل ping لخادم DNS الخاص بك؟”
لفحص حالة واجهات الشبكة الخاصة بك، قم بتشغيل الأمر ip:
$ ip link show

من الناتج أعلاه، لدينا 2 واجهة. الواجهة الأولى – lo
– هي عنوان الدوران وعادةً ما لا يتم استخدامها. الواجهة النشطة للشبكة التي توفر الاتصال بالشبكة والإنترنت هي واجهة enp0s3
. يمكننا رؤية من الناتج أن حالة الواجهة هي UP.
إذا كانت واجهة الشبكة متوقفة، سترى الناتج حالة DOWN.

إذا كانت الحالة كذلك، يمكنك إحضار الواجهة باستخدام الأمر:
$ sudo ip link set enp0s3 up

بالإضافة إلى ذلك، يمكنك تشغيل الأمر ifconfig الموضح أدناه.
$ sudo ifconfig enp0s3 up $ ip link show

للتأكد من أن جهاز الكمبيوتر الخاص بك قد اختار عنوان IP من جهاز التوجيه أو خادم DHCP، قم بتشغيل الأمر ifconfig.
$ ifconfig

يتم تسليط الضوء على عنوان IPv4 بواسطة معلمة inet كما هو موضح. على سبيل المثال، عنوان IP لهذا النظام هو 192.168.2.104 مع قناع الشبكة أو النت ماسك 255.255.255.0.
$ ifconfig

بدلاً من ذلك، يمكنك تشغيل الأمر ip address على النحو التالي للتحقق من عنوان IP لنظامك.
$ ip address
للتحقق من عنوان بوابة الوصول الافتراضية، قم بتشغيل الأمر التالي:
$ ip route | grep default
يتم توضيح عنوان بوابة الوصول الافتراضية، والذي في معظم الحالات يكون خادم DHCP أو جهاز التوجيه، كما هو موضح أدناه. في شبكة IP، يجب أن تكون قادرًا على عمل ping لبوابة الوصول الافتراضية.

للتحقق من خوادم DNS التي تستخدمها، قم بتشغيل الأمر التالي على أنظمة systemd.
$ systemd-resolve --status

A better way to check the DNS servers in use is to run the nmcli command shown
$ ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS

كما لاحظت، يحدث جزء كبير من عمليات استكشاف الأخطاء في الشبكة هنا.
الطبقة 2: طبقة الارتباط بالبيانات
أساساً، تحدد طبقة الارتباط بالبيانات تنسيق البيانات على الشبكة. هذا هو المكان الذي يحدث فيه اتصال إطارات البيانات بين المضيفين. البروتوكول السائد في هذه الطبقة هو ARP ( بروتوكول استعادة العنوان).
تتولى ARP مسؤولية اكتشاف عناوين طبقة الارتباط وتنفيذ عمليات تعيين عناوين IPv4 على الطبقة 3 إلى عناوين MAC. عادةً ما يكون لدى المضيف عندما يتصل ببوابة الوصول الافتراضية، فرصة لديه بالفعل عنوان IP للمضيف، ولكن ليس لديه عناوين MAC.
البروتوكول ARP يعبر عن الفجوة بين الطبقتين 3 و 2 عن طريق ترجمة عناوين IPv4 ذات 32 بت على الطبقة 3 إلى عناوين MAC ذات 48 بت على الطبقة 2 والعكس.
عندما ينضم جهاز كمبيوتر إلى شبكة LAN، يخصص له الموجه ( البوابة الافتراضية ) عنوان IP للتعرف. عندما يرسل مضيف آخر حزمة بيانات موجهة إلى الكمبيوتر إلى البوابة الافتراضية، يطلب الموجه ARP للبحث عن عنوان MAC الذي يتوافق مع عنوان IP.
كل نظام لديه جدول ARP الخاص به. للتحقق من جدول ARP الخاص بك، قم بتشغيل الأمر:
$ ip neighbor show

كما يمكن ملاحظة أن عنوان MAC للموجه معبأ. إذا كان هناك مشكلة في الدقة، يعيد الأمر عدم وجود إخراج.
الطبقة 3: طبقة الشبكة / الإنترنت
هذه الطبقة هي الطبقة التي تعمل فيها حصرًا مع عناوين IPv4 التي يعرفها المسؤولون النظام. يوفر عدة بروتوكولات مثل ICMP و ARP التي تمتلكها وأخرى مثل RIP (بروتوكول معلومات التوجيه).
بعض المشاكل الشائعة تشمل سوء التكوين الجهازي أو مشاكل مع أجهزة الشبكة مثل الموجهات والمفاتيح. مكان جيد لبدء عمليات تصحيح الأخطاء هو التحقق مما إذا كان نظامك قد اختار عنوان IP على النحو التالي:
$ ifconfig

يمكنك استخدام أمر ping لفحص توصيل الإنترنت عن طريق إرسال حزمة ICMP صدى إلى DNS جوجل. تعني العلامة -c
عدد الحزم التي يتم إرسالها.
$ ping 8.8.8.8 -c 4

يظهر الرد الإيجابي من DNS جوجل بدون فقدان حزم. إذا كنت تواجه اتصالًا متقطعًا، يمكنك التحقق من النقطة التي يتم فيها إسقاط الحزم باستخدام أمر traceroute على النحو التالي.
$ traceroute google.com

تشير النجوم إلى النقطة التي يتم فيها إسقاط الحزم أو فقدانها.
يقوم أمر nslookup باستعلام DNS للحصول على عنوان IP المرتبط بنطاق أو اسم مضيف. يُشار إلى هذا بـ البحث الأمامي لـ DNS.
على سبيل المثال.
$ nslookup google.com
يكشف الأمر عن عناوين IP المرتبطة بنطاق google.com.
Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: google.com Address: 142.250.192.14 Name: google.com Address: 2404:6800:4009:828::200e
أمر dig هو أمر آخر يُستخدم للاستعلام عن خوادم DNS المرتبطة بـ اسم نطاق. على سبيل المثال، للاستعلام عن خوادم DNS، قم بتشغيل:
$ dig google.com
الطبقة 4: الطبقة النقلية
يتعامل طبقة النقل مع نقل البيانات باستخدام بروتوكولات TCP و UDP. للتذكير فقط، TCP هو بروتوكول موجه الاتصال في حين أن UDP هو بروتوكول بدون اتصال. تعمل التطبيقات الجارية على الاستماع على مقابس تتألف من منافذ وعناوين IP.
المشاكل الشائعة التي قد تحدث تتضمن منافذ TCP المحظورة التي قد يحتاجها التطبيقات. إذا كان لديك خادم ويب وترغب في التحقق من حالته التشغيلية، استخدم أمر netstat أو أمر ss للتحقق مما إذا كانت خدمة الويب تستمع على المنفذ 80
$ sudo netstat -pnltu | grep 80 OR $ ss -pnltu | grep 80

أحيانًا قد يكون المنفذ قيد الاستخدام من قبل خدمة جارية في النظام. إذا كنت ترغب في استخدام خدمة أخرى لهذا المنفذ، قد تضطر إلى تكوينها لاستخدام منفذ مختلف.
إذا كنت ما زلت تواجه مشاكل، تحقق من جدار الحماية وتحقق مما إذا كان المنفذ الذي تهتم به محظورًا.
معظم عمليات استكشاف الأخطاء وإصلاحها ستحدث عبر هذه الطبقات الأربع. يتم القيام بعمليات استكشاف الأخطاء وإصلاحها بنسبة ضئيلة جدًا في الطبقات الجلسة والعرض والتطبيق. يحدث ذلك لأنها تلعب دورًا أقل نشاطًا في عمل الشبكة. ومع ذلك، دعنا نلقي نظرة سريعة على ما يحدث في تلك الطبقات.
الطبقة 5: الطبقة الجلسة
تفتح الطبقة الجلسة قنوات الاتصال المشار إليها بجلسات وتضمن أن تظل مفتوحة أثناء نقل البيانات. كما تقوم بإغلاقها عندما يتم إنهاء التواصل.
الطبقة 6: طبقة العرض
المعروفة أيضًا باسم الطبقة الصنفية، تقوم طبقة العرض بتخليق البيانات التي ستستخدمها طبقة التطبيق. تحدد كيفية تشفير الأجهزة وتشفير البيانات وضغطها بغرض ضمان استلامها بشكل جيد في الطرف الآخر.
الطبقة 7: طبقة التطبيق
أخيرًا، لدينا طبقة التطبيق التي تعد الأقرب إلى المستخدمين النهائيين وتتيح لهم التفاعل مع برمجيات التطبيق. تحتوي طبقة التطبيق على العديد من البروتوكولات مثل HTTP، HTTPS، POP3، IMAP، DNS، RDP، SSH، SNMP و NTP لنذكر بعضها.
الاستنتاج
عند تحديد مشكلة في نظام Linux، يُوصَى بشدة باستخدام النهج المتعدد الطبقات باستخدام نموذج OSI، بدءًا من الطبقة السفلية. يمنحك ذلك نظرة عميقة في مكان الخطأ ويساعدك في التقليص للمشكلة.
Source:
https://www.tecmint.com/basic-network-troubleshooting-tips/