اذهب إلى المحتوى

ترجمة عناوين الشبكة (Network Address Translation)


محمد أحمد العيل

لا تتوفّر شركات التزويد بالخدمة – غالبًا – إلا على أعداد محدودة من عناوين IP العمومية (Public IP)؛ ونظرًا لكثرة استخدام هذه العناوين في الوصول إلى شبكة الإنترنت والتخاطب عبرها، فليس بالإمكان إعطاءُ عنوان IP عمومي لكل جهاز يتصل بالشبكة. لهذا السبب يستخدم مزوِّدو الخدمة عناوين IP خاصة (Private IP) داخل شبكاتهم، ويحتاجون بالتالي لآلية تترجم هذه العناوين إلى عناوين عمومية يمكنها الاتصال بالإنترنت. تُسمَّى آلية الترجمة تلك ترجمة عناوين الشبكة NAT (اختصار لـ Network Adress Translation).

01-nat.jpg

من المهم عند الحديث عن ترجمة عناوين الشبكة فهمُ المصطلحات المستخدَمة. نتحدّث في هذا الإطار عن العناوين العامة (Global) والعناوين المحلية (Local). العناوين العامة أو العمومية هي العناوين التي يمكن استخدامها للتوجيه على شبكة الإنترنت، أما العناوين المحلية أو الخاصة فهي تلك المرتبطة بالشبكة الداخلية للمؤسسة. نصنِّف الأجهزة إلى قسميْن، هما الأجهزة الداخلية (Inside devices) الأجهزة الخارجية (Outside devices). توجد الأجهزة الداخلية - فيزيائيًا - في الشبكة الداخلية، أما الأجهزة الخارجية فتوجد – فيزيائيًا – خارج تلك الشبكة. مثلًا، للأجهزة الداخلية عناوين محلية، إلّا أن لديها كذلك عناوين عموميّة تظهر للأجهزة الموجودة في الخارج بعد أن تعمل آلية ترجمة عناوين الشبكة.

توجد طريقتان لإسناد (Assignment) العناوين إلى الأجهزة: الإسناد الثابت (Static) أو الديناميكي (Dynamic). نعني بالإسناد الثابت إنشاءَ العناوين وإعطاءَها للأجهزة الداخلية يدويًّا. بالنسبة للإسناد الديناميكي فإن الجهاز الذي يترجم العناوين بين الداخل والخارج هو ما يمنح للأجهزة الداخلية عناوينها.

ترجمة عنوان المنفذ

يُستخدَم الإسناد الديناميكي لعناوين IP العمومية – عادةً - عند إرسال البيانات من الشبكة المحلية إلى شبكة الإنترنت. يعني هذا أنه يمكن لجهاز داخلي استخدام عنوان IP عمومي اليوم لإرسال البيانات الخارجة، واستخدام عنوان آخر مغاير غدا؛ ممّا يتيح مرونة أكبر في استخدام العناوين العمومية. لا تتوفر في العادة إلّا عناوين IP قليلة، وأحيانًا لا يتوفر للمؤسسة سوى عنوان واحد يُسنَد لبطاقة شبكة الموجِّه الفاصل بين الشبكة المحلية والإنترنت، والمتصلة بالإنترنت، وبالتالي نحتاج لإعادة استخدام العنوان العمومي الوحيد المتوفر للأجهزة الداخلية كلها. توجد لهذا السبب آلية مكمِّلة لترجمة عناوين الشبكة، وهي ترجمة عناوين المنافذ PAT (اختصار لـ Port address translation).

02-pat.jpg

يمكن لعناوين خاصة عدة إعادة استخدام عنوان IP العمومي نفسه، كما يظهر في جدول ترجمة عناوين الشبكة (NAT) في الصورة أعلاه، إلا أنه يُضاف إليه رقم منفذ (Port number). يعمل الموجِّه على ألا يشترك جهازان داخليّان في رقم المنفذ، وبالتالي فإنه يصبح المعرِّف الذي يحدِّد الجهاز الداخلي الذي صدرت منه الرزمة.

ترجمة عناوين المصدر الداخلية

تشرح الصورة التالية كيفية عمل ترجمة عناوين الشبكة إذا كان كل جهاز داخلي يحصل على عنوان عمومي.

03-one-to-one-translation.jpg

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

إعادة تعريف عنوان عمومي داخلي

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

04-nat-overloading.jpg

تحمل رزمة الإجابة عنوان الوِجهة الذي هو العنوان العمومي (المُتضمِّن للمنفذ) الذي منحه الموجّه للرزمة الأصلية، والذي سيتعرَّف بالاعتماد عليه على عنوانها الداخلي.

ضبط ترجمة عناوين الشبكة

تتيح أداة SDM (Cisco Security Device Manager) ضبط ترجمة عناوين الشبكة بسهولة، وتوليد الأوامر الضرورية لذلك دون الخوض في سطر الأوامر. في ما يلي مثال على ضبط ترجمة عناوين المنفذ، يمكن تطبيقه على الموجِّه الظاهر في الصورة أعلاه.

    !
    interface GigabitEthernet0/0
     description ### LOCAL LAN ###
     ip address 10.1.1.10 255.255.255.0
     ip nat inside
     duplex auto
     speed auto
    !
    !
    interface GigabitEthernet0/1
     description ### Internet ###
     ip address 171.69.68.2 255.255.255.0
     ip ospf network broadcast
     ip nat outside
     duplex auto
     speed auto
    !
    !
    ip nat inside source list InetNat interface GigabitEthernet0/1 overload
    !
    ip access-list extended InetNat
     permit ip 10.1.1.0 0.0.0.255 any
    !

يُستخدَم الأمر show ip nat translation لعرض جدول ترجمة عناوين الشبكة. يعرض الأمر عناوين IP المحلية والعناوين العمومية الموافقة لها.

Router#sh ip nat translations
Pro Inside global         Inside local          Outside local         Outside global
tcp 83.228.127.214:1086   10.1.1.2:1025       217.29.9.205:11357    217.29.9.205:11357
tcp 83.228.127.214:1049   10.1.1.2:1031       46.38.189.180:6669    46.38.189.180:6669
tcp 83.228.127.214:1546   10.1.1.2:1040       74.105.111.98:34794   74.105.111.98:34794
tcp 83.228.127.214:1721   10.1.1.3:1044       59.92.70.243:61603    59.92.70.243:61603
tcp 83.228.127.214:1175   10.1.1.3:1054       71.218.158.201:6890   71.218.158.201:6890

ترجمة – وبتصرّف – للمقال Network Address Translation.


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

أفضل التعليقات

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



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...