يوضح هذا وثيقة كيف أنت يستطيع استعملت شبكة عنوان ترجمة (NAT) لشبكات متداخلة. ينتج عن الشبكات المتداخلة عندما تقوم بتعيين عنوان IP لجهاز على شبكتك مملوك قانونيا بالفعل ومخصص لجهاز مختلف على الإنترنت أو الشبكة الخارجية. كما ينتج عن الشبكات المتداخلة عندما تقوم شركتان، وكلتاهما تستخدم عناوين IP RFC 1918 في شبكاتهما، بالدمج. تحتاج هاتان الشبكتين إلى الاتصال، ويفضل أن يكون ذلك دون الحاجة إلى إعادة ضبط جميع أجهزتهما.
يعد الفهم الأساسي لعنونة IP وتوجيه IP ونظام اسم المجال (DNS) مفيدا لفهم محتويات هذا المستند.
بدأ دعم NAT في برنامج Cisco IOS® نسخة 11.2. لمزيد من المعلومات عن دعم منصة العمل راجع NAT الأسئلة المتكررة.
للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.
في هذا القسم، تُقدّم لك معلومات تكوين الميزات الموضحة في هذا المستند.
ملاحظة: للعثور على معلومات إضافية حول الأوامر المستخدمة في هذا المستند، أستخدم أداة بحث الأوامر (للعملاء المسجلين فقط).
يستخدم هذا المستند إعداد الشبكة الموضح في الرسم التخطيطي أدناه.
لاحظ أن الجهاز الداخلي له نفس عنوان IP الخاص بالجهاز الخارجي الذي يرغب في الاتصال به.
شكلت مسحاج تخديد A ل nat، مثل أن هو يترجم الأداة داخلي إلى عنوان من البركة "إختبار أنشوطة" والجهاز الخارجي إلى عنوان من البركة "إختبار-dns". يتبع شرح لكيفية مساعدة هذا التكوين مع التداخل جدول التكوين أدناه.
الموجه A |
---|
! version 11.2 no service udp-small-servers no service tcp-small-servers ! hostname Router-A ! ! ip domain-name cisco.com ip name-server 171.69.2.132 ! interface Loopback0 ip address 1.1.1.1 255.0.0.0 ! interface Ethernet0 ip address 135.135.1.2 255.255.255.0 shutdown ! interface Serial0 ip address 171.68.200.49 255.255.255.0 ip nat inside no ip mroute-cache no ip route-cache no fair-queue ! interface Serial1 ip address 172.16.47.146 255.255.255.240 ip nat outside no ip mroute-cache no ip route-cache ! ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 28 ip nat pool test-dns 172.16.47.177 172.16.47.180 prefix-length 28 ip nat inside source list 7 pool test-loop ip nat outside source list 7 pool test-dns ip classless ip route 0.0.0.0 0.0.0.0 172.16.47.145 access-list 7 permit 171.68.200.0 0.0.0.255 ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 login ! end |
من أجل أن يساعد التكوين أعلاه في التداخل عند اتصال الجهاز الداخلي بالجهاز الخارجي، يجب أن يستخدم اسم مجال الجهاز الخارجي.
يتعذر على الجهاز الداخلي إستخدام عنوان IP الخاص بالجهاز الخارجي لأنه هو نفسه العنوان المعين له (الجهاز الداخلي). لذلك، سيقوم الجهاز الداخلي بإرسال استعلام DNS لاسم مجال الجهاز الخارجي. سيكون عنوان IP الخاص بالجهاز الداخلي هو مصدر هذا الاستعلام، وسيتم ترجمة هذا العنوان إلى عنوان من تجمع "حلقة الاختبار" لأنه تم تكوين أمر ip nat داخل قائمة المصدر.
يرد خادم DNS على العنوان الذي جاء من التجمع "أنشوطة الاختبار" مع عنوان IP المقترن باسم مجال الجهاز الخارجي في حمولة الحزمة. تتم ترجمة عنوان الوجهة لحزمة الرد مرة أخرى إلى عنوان الجهاز الداخلي، وبعد ذلك تتم ترجمة العنوان في حمولة حزمة الرد إلى عنوان من التجمع "test-dns" بسبب أمر ip nat خارج قائمة المصدر. لذلك يعلم الجهاز الداخلي أن عنوان IP الخاص بالجهاز الخارجي هو أحد العناوين من تجمع "إختباري-dns"، وسيستخدم هذا العنوان عند الاتصال بالجهاز الخارجي. يعتني الموجه الذي يشغل NAT بالترجمات في هذه النقطة.
يمكن ملاحظة هذه العملية بالتفصيل في قسم أستكشاف الأخطاء وإصلاحها. يمكن أن تتصل الأجهزة التي تستخدم عناوين متداخلة مع بعضها البعض بدون إستخدام DNS، ولكن في هذه الحالة، سيتعين تكوين NAT الثابت. وفيما يلي مثال على كيفية القيام بذلك.
الموجه A |
---|
! version 11.2 no service udp-small-servers no service tcp-small-servers ! hostname Router-A ! ! ip domain-name cisco.com ip name-server 171.69.2.132 ! interface Loopback0 ip address 1.1.1.1 255.0.0.0 ! interface Ethernet0 ip address 135.135.1.2 255.255.255.0 shutdown ! interface Serial0 ip address 171.68.200.49 255.255.255.0 ip nat inside no ip mroute-cache no ip route-cache no fair-queue ! interface Serial1 ip address 172.16.47.146 255.255.255.240 ip nat outside no ip mroute-cache no ip route-cache ! ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 28 ip nat inside source list 7 pool test-loop ip nat outside source static 171.68.200.48 172.16.47.177 ip classless ip route 0.0.0.0 0.0.0.0 172.16.47.145 ip route 172.16.47.160 255.255.255.240 Serial0 !--- This line is necessary to make NAT work for return traffic. !--- The router needs to have a route for the pool to the inside !--- NAT interface so it knows that a translation is needed. access-list 7 permit 171.68.200.0 0.0.0.255 ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 login ! end |
مع التكوين المذكور أعلاه، عندما يريد الجهاز الداخلي الاتصال بالجهاز الخارجي، يمكن الآن إستخدام عنوان IP 172.16.47.177 و DNS في غير الضروري. كما هو موضح أعلاه، لا تزال ترجمة عنوان الجهاز الداخلي تتم بشكل ديناميكي، ما يعني أن الموجه يجب أن يحصل على الحزم من الجهاز الداخلي قبل إنشاء ترجمة. ولهذا السبب، يجب أن يبدأ الجهاز الداخلي جميع الاتصالات للاتصال بالجهاز الداخلي والجهاز الخارجي. إذا كان مطلوبا أن يبدأ الجهاز الخارجي الاتصالات بالجهاز الداخلي، فيجب أيضا تكوين عنوان الجهاز الداخلي بشكل ثابت.
لا يوجد حاليًا إجراء للتحقق من صحة هذا التكوين.
يوفر هذا القسم معلومات يمكنك استخدامها لاستكشاف أخطاء التكوين وإصلاحها.
يمكن عرض العملية التي يستخدم من خلالها الجهاز الداخلي DNS للاتصال بالجهاز الخارجي، كما هو موضح أعلاه، بالتفصيل باستخدام عملية أستكشاف الأخطاء وإصلاحها التالية.
حاليا هناك ما من ترجمة في الترجمة طاولة أن يستطيع كنت رأيت مع العرض ip nat ترجمة أمر. تستخدم الأمثلة أدناه أوامر debug ip packet وdebug ip nat بدلا من ذلك.
ملاحظة: تقوم أوامر تصحيح الأخطاء بإنشاء كمية كبيرة من الإخراج. يمكنك إستخدامها فقط عندما تكون حركة المرور على شبكة IP منخفضة، وبالتالي لا تتأثر الأنشطة الأخرى على النظام بشكل سلبي.
Router-A# show ip nat translations Router-A# show debug Generic IP: IP packet debugging is on (detailed) IP NAT debugging is on
عندما يرسل الجهاز الداخلي استعلام DNS الخاص به إلى خادم DNS، الموجود خارج مجال NAT، يتم ترجمة عنوان المصدر الخاص باستعلام DNS (عنوان الجهاز الداخلي) بسبب أوامر ip nat inside. يمكن ملاحظة ذلك في إخراج تصحيح الأخطاء أدناه.
NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0] IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward UDP src=6988, dst=53
عندما يرسل خادم DNS ردا على DNS، تتم ترجمة حمولة رد DNS بسبب الأوامر ip nat الخارجية.
ملاحظة: لا ينظر NAT إلى حمولة رد DNS ما لم تحدث الترجمة على رأس IP لحزمة الرد. راجع الأمر ip nat خارج قائمة المصدر 7 pool في تكوين الموجه أعلاه.
تظهر رسالة NAT الأولى في إخراج تصحيح الأخطاء أدناه أن الموجه يتعرف على الرد على DNS ويترجم عنوان IP داخل الحمولة إلى 172.16.47.177. تظهر رسالة NAT الثانية الموجه الذي يقوم بترجمة وجهة رد DNS بحيث يمكنه إعادة توجيه رد مرة أخرى إلى الجهاز الداخلي الذي قام بتنفيذ استعلام DNS الأولي. ترجمت الغاية جزء من الرأس، العنوان شامل داخلي، إلى العنوان محلي داخلي.
تمت ترجمة حمولة رد DNS:
NAT: DNS resource record 171.68.200.48 -> 172.16.47.177
تتم ترجمة جزء الوجهة من رأس IP في حزمة الرد على DNS:
NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65371] IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward UDP src=53, dst=6988
لنلق نظرة على استعلام DNS آخر والرد عليه:
NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0] IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward UDP src=7419, dst=53 NAT: DNS resource record 171.68.200.48 -> 172.16.47.177 NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65388] IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward UDP src=53, dst=7419
الآن بعد ترجمة حمولة DNS، يحتوي جدول الترجمة الخاص بنا على إدخال للعناوين المحلية والعالمية الخارجية للجهاز الخارجي. مع هذه الإدخالات في الجدول، يمكننا الآن ترجمة رأس حزم ICMP المتبادلة بالكامل بين الجهاز الداخلي والجهاز الخارجي. لنلق نظرة على هذا التبادل في إخراج تصحيح الأخطاء أدناه.
يظهر الإخراج التالي عنوان المصدر (داخل عنوان الجهاز) الذي يتم ترجمته.
NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [406]
هنا، الغاية ترجمة عنوان (خارج أداة محلي خارجي عنوان).
NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [406]
بعد الترجمة، تبدو حزمة IP كما يلي:
IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0
يبدي الإنتاج التالي المصدر عنوان (خارج أداة عنوان) يكون ترجمت على الربط يرجع.
NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16259]
الآن ترجمت الغاية عنوان (داخل الأداة شامل عنوان) من الربط رجوع.
NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16259]
بعد الترجمة، تبدو حزمة الإرجاع كما يلي:
IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0
يستمر تبادل الحزم بين الجهاز الداخلي والجهاز الخارجي.
NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [407] NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [407] IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16262] NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16262] IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [408] NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [408] IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16267] NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16267] IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [409] NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [409] IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16273] NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16273] IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [410] NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [410] IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16277] NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16277] IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0
بمجرد اكتمال تبادل الحزم بين الخارج والداخل، يمكننا النظر إلى جدول الترجمة، والذي يحتوي على ثلاثة إدخالات. تم إنشاء الإدخال الأول عندما قام الجهاز الداخلي بإرسال استعلام DNS. تم إنشاء الإدخال الثاني عند ترجمة حمولة رد DNS. تم إنشاء الإدخال الثالث عندما تم تبادل إختبار الاتصال بين الجهاز الداخلي والجهاز الخارجي. الإدخال الثالث هو ملخص للإدخالين الأولين، ويستخدم للترجمة الأكثر كفاءة.
Router-A# show ip nat translations Pro Inside global Inside local Outside local Outside global --- 172.16.47.161 171.68.200.48 --- --- --- --- --- 172.16.47.177 171.68.200.48 --- 172.16.47.161 171.68.200.48 172.16.47.177 171.68.200.48
من المهم ملاحظة أنه عندما تحاول إنشاء اتصال بين شبكتين متداخلتين بتشغيل NAT ديناميكي على موجه Cisco واحد، يجب أن تستخدم DNS لإنشاء ترجمة خارجية محلية إلى خارجية عامة. إن لا يستعمل أنت DNS، موصولية يستطيع كنت أسست مع ساكن إستاتيكي nat، غير أن هو أكثر صعوبة أن يدير.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
10-Aug-2005 |
الإصدار الأولي |