المقدمة
يعتمد مسؤولو لينكس ومهندسو الشبكات غالبًا على أدوات قوية لتشخيص وحل مشكلات الشبكة. واحدة من هذه الأدوات القيمة هي أمر MTR (My Traceroute). يجمع MTR بين وظائف traceroute وping، ويقدم تحليلاً في الوقت الفعلي لمسار الشبكة بين المصدر والوجهة. يتناول هذا المقال تفاصيل استخدام أمر MTR في لينكس، بما في ذلك التثبيت، البنية، الخيارات، والتطبيقات العملية.
ما هو MTR؟
MTR، وهو اختصار لـ My Traceroute، هو أداة لتشخيص الشبكة تجمع بين قدرات ping وtraceroute. يوفر معلومات مفصلة عن مسار الحزم من المصدر إلى الوجهة، بما في ذلك زمن الاستجابة وفقدان الحزم في كل خطوة. هذه الأداة في الوقت الفعلي ضرورية لتحديد اختناقات الشبكة وتشخيص مشكلات الاتصال.
تثبيت MTR على لينكس
لاستخدام أمر MTR، تحتاج إلى تثبيته على نظام لينكس الخاص بك. تختلف عملية التثبيت حسب توزيع لينكس الذي تستخدمه.
تثبيت MTR على أوبونتو/ديبيان
$ sudo apt-get update
$ sudo apt-get install mtr
تثبيت MTR على سنتوس/ريد هات
$ sudo yum install mtr
تثبيت MTR على فيدورا
$ sudo dnf install mtr
البنية الأساسية لأمر MTR
بنية أمر MTR الأساسية بسيطة:
$ mtr [options] <destination>
هنا، يمكن أن تكون <destination>
عنوان IP أو اسم مضيف. يقدم MTR العديد من الخيارات لتخصيص سلوكه، مما يجعله أداة متعددة الاستخدامات لتشخيص الشبكة.
فهم مخرجات MTR
عند تشغيل أمر MTR، سترى مخرجات مشابهة لهذا:
HOST: localhost Loss% Snt Last Avg Best Wrst StDev
1.|-- 10.0.0.1 0.0% 10 1.2 1.3 1.0 1.5 0.2
2.|-- 192.168.1.1 0.0% 10 15.6 16.1 15.5 17.0 0.6
3.|-- example.com 0.0% 10 35.6 36.5 35.0 38.0 1.0
- Loss%: نسبة فقدان الحزم في كل خطوة.
- Snt: عدد الحزم المرسلة إلى كل خطوة.
- Last: زمن استجابة آخر حزمة.
- Avg: متوسط زمن الاستجابة.
- Best: أفضل (أقل) زمن استجابة.
- Wrst: أسوأ (أعلى) زمن استجابة.
- StDev: الانحراف المعياري لزمن الاستجابة.
تشغيل MTR في وضع التقرير
يمكن تشغيل MTR في وضع التقرير لتوليد تقرير واحد بعد عدد محدد من الدورات. هذا مفيد للبرمجة التلقائية والمراقبة.
$ mtr --report <destination>
افتراضيًا، يشغل MTR 10 دورات في وضع التقرير. يمكنك تخصيص عدد الدورات باستخدام الخيار --report-cycles
.
$ mtr --report --report-cycles 5 <destination>
استخدام MTR بصيغ إخراج مختلفة
يدعم MTR صيغ إخراج مختلفة، بما في ذلك JSON وXML، لتحسين التكامل مع الأدوات والأنظمة الأخرى.
إخراج JSON
$ mtr --report --json <destination>
إخراج XML
$ mtr --report --xml <destination>
خيارات متقدمة لـ MTR
يقدم MTR العديد من الخيارات المتقدمة لضبط سلوكه ومخرجاته.
تحديد عدد الحزم
يمكنك تحديد عدد الحزم المرسلة إلى كل خطوة باستخدام الخيار -c
.
$ mtr -c 20 <destination>
استخدام IPv4 أو IPv6
افتراضيًا، يستخدم MTR البروتوكول المحدد بواسطة النظام. ومع ذلك، يمكنك إجبار MTR على استخدام IPv4 أو IPv6.
$ mtr -4 <destination> # استخدام IPv4
$ mtr -6 <destination> # استخدام IPv6
تغيير حجم الحزم
يمكنك تغيير حجم الحزم المرسلة إلى كل خطوة باستخدام الخيار -s
.
$ mtr -s 64 <destination>
تحديد عدد الخطوات
لتحديد عدد الخطوات التي سيتتبعها MTR، استخدم الخيار -m
.
$ mtr -m 15 <destination>
التطبيقات العملية لـ MTR
يجعل تنوع MTR مناسبًا لمختلف سيناريوهات تشخيص الشبكة.
تشخيص تأخر الشبكة
يمكن أن يؤثر التأخر العالي بشكل كبير على أداء الشبكة. باستخدام MTR، يمكنك تحديد الخطوة (الخطوات) التي تسبب التأخر واتخاذ الإجراءات المناسبة.
اكتشاف فقدان الحزم
يمكن أن يؤدي فقدان الحزم إلى ضعف أداء الشبكة واتصالات غير موثوقة. يساعد MTR في تحديد الموقع الدقيق لفقدان الحزم، مما يمكن من استكشاف الأخطاء وإصلاحها بشكل مستهدف.
التحقق من تغييرات تكوين الشبكة
بعد إجراء تغييرات على تكوين الشبكة، استخدم MTR للتحقق من أن التغييرات لم تؤدي إلى إدخال مشكلات جديدة. هذا يساعد في الحفاظ على موثوقية وأداء الشبكة.
مراقبة أداء الشبكة بمرور الوقت
من خلال تشغيل MTR في وضع التقرير وجدولته كوظيفة كرون، يمكنك مراقبة أداء الشبكة بمرور الوقت واكتشاف المشكلات المتقطعة.
استخدام MTR في برنامج نصي
يمكن دمج MTR في البرامج النصية للتشخيص التلقائي للشبكة والمراقبة.
#!/bin/bash
destination="example.com"
report_file="/var/log/mtr_report.log"
mtr --report --report-cycles 10 $destination > $report_file
أفضل الممارسات لاستخدام MTR
للاستفادة القصوى من MTR، اتبع هذه الممارسات الجيدة:
- قم بتشغيل MTR في أوقات مختلفة من اليوم لتحديد مشكلات الشبكة الزمنية.
- استخدم MTR جنبًا إلى جنب مع أدوات تشخيص الشبكة الأخرى لتحليل شامل.
- راقب المسارات الشبكية الحيوية بانتظام لضمان الأداء الأمثل.
- قم بتخصيص خيارات MTR بناءً على سيناريو الشبكة المحدد.
المشكلات الشائعة مع MTR وكيفية حلها
خطأ رفض الإذن
يتطلب MTR امتيازات الجذر لإرسال الحزم. استخدم sudo
لتشغيل MTR بامتيازات مرتفعة.
$ sudo mtr <destination>
لا يوجد طريق إلى المضيف
إذا واجهت خطأ “لا يوجد طريق إلى المضيف”، تأكد من أن الوجهة قابلة للوصول ولا توجد مشكلات في اتصال الشبكة.
فقدان الحزم العالي في الخطوة الأولى
عادةً ما يشير فقدان الحزم العالي في الخطوة الأولى إلى مشكلات في الشبكة المحلية أو الجهاز المحلي. تحقق من كابلات الشبكة والمفاتيح وبطاقة واجهة الشبكة.
الأسئلة الشائعة
ما هو استخدام أمر MTR؟ يستخدم MTR لتشخيص الشبكة، حيث يجمع بين وظائف ping وtraceroute لتقديم تحليل في الوقت الفعلي لمسار الشبكة بين المصدر والوجهة.
كيف أقوم بتثبيت MTR على أوبونتو؟ استخدم الأوامر التالية لتثبيت MTR على أوبونتو:
$ sudo apt-get update
$ sudo apt-get install mtr
هل يمكن استخدام MTR مع IPv6؟ نعم، يمكن إجبار MTR على استخدام IPv6 باستخدام الخيار -6
:
$ mtr -6 <destination>
كيف يمكنني توليد تقرير MTR؟ استخدم الخيار --report
لتوليد تقرير واحد:
$ mtr --report <destination>
ماذا يشير فقدان الحزم في MTR؟ يشير فقدان الحزم في MTR إلى أن بعض الحزم لا تصل إلى وجهتها. يمكن أن يكون ذلك بسبب ازدحام الشبكة أو أعطال في الأجهزة أو مشكلات في التكوين.
هل يتوفر MTR على نظام ويندوز؟ نعم، يتوفر MTR على نظام ويندوز من خلال WSL (النظام الفرعي لويندوز للينكس) أو باستخدام أدوات خارجية مثل WinMTR.
الخلاصة
أمر MTR هو أداة قوية لتشخيص الشبكة في لينكس، حيث يقدم رؤى مفصلة عن مسارات الشبكة، التأخير، وفقدان الحزم. من خلال فهم كيفية استخدام MTR بفعالية، يمكنك تشخيص مشكلات الشبكة وحلها بكفاءة أكبر. سواء كنت مهندس شبكات أو مسؤول نظام، فإن إتقان MTR سيعزز بشكل كبير قدرتك على الحفاظ على شبكة موثوقة وعالية الأداء.