icnd1/ccent 100-101 ضبط موجهات سيسكو (Cisco Router) عند بناء الشبكات


عبد اللطيف ايمش

سيُقدِّم هذا الدرس كيفية استخدام أنماط الضبط والتفاعل معها لمساعدتنا في إكمال الضبط الأساسي لموجِّهات سيسكو من واجهة سطر الأوامر. وسنشاهد أمثلة أساسية لضبط مكونات البطاقات بما في ذلك عناوين IP، ولمحةٌ عن أوامر عرض الضبط للتحقق من الإعداد السليم للموجِّه.

config-cisco-router.thumb.png.649134f6b3

لمحة عن أنماط الموجه

أول خطوة في ضبط الموجِّه هي التواجد في نمط المستخدم ذي الامتيازات، تذكر أنَّ نمط EXEC له نمطان فرعيان: نمط المستخدم العادي (دون امتيازات) ونمط المستخدم ذو الامتيازات؛ تستطيع الانتقال من نمط المستخدم العادي (الذي يسمح لك باستعمال أوامر المراقبة والصيانة فقط) إلى نمط المستخدم ذي الامتيازات باستخدام الأمر enable. بعد أن تدخل إلى نمط الضبط العام (global) بمستخدمٍ ذي امتيازات، فيمكنك الذهاب إلى نمط ضبطٍ فرعي بكتابة -على سبيل المثال- configure terminal وستتاح لك مجموعة أوامر أخرى.

عندما تكون في نمط الضبط العام، فإن أيّ شيءٍ تضبطه في ذاك النمط سيؤثِّر على الموجِّه ككل؛ على سبيل المثال، اسم المضيف للموجِّه وكلمات المرور واللافتات (banners)، إذا أردت أن تضبط مكوِّنات محدَّدة، فعليك الذهاب إلى نمط ضبط تلك المكونات من نمط الضبط العام.

Router con0 is now available
Press RETURN to get started.
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#hostname Branch
Branch(config)#^Z
Branch#
*Feb 4 20:09:54.192: %SYS-5-CONFIG_I: Configured from console by console
Branch#

يتطلب الدخول إلى نمط ضبط البطاقات أمرًا يُنفَّذ في نمط الضبط العام ثم سيتحول المِحَث مشيرًا إلى أنَّك في نمط ضبط مختلف. وهذا مماثل للبطاقات الفرعية، والمتحكمات (controllers)، وخطوط الوصول (access lines)، وبروتوكولات التوجيه. إذا أردت التنقل بين الأنماط، فالأمر exit يحوِّلك إلى النمط السابق، و Ctrl+Z يُعيدك إلى نمط EXEC ذي الامتيازات دون أخذ بعين الاعتبار موقعك الحالي في أنماط الضبط. إذا أردت أن تنتقل بين أنماطٍ فرعيّةٍ للضبط، فيمكنك فعل ذلك دون الحاجة إلى العودة إلى نمط الضبط العام.

حفظ الضبط

عملية الضبط هي عمليةٌ تراكمية تتم على فترةٍ من الزمن؛ وربما يبدأ بعض مدراء الشبكة هذه العملية بنسخ النصوص من ملفات الضبط ولصقها في واجهة سطر الأوامر؛ وبعد ذلك سيضبطون تدريجيًا مختلف وظائف ومكونات الموجِّه. ولكل سطر نكتبه أو ننسخه إلى واجهة سطر الأوامر ثم نضغط Enter، فسيصبح فعالًا ومتاحًا في الضبط التشغيلي (running configuration)، وإذا أعدنا إقلاع الموجِّه في هذه المرحلة، فسنفقد كل الضبط الذي ضبطناه إن لم نحفظه إلى إلى ذاكرة NVRAM، وعندها يُسمى الضبطُ ضبطًا إقلاعيًا (startup configuration). الأمر الآتي سيحفظ الضبط التشغيلي إلى ذاكرة NVRAM، ومن المستحسن استعماله بين الحين والآخر خصوصًا في عمليات الضبط الطويلة.

