المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

تكوين DNS ل BaseShell

التحقق من صحة DNS ل BaseShell

الخطوة 1. تحقق من إستخدام مساحة اسم شبكة صالحة للاختبار.

الخطوة 2. تحقق من عمل تحليل DNS باستخدام اسم المضيف للاختبار.

/etc/resolv.conf تنسيق الملف

الأمثلة

معلومات ذات صلة

المقدمة

يصف هذا المستند الخطوات المستخدمة لتكوين خوادم 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.

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:

- منصة Nexus 9000 تبدأ من NX-OS الإصدار 6.1(2)I2(1)

- منصة Nexus 3000 تبدأ من NX-OS، الإصدار 6.0(2)U4(1)

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.

تكوين DNS ل 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

بمجرد إجراء التغييرات على تكوين DNS الخاص ب BaseShell، تحقق من أن التغييرات ينتج عنها حل اسم المجال بنجاح. وأبسط طريقة لاختبار دقة اسم المجال هي من خلال إستخدام الأداة المساعدة ping باستخدام اسم مضيف المجال كهدف. يوضح هذا المستند كيفية التحقق من تكوين DNS الصحيح باستخدام مضيف إختبار test.cisco.com وخوادم DNS من 192.168.2.1 و 192.168.2.2.

الخطوة 1. تحقق من إستخدام مساحة اسم شبكة صالحة للاختبار.

بشكل افتراضي، تستخدم طبقة 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

الخطوة 2. تحقق من عمل تحليل DNS باستخدام اسم المضيف للاختبار.

أستخدم الأداة المساعدة 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

/etc/resolv.conf تنسيق الملف

يتم شرح بعض معلمات التكوين الشائعة هنا. تأكد من تعديل جميع معلمات التكوين لتطابق بيئتك.

- المجال {domain-name.tld} - يحدد اسم مجال افتراضي {domain-name.tld} لإلحاق أسماء المضيف التي لا تنتهي بنقطة. يمكن أن يكون هناك إدخال مجال واحد فقط ضمن الملف /etc/resolv.conf.

- ابحث في {domain-name-1.tld} [domain-name-2.tld...] - يحدد قائمة محددة بمساحة لأسماء المجالات ({domain-name-1.tld} واختياريا، [domain-name-2.tld]) للإلحاق بأسماء المضيف.

ملاحظة: إدخالات المجال والبحث حصرية بشكل متبادل - يمكن إستخدام إدخال واحد فقط في كل مرة. إذا تم تضمين كلا المدخل في ملف /etc/resolv.conf، فإن المدخل الذي يظهر الأخير في الملف يتم إستخدامه.

- خادم الأسماء {address-1} - يحدد عنوان IP {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

معلومات ذات صلة

- دليل قابلية البرمجة Cisco Nexus 9000 Series NX-OS، الإصدار 9.x

- دليل قابلية البرمجة Cisco Nexus 9000 Series NX-OS، الإصدار 7.x

- دليل قابلية البرمجة Cisco Nexus 9000 Series NX-OS، إصدار 6.x

- دليل قابلية البرمجة Cisco Nexus 3000 Series NX-OS، الإصدار 9.x

- دليل قابلية البرمجة Cisco Nexus 3000 Series NX-OS، الإصدار 7.x

- دليل قابلية البرمجة Cisco Nexus 3000 Series NX-OS، إصدار 6.x

- دليل قابلية البرمجة Cisco Nexus 3500 Series NX-OS، الإصدار 9.x

- دليل قابلية البرمجة Cisco Nexus 3500 Series NX-OS، الإصدار 7.x

- دليل قابلية البرمجة Cisco Nexus 3500 Series NX-OS، إصدار 6.x

- دليل قابلية البرمجة Cisco Nexus 3600 Series NX-OS، الإصدار 9.x

- دليل قابلية البرمجة Cisco Nexus 3600 Series NX-OS، الإصدار 7.x

- القابلية للبرمجة والتشغيل التلقائي باستخدام نظام التشغيل Cisco Open NX-OS