تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يصف هذا المستند الخطوات المستخدمة لتكوين خوادم DNS داخل BASH للسماح بتحليل أسماء مضيفات DNS إلى عناوين IP.
تتيح أجهزة Cisco Nexus 3000 و 9000 إمكانية الوصول إلى نظام التشغيل الأساسي لنظام التشغيل NX من خلال BaseH (Bourne-Again SHell). ويتيح باس إدارة النظام ومراقبته من خلال بيئة لينوكس. لمزيد من المعلومات حول BASH على NX-OS، ارجع إلى الفصل الأساسي من دليل قابلية البرمجة ل Cisco Nexus 9000 Series NX-OS.
قد يكون من الضروري ترجمة أسماء المجالات الصديقة للبيئة إلى عناوين IP رقمية أثناء أداء المهام العادية في طبقة BaseH. وتتضمن هذه المهام إستخدام أدوات المساعدة curl
أو wget
للوصول إلى الموارد من خادم ويب أو لتنزيل صور Docker باستخدام الأمر docker pull
.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
ملاحظة: يجب تمكين BaseShell على جهاز Cisco Nexus لديك. ارجع إلى قسم "الوصول إلى BASH" من الفصل BaseH في دليل قابلية البرمجة من السلسلة Cisco Nexus 9000 Series NX-OS للحصول على تعليمات لتمكين BaseShell.
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
تقوم بيئة Linux التي يتم الوصول إليها من خلال BaseShell باستخدام ملف /etc/resolv.conf لتخزين تكوين DNS، كما هو الحال مع معظم أنظمة التشغيل الأخرى الشبيهة بنظام Unix.
1. سجل الدخول إلى طبقة Bash كمستخدم جذر من خلال الأمر run bash sudo su
.
Nexus# run bash sudo su - root@Nexus#whoami root
2. عرض المحتويات الحالية لملف /etc/resolv.conf. في هذا المثال، الملف فارغ.
root@Nexus#cat /etc/resolv.conf root@Nexus#
3. افتح ملف /etc/resolv.conf للتحرير باستخدام محرر النص السادس
.
root@Nexus#vi /etc/resolv.conf
4. اضغط على المفتاح i
لإدخال وضع INSERT، ثم أدخل التكوين المطلوب. راجع قسم /etc/resolv.confتنسيق الملف في هذا المستند للحصول على مزيد من المعلومات حول كيفية تنسيق التكوين داخل الملف /etc/resolv.conf.
5. بعد تعديل الملف، اضغط على مفتاح ESC
للخروج من وضع INSERT، ثم أدخل :x
لحفظ جميع التغييرات على الملف وإغلاقه.
بمجرد إجراء التغييرات على تكوين DNS الخاص ب BaseShell، تحقق من أن التغييرات ينتج عنها حل اسم المجال بنجاح. وأبسط طريقة لاختبار دقة اسم المجال هي من خلال إستخدام الأداة المساعدة ping
باستخدام اسم مضيف المجال كهدف. يوضح هذا المستند كيفية التحقق من تكوين DNS الصحيح باستخدام مضيف إختبار test.cisco.com وخوادم DNS من 192.168.2.1 و 192.168.2.2.
بشكل افتراضي، تستخدم طبقة BaseH مساحة اسم الشبكة الافتراضية ما لم يتم تعليمها بطريقة أخرى. مساحات أسماء الشبكة مكافئة منطقيا لملفات VRF الخاصة بنظام التشغيل NX، وشبكات IP
يعرض الأمر قائمة بمساحات الأسماء المتوفرة لقشرة BaseH، كما هو موضح أدناه:
root@Nexus#ip netns EXAMPLE-VRF (id: 2) management (id: 1) default (id: 0)
مساحة اسم شبكة صالحة للاختبار بها هي مساحة اسم تحتوي على اتصال IP بخوادم أسماء DNS التي تم تكوينها في الملف /etc/resolv.conf، بالإضافة إلى اتصال IP بعنوان IP الذي يقوم مضيف الاختبار بالحل إليه.
يمكن للمرء إستخدام الأمر ip net exec {namespace} {desired-command}
لتنفيذ أمر {desired-command}
في مساحة الاسم {namespace}
. بدلا من ذلك، يمكن تنفيذ طبقة Bash داخل سياق مساحة اسم معينة باستخدام الأمر ip netns exec {namespace} bash
. يتم إستخدام المنهجية السابقة في المثال هنا، تم التحقق من أن مساحة اسم الإدارة لها اتصال IP بعنوان IP الذي يملكه المضيف test.cisco.com (وهو 192.168.2.100) وكل من خوادم DNS (192.168.2.1 و 192.168.2.2).
root@Nexus#ip netns exec management ping 192.168.2.100 -c 5 PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data. 64 bytes from 192.168.2.100: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.100: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.100: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.100: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.100: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.100 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms root@Nexus#ip netns exec management ping 192.168.2.1 -c 5 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 64 bytes from 192.168.2.1: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.1: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.1: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.1: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.1: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms root@Nexus#ip netns exec management ping 192.168.2.2 -c 5 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data. 64 bytes from 192.168.2.2: icmp_seq=1 ttl=59 time=0.277 ms 64 bytes from 192.168.2.2: icmp_seq=2 ttl=59 time=0.284 ms 64 bytes from 192.168.2.2: icmp_seq=3 ttl=59 time=0.280 ms 64 bytes from 192.168.2.2: icmp_seq=4 ttl=59 time=0.274 ms 64 bytes from 192.168.2.2: icmp_seq=5 ttl=59 time=0.297 ms --- 192.168.2.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4001ms rtt min/avg/max/mdev = 0.274/0.282/0.297/0.017 ms
أستخدم الأداة المساعدة ping
مع هدف لاسم مضيف الاختبار. إذا تم تلقي ردود ICMP من مضيف الاختبار، وكان عنوان IP الموجود ضمن ردود ICMP هو عنوان IP الذي نتوقع أن يتم حل اسم المضيف إليه، ثم يتم تأكيد حل DNS على أنه يعمل ضمن طبقة BaseH.
يوضح هذا المثال هنا كيفية إستخدام الأداة المساعدة ping
داخل مساحة اسم الإدارة للتحقق من دقة DNS الصحيحة. لاحظ كيفية حل اسم مضيف المجال ل test.cisco.com إلى 192.168.2.100، وهو عنوان IP الذي نتوقع أن يتم حل اسم المضيف إليه.
root@Nexus#ip netns exec management ping test.cisco.com -c 5 PING test.cisco.com (192.168.2.100) 56(84) bytes of data. 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=1 ttl=59 time=0.617 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=2 ttl=59 time=0.341 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=3 ttl=59 time=0.310 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=4 ttl=59 time=0.379 ms 64 bytes from test.cisco.com (192.168.2.100): icmp_seq=5 ttl=59 time=0.296 ms --- test.cisco.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 0.296/0.388/0.617/0.119 ms
إذا كانت مساحة الاسم المستخدمة لاختبار تحليل DNS لها اتصال IP بالإنترنت، يمكن إختبار اتصال cisco.com للتحقق من إمكانية حل أسماء المجالات الخارجية بالإضافة إلى أسماء المجالات الداخلية. وهذا مهم بشكل خاص إذا كان المرء يحتاج إلى إستخدام أدوات مفيدة مثل Curl
وGet
مقابل خوادم الويب العامة. يوضح المثال هنا كيف يمكن إستخدام أداة ping
المساعدة داخل مساحة اسم الإدارة (التي تحتوي على اتصال IP بالإنترنت) للتحقق من دقة DNS الخارجية الصحيحة.
root@Nexus#ip netns exec management ping cisco.com -c 5 PING cisco.com (72.163.4.161) 56(84) bytes of data. 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=1 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=2 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=3 ttl=239 time=29.3 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=4 ttl=239 time=29.2 ms 64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=5 ttl=239 time=29.2 ms --- cisco.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 29.261/29.283/29.335/0.111 ms
يتم شرح بعض معلمات التكوين الشائعة هنا. تأكد من تعديل جميع معلمات التكوين لتطابق بيئتك.
{domain-name.tld}
لإلحاق أسماء المضيف التي لا تنتهي بنقطة. يمكن أن يكون هناك إدخال مجال
واحد فقط ضمن الملف /etc/resolv.conf.{domain-name-1.tld}
واختياريا، [domain-name-2.tld]
) للإلحاق بأسماء المضيف. ملاحظة: إدخالات المجال
والبحث
حصرية بشكل متبادل - يمكن إستخدام إدخال واحد فقط في كل مرة. إذا تم تضمين كلا المدخل في ملف /etc/resolv.conf، فإن المدخل الذي يظهر الأخير في الملف يتم إستخدامه.
{address-1}
لخادم DNS حيث تتم إعادة توجيه طلبات تحليل DNS إليه. يسمح بإدخال خوادم أسماء
متعددة ضمن ملف واحد، حتى حد أقصى ثلاثة.يوضح هذا المثال محتويات ملف /etc/resolv.conf حيث يكون المجال الافتراضي للبيئة هو cisco.com ولدى خوادم DNS داخل البيئة عناوين IP بقيمة 192.168.2.1 و 192.168.2.2. في هذا السيناريو، إذا كانت طبقة BaseH بحاجة إلى حل عنوان IP لجهاز باسم مضيف من قبل، فإنها تلحق cisco.com بنهاية اسم المضيف بحيث يكون اسم المجال المؤهل بالكامل (FDQN) للمضيف هو foo.cisco.com.
domain cisco.com nameserver 192.168.2.1 nameserver 192.168.2.2
يوضح المثال التالي محتويات ملف /etc/resolv.conf حيث يمكن إستخدام أسماء مجالات cisco.com أو bar.com لحل أسماء مضيفات DNS. تحتوي خوادم DNS داخل البيئة على عناوين IP من 192.168.2.1 و 192.168.2.2. في هذا السيناريو، إذا إحتاجت طبقة BaseShell إلى حل عنوان IP لجهاز باسم مضيف foo، فإنها تحاول حل foo.cisco.com أولا، ثم تحاول حل foo.bar.com بعد ذلك إذا فشل حل حل foo.cisco.com.
search cisco.com bar.com nameserver 192.168.2.1 nameserver 192.168.2.2