Branch#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
Branch#

أو:

Branch#write memory
Building configuration...
[OK]

ضبط معرف للموجه

التوثيق الدقيقة والفعال عبر استعمال لافتة أو اسم الموجِّه هو أمرٌ مستحسن، وضبط الموجِّه ليس استثناءً وهنا سنرى بعض الأوامر التي تسمح لك بتوثيق الإعدادات وتوفير مساعداتٍ بصرية للتعرف على مكوِّنات محددة؛ على سبيل المثال، يمكن أن يُستعمَل اسم مضيف الموجِّه في مِحَث سطر الأوامر.

أول كلمة تراها في واجهة سطر الأوامر هي اسم المضيف. ويمكن أن تُساعد اللافتات (banners) -عند تسجيل دخول المستخدمين الذين يحاولون الاتصال بالموجِّه عبر أيّة وسيلةٍ من وسائل الاتصال- على إيصال رسالة تحتوي على السياسات المُتبَعَة وأوقات الدخول ومعلومات الدعم. وعندما تُعدِّل في ضبط الموجِّه، يكون من المهم توفير وصف لمختلف المكونات. فمثلًا لو استعملت الأمر description في نمط ضبط البطاقات، فسيسمح لك الوصف بالتعرف بسهولة على البطاقة عندما تستعمل أمر show عليها.

الأوامر المتعلقة بالطرفيات

موضوع آخر مهم لتضبطه في الموجهات هو الحماية والتحكم في الوصول، الأمر الذي سنشرحه في هذه الفقرة سيقلل من إمكانية حدوث اختراقاتٍ أمنيةً نتيجةً لعدم وجود حماية فيزيائية للمعدات، فلو سجل أحدهم دخوله عبر طرفية، ثم غادر فجأةً، فربما يأتي أحدهم ويستعمل تلك الجلسة لأغراضه الخاصة، فيمكنه رؤية الضبط، وكلمات المرور، وحتى أنَّه يستطيع تغييرهم. الأمر exec-timeout يسمح لك بضبط مهلة لصدفات (shells) واجهة سطر الأوامر؛ وفي هذا المثال، ستنتهي المهلة للمستخدمين الذي سجلوا دخولهم بعد 20 دقيقة و30 ثانية.

Branch(config)#
Branch(config)#line vty 0 4
Branch(config-line)#exec-timeout ?
<0-35791> Timeout in minutes
Branch(config-line)#exec-timeout 20 ?
<0-2147483> Timeout in seconds
<cr>
Branch(config-line)#exec-timeout 20 30 ?
<cr>
Branch(config-line)#exec-timeout 20 30

أحيانًا عندما تحاول استكشاف الأخطاء في الموجِّهات، قد تُفعِّل عددًا كبيرًا من الرسائل لتظهر في الطرفية، كي ترى ما الذي يحصل؛ لكن هذا يمنعك من كتابة الأوامر لتصحيح المشكلة، لذلك يسمح لنا الأمر logging synchronous بإعادة عرض المُدخلات التي تمت مقاطعتها بعد إظهار الرسالة. أي بكلامٍ آخر، كنت أكتب، فعُرِضَت رسالة، ثم سيعاد عرض الأمر الذي كنت أكتبه على الشاشة، كي أكمل الكتابة وأصلح الخلل.

Branch(config-line)#logging synchronous
Branch(config-line)#end
Branch#wr
Building configuration...
[OK]
Branch#

ضبط البطاقات

البطاقات هي الأبواب لبقية الشبكات، وأحد الأشياء التي تجعل من الموجِّه «موجِّهًا» الذي هو الجهاز القادر على وصل عدِّة قطع شبكيّة، لذا يكون من المهم جدًا ضبطها ضبطًا صحيحًا. يمكنك ضبط البطاقات عبر الانتقال إلى نمط ضبط البطاقات، وذلك عبر كتابة الأمر interface ثم تكتب بعده مُعرِّف البطاقة.

