تدوينة اليوم أخصصها لكي أجيب على أحد الطلبات التى وصلتني على الأيميل بخصوص JUNos وتحديدا الترتيب الشجري للأوامر المستخدمة وكيفية التحرك والتنقل بينها بالأضافة إلى كيفية تنفيذ الاوامر والتعديل على الأعدادات الموجودة
فعندما ينتقل أي طالب دارس لمنتجات سيسكو إلى دراسة منتجات جونيبر أول مايقابله هو نظام التشغيل الفريد من نوعه والذي يختلف تماما عن سيسكو فنحن هناك تعودنا أن نكتب الأمر مباشرة وبعدها نقوم بكتابة exit وينتهي الامر لكن مع جونوس الأمر مختلفا قليلا فكما تحدثنا من قبل أن جونوس مبيني على نظام تشغيل يونكس UNIX لذا الولوج إلى الروتر أو السويتش لن يكون مباشرة مع سطر الأوامر الخاص بالأعدادات بل إلى الـ Shell الخاص بيونكس لذا يتوجب عليك كتابة الأمر cli للتعامل مع الجهاز المقصود مباشرة وهذه صورة للتوضيح
بعد أن ندخل على موجه الاوامر نصل إلى الـ Operational Mode وهي الوضعية التى تسمح لنا عادة بالمراقبة ومشاهدة الاعدادت والـ Troubleshoot والتى تناظرها في سيسكو الـ Privileged Mode وقبل أن نتحدث عن الأوامر وأنواعها لنتحدث عن أمر مهم فكما هو معروف عند الأشخاص الذي يتعاملون مع أجهزة يونكس وعائلته أن ترتيب الملفات هناك يكون على شكل شجري والتى عادة مايكون “/” هو قمة الشجرة وبعدها تأتي باقي الملفات والمجلدات وفي جونيبر الأمر ذاته فلو في حال أردت أن تكتب أمر ما فأنت الآن في أعلى قمة لكن في الـ Operational Mode وللأيضاح سوف أستعين بمثال صغير مصور
طبعا قد يخطر على بالك أن الأمر مشابه لنظام التشغيل في سيسكو فأنا أقوم بكتابة الأمر Show وأجد بعده نفس الترتيب المتبع وسوف أقول لك أصبر حتى نصل إلى الوضعية الثانية وعندها سوف يتضح الموضوع لك بشكل أفضل وقد أحببت أن أوضح لك الأمر من البداية قد تدرك أن الأمر هو نفسه هنا وهناك لذا لندخل إلى الوضعية الثانية وهي وضعية الـ Configuration Mode من خلال كتابة الأمر configure
Juniper's JUNOS
root> configure
Entering configuration mode
[edit]
root#
والذي يسمح لنا بالتعديل وتغيير وأضافة بعض الأعدادات لكن ليس بالصورة التى تتصورها ولكي أقرب لك الفكرة بشكل أكبر سوف أعرض عليك نتيجة كتابة أشارة الأستفهام
Juniper's JUNOS
root# ?
Possible completions:
<[Enter]> Execute this command
activate Remove the inactive tag from a statement
annotate Annotate the statement with a comment
commit Commit current set of changes
copy Copy a statement
deactivate Add the inactive tag to a statement
delete Delete a data element
edit Edit a sub-element
exit Exit from this level
extension Extension operation
help Provide help information
insert Insert a new ordered data element
load Load configuration from ASCII file
quit Quit from this level
rename Rename a statement
replace Replace character string in configuration
rollback Roll back to previous committed configuration
run Run an operational-mode command
save Save configuration to ASCII file
set Set a parameter
show Show a parameter
status Show users currently editing configuration
top Exit to top level of configuration
up Exit one level of configuration
[edit]
أول ماسيلفت تظرك أن الأوامر هي أوامر تنفيذة فقط ولايوجد أي أمر يساعدني لكي أقرر ما أفعل وهذا يعود إلى طريقة التعامل مع جونوس وحقيقتا أن أحب دائما تشبيه فكرة التعامل مع جونوس مثل التعامل مع لغة برمجة فانت ترى كل شيء يتم من خلال أكواد تقوم أنت بكتابتها ويقوم هو بتنفيذها ولو نظرنا إلى أمر عرض الأعدادت لوجدنه مثل هذا الشكل
فلو في حال أردت أن تضيف شيء يجب عليك أولا ان تتجه إلى المكان المخصص لهذا الكود وتقوم بكتابته هناك وهذا مانفعله عندما نريد تنفيذ معين فأنا أملك طريقان
الطريق الأول أن أتوجه إلى ذلك المكان وأقوم بكتابة الشيء الذي أريده ويتم التوجه من خلال أستخدام الأمر edit والذي ينقلني من مستوى لآخر فأنا عندما ادخل إلى الـ configaurtion Mode أكون في الـ Top level وعندما أستخدم الأمر edit أتحرك إلى مستوى أقل وهذا مثال يوضح كيف أنتقل من مرحلة إلى مرحلة من خلال الأمر edit
طيب لو أردت الصعود مرة آخرى ؟ الموضوع بسيط أما أن تستخدم الأمر up وهو سوف ينقلك خطوة خطوة للأعلى أو أستخدم الأمر top والذي سوف يأخذك إلى أعلى القمة
الطريق الثاني ان أقوم بتنفيذ الأمر من المكان الذي أنا موجود عليه وطبعا مع مراعاة الـ Level الذي أنا فيها بحيث أنني لن أقوم بتنفيذ شيء معين على أحد المنافذ وأنا موجود على Level الخاص بالبروتوكولات لنوضح الصورة بالمثال التالي
Juniper's JUNOS
root# set interfaces em0 unit 0 family inet address 192.168.10.1/24
لاحظ معي أني أستخدمت الأمر Set لكي أغير شيء في صفحة الكود التى أتفقنا عليها وكتبت بعدها ترتيبها الشجري وهو interface حددت ماهو المنفذ وأخترت بعدها نوع الأيبي IPv4 وبعدها كتبت الأيبي ولو حاولت أن أقوم بتطبيق الطريق الأول لأعطاء المنفذ أيبي سوف أقوم بأستبدال الكلمة الاولى بي Edit ولن أضع الأيبي
Juniper's JUNOS
root# edit interfaces em0 unit 0 family inet address
[edit interfaces em0 unit 0 family inet]
root# set address 192.168.10.1/24
root#
أعتقد أن الصورة بدأت تتضح لأقم الآن يكتابة الأمر Show وأنا موجود على هذا المستوى وأشاهد ماذا يجب ان يظهر لي
Juniper's JUNOS
root# show
address 192.168.10.1/24;
[edit interfaces em0 unit 0 family inet]
root#
لأتوجه الآن إلى أعلى الهرم وأقوم بكتابة الأمر Show
وبنفس هذا الأسلوب وهذه الطريقة أقوم بأعداد الروتر وذلك من خلال اضافة أكواد إلى صفحة الأعدادات لكن إذا طلبت منك أن تحذف شيء من هذه الصفحة ماذا تفعل ؟ الأمر بسيط نقوم بكتاب الأمر delete
Juniper's JUNOS
root# delete interfaces em0 unit 0 family inet address 192.168.10.1
أو أستتطيع الأكتفاء بأمر delete interface em0 طيب لنفرض أنني أريد تغيير الأيبي الموجود فماذا يجب علي أن أفعل ؟ سوف تقول لي توجه إلى ذلك المكان وقم بحذف الرقم وبعدها قم بكتابة رقم جديد من خلال أمر set ؟ لكن مارائيك بأمر جميل جدا وهو replace أو أستبدال سوف أكتب فيه ضع هذا الرقم 192.168.10.2 مكان هذا الرقم 192.168.10.1ويتنهي الأمر
Juniper's JUNOS
root# replace with 192.168.10.2 pattern 192.168.10.1
أعتقد أنك قد بدأت تحب جونيبر وتحب نظام التشغيل الخاص بها لنشاهد هذا المثال أيضا
Juniper's JUNOS
root# rename interfaces em0 to ge-0/0/0
ببساطة قمت بتغيير المسمى الخاص المتبع في عملية المحاكاة من em0 إلى ge-0/0/0 طيب شوف معي آخر مثال
Juniper's JUNOS
root# copy interfaces em0 to em1
يعني أنسخلي الأعدادات الموجودة في em0 إلى em1 وطبعا كل هذه الامور يستطيع ان يقدرها من يتعامل بشكل دائم مع الروترات والتى تعطيك سرعة كبيرة في تنفيذ كل المتطلبات وبمرونة رائعة لنعرض لكم الأمر الآخير وهو أظهار كل الأعدادات التى قمت بها على صفحة الأكواد وذلك من خلال أمر الـ show
وآخيرا ملاحظة هامة كل ماكتبناه لم يفعل ولم يدخل حيز التنفيذ لا لم نكتب أمر commit والذي يستخدم لتأكيد الأوامر وتوثيقها أتمنى ان تكون التدوينة قد أفادتكم وجاوبت على أسئلة الأخ إسلام لذا لاتنسونا من دعواتكم ودمتم بود