يتعلق مُعرِّف البطاقة عادةً بنوع الموجِّه الذي نملكه، فهنالك موجِّهات ذات ضبطٍ ثابت فيها Ethernet 0 أو Serial 0 على سبيل المثال؛ أما في الموجِّهات المركبة من الوحدات (modular)، فإن مُعرِّف البطاقة يعتمد على مكان البطاقة من ناحية الفتحات الموجودة في هيكل الموجِّه؛ وفي هذه الحالة عليك تعريف البطاقة برقم الذي هو الفتحة متبوعةً بشرطة مائلة / ثم المنفذ؛ فمثلًا لو كانت البطاقة التي أرغب في الوصول إليها موجودةً في الفتحة 1 ورقم المنفذ هو 3، فسيكون مُعرِّف البطاقة هو 1/3.

ضبط وصف للبطاقات

من المهم جدًا القدرة على التعرف السريع على مختلف مكونات الضبط. قد لا تكون أسماء وأرقام البطاقات مناسبةً جدًا لتذكر وظيفتها، فمن الأفضل تسمية البطاقة أنها «البطاقة 2 الفرع 1» بدلًا من تسميتها 00.

لذلك من المستحسن كتابة وصف جيد للبطاقات، لأنه يُحسِّن من التوثيق، ويساعد في استكشاف الأخطاء. الأمر الذي يُستعمَل لإضافة وصف للبطاقات هو الأمر description، المتوفر في نمط ضبط البطاقات.

تعطيل أو تفعيل بطاقة

هنالك عدِّة حالات للبطاقات، التي ترتبط بالطبقتين 1 و 2 عند عرض ناتج الأوامر؛ على سبيل المثال، إذا نفذنا الأمر show ip interface brief، فإن الناتج سيُظهِر حالة البطاقة في الطبقتين 1 و 2. قد تكون حالة البطاقة هي down (أي مُعطَّلة)، وقد يحدث هذا بسبب عدم وجود خدمة أو إشارة في تلك البطاقة، أو بسبب عدم الضبط بشكلٍ صحيح.

وفي مرحلةٍ ما أثناء استكشاف الأخطاء أو عند إجراء بعض المهام الإدارية؛ قد يُعطِّل مدراء الشبكة البطاقة إداريًا، الأمر shutdown يُعطِّل البطاقة، بينما نسخة no من الأمر ستُفعِّلها. يمكن استعمال الكلمة no قبل العديد من الأوامر، مما يسمح لك بعكس تأثير الأمر المُحدَّد.

ضبط عنوان IP

عناوين IP هي اللبنة الأساسية للتواصل عبر بروتوكول IP؛ وستتطلب أيّة بطاقة مُفعَّلة عنوان IP. عملية ضبط عنوان IP تتضمن إسناد العنوان نفسه بالإضافة إلى ضبط القناع. يخبر القناعُ الموجِّهَ كيف يقرأ ويفهم عنوان IP من ناحية تقسيمه إلى قسم الشبكة وقسم المضيفين. وإذا اتبعت تعلميات التصميم التي ذكرناها في درسٍ سابق، فسيكون عندك توافق أو تناغم في آلية حجز وإسناد عناوين IP إلى مختلف القطِع الشبكيّة والمضيفين على شبكتك.

نُذكِّر مرةً أخرى أنَّ كل البطاقات في الموجهات التي تنقل البيانات الشبكيّة تحتاج إلى عنوان IP؛ وهذا يساعد الموجِّه في تعريف مخطط الشبكات المتصلة مباشرةً إليه، وسيستطيع أن يُخبِرَ عن تلك الشبكات إلى أجهزةٍ أخرى عبر بروتوكولات التوجيه. وتخدم عناوين IP للموجِّه أيضًا كالبوابة الافتراضية التي يجب ضبطها على بقية الأجهزة والمضيفين.

Branch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Branch(config)#interface fa0/0
Branch(config-if)#ip address 192.168.10.1 255.255.255.0
Branch(config-if)#description ### LAN ###
Branch(config-if)#no shutdown
Branch(config-if)#
*Feb 4 20:21:05.434: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Feb 4 20:21:06.435: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Branch(config-if)#
Branch(config-if)#exi
Branch(config)#int fa0/1
Branch(config-if)#ip address 10.1.5.2 255.255.255.252
Branch(config-if)#description ### Internet ###
Branch(config-if)#no shu
*Feb 4 20:22:32.896: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Feb 4 20:22:33.899: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Branch(config-if)#end
Branch#
Branch#wr
Building configuration...
[OK]
Branch#

الأمر show interface في الموجهات

تتوفَّر عدِّة أوامر للتحقق من الضبط، ربما يكون الأمر show interface أحد الأوامر التي تَعرِض أغلبية المعلومات عن البطاقات في ناتج خرجها. النسخة الأساسية من ذاك الأمر تعرض عناوين MAC و IP وبعض الإحصائيات القيّمة بخصوص عدد الرزم التي أُرسِلَت أو استُلِمَت وتَعرِض أيضًا معدلات الخرج (output rates) وعدّادات (counters) للطبقتين الأولى والثانية. أسدِ لنفسك معروفًا وحاول حفظ هذين الأمرين المهمين والمفيدين:

Branch#show ip interface brief
Interface        IP-Address    OK? Method Status Protocol
FastEthernet0/0  192.168.10.1  YES manual up     up
FastEthernet0/1  10.1.5.2      YES manual up     up
Branch#show interfaces description
Interface Status Protocol Description
Fa0/0     up     up       ### LAN ###
Fa0/1     up     up       ### Internet ###
...
Branch#

تفسير حالة البطاقات

أول سطر من ناتج مخرجات أمر show interface هو حالة (status) البطاقة، وهو مُقسَّم إلى حالتين، إذ تتعلق كل واحدة بطبقة. فأول حالة هي حالة الطبقة الأولى، والحالة الثانية هي حالة الطبقة الثانية:

Router#sh int fa 0
FastEthernet0 is up, line protocol is up
  Hardware is PQ3_TSEC, address is 0021.a09d.1b6c (bia 0021.a09d.1b6c)
  Description: ### PROVIDER ###
  Internet address is 192.168.0.65/24
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
    reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 100Mb/s, 100BaseTX/FX
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 39
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 2000 bits/sec, 1 packets/sec
  5 minute output rate 1000 bits/sec, 1 packets/sec
    491094 packets input, 487489009 bytes
    Received 245 broadcasts, 0 runts, 0 giants, 0 throttles
    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
    0 watchdog
    0 input packets with dribble condition detected
    386363 packets output, 74996232 bytes, 0 underruns
    0 output errors, 0 collisions, 0 interface resets
    0 unknown protocol drops
    0 babbles, 0 late collision, 0 deferred
    0 lost carrier, 0 no carrier
    0 output buffer failures, 0 output buffers swapped out

إذا كان يعمل كلا المكونَين، فالبطاقة تعمل؛ أما إذا كانت تعمل الطبقة الفيزيائية، لكن طبقة نقل البيانات لا تعمل، فهذا يعني وجود مشكلة متعلقة (ولنقل) بإيثرنت؛ وفي حالة البطاقات التسلسلية (serial interfaces)، فربما لا يكون هنالك رسائل keepalive متبادلة، أو قد يكون هنالك اختلافٌ بأنواع التغليف (encapsulation). أما لو كانت كلا الطبقتين لا تعملان، فربما يدل ذلك على أنَّ الكابل غير موصول إلى المنفذ؛ وأخيرًا، لو أغلقت المنفذ إداريًا، فسيُكتَب «administratively down».

جولة في سطر الأوامر

لنراجع بعض أدوات التنقل وبعض الأوامر المفيدة؛ سنبدأ بنمط المستخدم ذي الامتيازات، ثم سنذهب إلى نمط الضبط العام بتنفيذ الأمر conf t، ثم سننتقل من هناك إلى أنماط ضبط أخرى مثل نمط ضبط البطاقات كي نضبط بطاقة معيّنة؛ ولا نستطيع من هنالك أن نستعمل أوامر show لأنها تتعلق بنمط EXEC ونحن الآن في نمط ضبط البطاقات؛ لذا لو نفذنا الأمر sh ip int brie (كما هو ظاهر في المثال الآتي)، فستظهر رسالة خطأ ولن يُنفَّذ الأمر؛ أما لو وضعنا الكلمة do قبل الأمر، فستنفَّذ الأوامر وكأنها في نمط EXEC، وبهذا سيظهر ناتج الأمر sh ip int brie بينما ما نزال في نمط ضبط البطاقات. إذا أردنا أن ننتقل بين الأنماط، فيمكننا استعمال الأمر exit للانتقال إلى الخلف خطوةً واحدةً فقط؛ أما لو عدنا إلى نمط ضبط البطاقات وأردنا الذهاب إلى نمط EXEC مباشرةً، فسنضغط على Ctrl+Z. شيءٌ آخر مفيدٌ لنتعلمه هو كيفية إيقاف تنفيذ الأوامر؛ فعلى سبيل المثال، لو كتبنا أمرًا غير ذي معنى (الكلمة unknown في المثال الآتي) فسيحاول الموجِّه البحث عن تلك الكلمة عبر خدمة DNS ويحاول استبيان الاسم وتحويله إلى عنوان IP ثم سيحاول الاتصال عبر telnet إليه، وهذا يأخذ وقتًا. لذا سأضغط على Ctrl+Shift+6 الذي يوقف عمل الأوامر مثل استبيان الأسماء، والأمريَن ping و trace؛ وستفيدك تجميعة المفاتيح تلك إن لم تكن ترغب بإضاعة وقتك في انتظار تنفيذ أوامر ليس لها معنى.

Router#
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int fa 0
Router(config-if)#
Router(config-if)#sh ip int brie
                      ^
% Invalid input detected at '^' marker.

Router(config-if)#do sh ip int brie
Interface     IP-Address     OK? Method Status                Protocol
BRI0          unassigned     YES NVRAM  administratively down down
BRI0:1        unassigned     YES unset  administratively down down
BRI0:2        unassigned     YES unset  administratively down down
FastEthernet0 192.168.0.65   YES NVRAM  up                    up
FastEthernet1 unassigned     YES NVRAM  administratively down down
FastEthernet2 unassigned     YES unset  down                  down
FastEthernet3 unassigned     YES unset  down                  down
FastEthernet4 unassigned     YES unset  up                    down
FastEthernet5 unassigned     YES unset  up                    down
FastEthernet6 unassigned     YES unset  up                    up
FastEthernet7 unassigned     YES unset  up                    up
FastEthernet8 unassigned     YES unset  up                    up
FastEthernet9 unassigned     YES unset  down                  down
NVI0          192.168.0.65   YES unset  up                    up
Tunnel1       10.10.1.65     YES NVRAM  up                    up
Tunnel2       10.10.2.65     YES NVRAM  up                    up
Vlan1         192.168.65.192 YES NVRAM  up                    up
Router(config-if)#
Router(config-if)#exi
Router(config)#
Router(config)#
Router(config)#int fa 0
Router(config-if)#
Router(config-if)#^Z
Router#
Router#unknown
Translating "unknown"

Translating "unknown"

% Bad IP address or host name
% Unknown command or computer name, or unable to find computer address
Router#

ترجمة -وبتصرّف- للمقال Configuring a Cisco Router.





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن