شرح NAT وأنواعه
Network Address Translation
ما هو NAT :
هو عبارة عن بروتوكول يتم تفعيله على جهاز الراوتر الموجود في داخل الشبكة، و وظيفة هذا البروتوكول هي عملية التحويل ما بين العناوين الداخلية الـ Private IP و العناوين الخارجية الـ Public IP، ويتم تشغيل هذا البروتوكول على مداخل الشبكة المعروفة باسم البوابة و هي الـ Default Gateways أو على جهاز الفايرول (الجدار الناري) , و هو البروتوكول المستخدم و المعتمد عليه في عملية التحويل ما بين العناوين و الاتصال في الشبكة الخارجية و يوجد ثلاث أنواع من هذا البروتوكول سأقوم بذكرهم و الشرح عنهم لنتعرف عليهم بشكل ممتاز و نستطيع التميز ما بينهم و العمل عليه و سنقوم بتطبيق شبكة عملية لنتعرف ايضاً على إعدادات هذا البروتوكول و كيف تتم عملية تفعيله على راوترات سيسكو .
أنواع بروتوكول NAT :
- الإعدادات اليدوية Static – NAT One To One
- الإعدادات الديناميكية Dynamic – NAT Group To Group
- الإعدادات العامة PAT – NAT One To Group
هذه هي الأنواع الثالثة سأقوم بشرح كل نوع بشكل منفرد عن الآخر لنستطيع فهم الأنواع و نعرف متى نستخدم كل واحد من هذه الأنواع أو متى نريد أو على حسب تصميم الشبكة و نحن سنقوم بتطبيق العملي على هذه الأنواع بشكل عملي .
الإعدادات اليدوية Static NAT :
هذا النوع نقوم بعمله بشكل يدوي مثل عندما ا نرید جهاز حاسوب معین أن يتصل في شبكة الانترنت سنقوم بإحضار عنوان الـ Private IP نضعه في جهاز الراوتر و سنقوم ايضاً بإحضار عنوان الـ Public IP و نقوم بدخول على جهاز الراوتر و عمل إعدادات الـ Static – NAT ، بمعنى إنه سيكون لكل جهاز في الشبكة عنوان واحد Private IP و على الجانب الآخر سيكون ايضاً Public IP ليخرج منه على شبكة الانترنت كما في الصورة التالية .
لاحظ في الصورة إنه يوجد لدينا شبكتين شبكة داخلية Private Network و شبكة خارجية أو عامة Public Network و يوجد في المنتصف جهاز راوتر يقوم بعملية التحويل ما بين العناوين الداخلية و الخارجية , الآن لاحظ إنه في الشبكة الداخلية يوجد جهاز حاسوب يأخذ عنوان 10.0.0.15 Src طالب الذهاب للعنوان التالي Dest 200.0.0.10 في هذه الحالة الشبكة الداخلية لا تعرف الشبكة الـ 200.0.0.10 سيتم إرسال العناوين الى جهاز الراوتر ليقوم بإرسال ه لشبكة الانترنت هذا الشيء من الطبيعي جدا ولكن عند وصول الرسالة للراوتر سيقوم الراوتر بأخذه و تحويله للعنوان الثاني المتصل في الانترنت و هو 123.0.0.0/24 ، و في هذه الحالة هنا يأتي دور بروتوكول الـ NAT و هو الذي سيقوم بتحديد عناوين الشبكة الخارجة من الشبكة الداخلية الى الشبكة الخارجية و من آية عنوان تخرج في هذه الحالة سيتم الإرسال . و عند وصول الرسالة و معاودة الرد سيتم إرسال الرسالة ايضاً للعنوان الـ 10.0.0.15 بهذه الطريقة نحن نعمل بشكل صحيح ولكن يجب أن نعرف إنه تم ضبط العناوين بشكل يدوي بمعنى الجهاز الذي قام بإرسال رسالة لشبكة الانترنت احتاج لعنوان شبكة خارجي ليتم تحويله نحن قمنا بإحضار عنوان عامة وضبطها على جهاز الراوتر ، و قمنا ايضاً بتعريف الجهاز صاحب العنوان الداخلي على هذا العناوين الخارجي ليخرج منه الى شبكة الانترنت كما هو موضح في الصورة .
– معلومة بسيطة و بشكل مختصر لنوع الـ Static – NAT يعني هذا النوع إنه كل جهاز حاسوب في الشبكة يأخذ عنوان Private IP ، و على مقابله Public IP هذا يعني إنه كل جهاز يحتاج عنوان Public IP خاص فيه و هذه العملية مكلفة جداً جداً .
الإعدادات الديناميكية Dynamic NAT :
هذا النوع من الـ NAT يقوم بعمل مخزن أو Pool يتم وضع العناوين العامة الـ Public IP التي تم استأجره من شركة مزودي الخدمة , حيث يتم استخدامهم من قبل أجهزة الحاسوب التي في داخل الشبكة الداخلية عندما يريدون الخروج الى شبكة الانترنت و فكرة هذا النوع إنه يحتوي على أكثر من عنوان عامة و يستطيعون المستخدمين استخدامهم كلهم ، ولكن في حال تم استهلك جميع العناوين و ارده مستخدم الخروج لان يستطيع الخروج لي لأنها لا يوجد عناوين عامة ليأخذ عنوان و يخرج فيه على شبكة الانترنت و عليه أن ينتظر لوقت ما ينتهي أحد من استخدام العناوين و تركه ليستطيع استخدامه و الخروج على شبكة الانترنت كما في الصورة التالية .
لاحظ كما هو موضح في الصورة جهاز الراوتر يحتوي على مخزن أو Pool و يحتوي في داخله على عنوان عام IP Public ولاحظ ايضا إنه يوجد شبكتان شبكة داخلية و شبكة خارجية و عندما يريد جهاز حاسوب الخروج من الشبكة الداخلية لشبكة الأنترنت سيقوم بذهاب لبروتوكول الـ NAT و سيتم تمريره على الـ Pool يأخذ عنوان عامة و يخرج فيه على شبكة الأنترنت كما هو موضح في الصورة .
مثال على ذألك أنظر للصورة ما بين الشبكة الداخلية و الشبكة الخارجية لاحظ إن الأجهزة التي في الشبكة الداخلية تريد الخروج الى شبكة الأنترنت لاحظ إنه يوجد لدينا ثلاث أجهزة حاسوب و يريدون الخروج سيطلبون الخروج على الإنترنت من جهاز الراوتر في هذه الحالة جهاز الراوتر سيقوم بإرسال الطلب الى بروتوكول الـ NAT و تحويلهم الى المخزن الـ Pool ونلاحظ إنه تم اخذ ثلاث عناوين و باقي عنوان واحد في هذه الحالة يستطيع جهاز رابع اخذ هذا العنوان و الخروج على شبكة الإنترنت .
الإعدادات العامة PAT NAT :
هذا النوع هو المستخدم بشكل عام في الحياة العملية و هو المعتمد عليه في الشبكات مثل شبكة المنزل أو شبكة المؤسسات أو الشركات، فهو يوفر عدد كبير جداً من العناوين العامة Public IP، و فكرة هذا النوع إنه نقوم بتعين عنوان عامة واحد و نجعل جميع الأجهزة التي في الشبكة الداخلية أن تقوم بالاتصال في شبكة الانترنت من خلال هذا العنوان الواحد بغض النظر عن عدد الأجهزة الموجودة في داخل الشبكة، كما في الصورة التالية توضح هذا النوع .
لاحظ في الصورة إنه يوجد شبكتان شبكة خارجية و شبكة داخلية و يربط ما بينهم جهاز الراوتر و مفعل عليه بروتوكول الـ NAT – PAT ، ولكن في هذه الصورة يوجد اكثر من عنوان عامة تم اضافتهم في داخل جدول الـ NAT ، ولكن بغض النظر عن عدد العناوين فكرة الـ NAT – PAT هو إنه يستطيع أن يجمع عدد كبير من المستخدمين في داخل الشبكة و يجعلهم يتصلون في شبكة الانترنت من خلال عنوان عامة واحد .
مميزات و فوائد بروتوكول الـ NAT :
- أكثر أمان من ناحية الحماية و الاختراق .
- تقليل استهلك عدد العناوين الكثيرة .
- اسهل و افضل في عملية تحليل الشبكة و الصيانة .
- مثال على الشبكة المنزلية : الشبكة المنزلية تعمل ببروتوكول الـ NAT و يتم تفعيل بروتوكول الـ NAT على المودم الموجود لدينا في المنزل سأقوم بتوضيح العملية التي تعمل فيه هذه الشبكة بشكل مبسط .
يجب أن نعلم أن المودم الذي نره في المنزل هو ليسه جهاز راوتر بل هو عبارة عن مودم يقوم بتحويل الإشارة و يقوم بوظيفة توصيل الانترنت لديك مع العلم إنه يعمل ببروتوكول مثل الـ RIP الاتصال في الراوتر الموجودة في مزود الخدمة الذي انت مشترك معه ، ويجب أن نعمل إنه ايضاً يتم تفعيل بروتوكول الـ NAT – PAT حيث يقوم بعمل جدول في داخل المودم يقوم بتسجيل جميع عناوين الأجهزة التي في الشبكة مثل في المنزل يوجد أكثر من جهاز حاسوب يقوم بتسجيل العناوين في هذا الجدول الموجود في المودم الأن شركة مزود الخدمة تقوم بتزويدينا عنوان عامة واحد فقط يتم تركيبه على المودم و من خلاله تستطيع جميع أجهزة المنزل الخروج على شبكة الانترنت بشكل طبيعي كما في الصورة التالية يظهر فيه جدول يوضح الطريقة .
كما نلاحظ إنه يوجد عدة أجهزة حاسوب و يوجد مودم متصل بشبكة الانترنت الأن في داخل المودم يوجد جدول يقوم بتسجيل جميع عناوين الأجهزة التي متصل في شبكة الانترنت و مقبل كل عنوان خاص في جهاز حاسوب يوجد العناوين العام و هو الذي سيوصل الأجهزة في شبكة الانترنت في هذه الحالة اي جهاز آخر في يريد الخروج على شبكة الانترنت سيتم خروجه عن طريق العناوين العامة.
اسماء العناوين في بروتوكول NAT
NAT Names
- العناوين العامة Global Address = Public Address
- العناوين الخاصة Local Address = Private Address
كما نلاحظ في الصورة من جهة الشبكة الداخلية تسمى الـ Inside ومن جهة الشبكة الخارجية تسمى Outside، بمعني إنه الرسالة التي سيتم إرساله من الشبكة الداخلية تمسى بهذا الاسم و العكس و هذه العناوين يجب أن نقوم بتحديده في عملية الإعدادات.
إعدادات بروتوكول الـ NAT
Static NAT Configuration
Router > enable
Router #config t
Router (config) # ip nat inside source static 192.168.1.9 52.53.54.55Router > enable
Router #config t
Router (config) # ip nat inside source static 192.168.1.9 52.53.54.55
عنوان الـ IP الذي بلون الازرق هو عنوان الـ IP العام Public IP.
Dynamic NAT Configuration
Router > enable
Router # config t
Router (config) # access-list 1 permit 192.168.1.0 0.0.0.255
Router (config)# ip nat pool IT 52.53.54.1 52.53.54.40 netmask 255.255.255.0
- هنا نقوم بإنشاء المخزن الـ Pool و نقوم بتخزين العناوين العامة التي قد تم اخذها من شركة مزود الخدمة ISP و مع العلم الـ netmask نأخذه مع العنوان و نقوم بوضعه في المخزن الـ Pool .
Router (config)# ip nat inside source list 1 pool IT
PAT NAT Configuration
Router > enable
Router # config t
Router (config) # access-list 1 permit 192.168.1.0 0.0.0.255
Router (config)# ip nat pool IT 65.65.65.1 65.65.65.10 netmask 255.255.255.0
Router (config)# ip nat inside source list 1 pool IT overload
الأن سنقوم ببناء شبكة صغيرة مكون من ثلاث شبكات و سنقوم بتطبيق بروتوكول الـ NAT – PAT على الشبكة ولكن قبل أن نبدأ يجب أن نتعرف على إعدادات الشبكة .
- الشبكة الأولى بعنوان 192.168.1.0/24 هذه الشبكة الداخلية التي ستتصل في السيرفر الموجود في الشبكة الثالثة .
- الشبكة الثانية بعنوان 192.168.50.0/24 هذه الشبكة التي ستربط ما بين الشبكات مع بعضهم البعض و سنقوم بتفعيل بروتوكول الـ RIPv2 ما بين الراوترات .
- الشبكة الثالثة بعنوان 192.168.2.0/24 هذه الشبكة التي تحتوي على السيرفر و التي سنتصل فيه من خلال بروتوكول الـ NAT .
قبل أن نبدأ في العمل يجب أن نعرف بعض الملاحظات المهمة جدا و يجب أن نكون على معرفة بشكل ممتاز في هذه المعلومات لتجنب المشاكل في العمل قبل البداء في اية مشروع أو اية بناء شبكة يجب أن نقوم بدراسة الكاملة و المعرفة متى سنحتاج هذه الإعدادات و في آية مرحلة سنقوم بها لنعمل بشكل صحيح مثال على ذلك نحن الأن نريد تفعيل بروتوكول الـ NAT سنقوم بتفعيله ولكن ماذا نحتاج قبل أن نقوم بتفعيل هذا البروتوكول ، من الطبيعي جداً أن يتواجد اتصال ما بين الراوترات لنستطيع الاتصال في الشبكات الآخر و في هذه الحالة يجب أن نقوم بتفعيل بروتوكول توجيه لجعل الراوترات تتصل فيه معا بعضها البعض و بعد هذا يأتي وقت بروتوكول الـ NAT لنستطيع العمل عليه بشكل منظم و صحيح .
ملاحظة : بروتوكول الـ NAT لا يقوم بعملية الاتصال و الربط ما بين الراوترات و الشبكات بمعنى إنه يجب أن يتواجد اتصال ما بين الراوترات ليعمل بروتوكول الـ NAT بشكل صحيح ، و يجب أن لا نخلط ما بين بروتوكول الـ NAT و بروتوكول التوجيه مثل الـ RIP .
معلومة مفيدة: مثال على الحياة العملية من الطبيعي إنه يتوجد جهاز مودم لديك لتسطيع الاتصال في الانترنت ، هذا المودم يوجد عليه بروتوكول توجبه و بروتوكول الـ NAT لنستطيع الاتصال بشبكة مزودي الخدمة و نستطيع التحويل ما بين العناوين عن طريق الـ NAT .
هذا النموذج التالي الذي سنقوم بتطبيق عليه
الأن سنقوم بدخول على الراوتر R2 و نقوم بعمل الإعدادات التالية :
سنقوم بتفعيل منافذ الراوتر و تركيب العناوين على المنافذ و تفعيل بروتوكول الـ RIPv2.
ملاحظة : يجب تحديد نوع المنفذ الذي سيعمل بشكل inside , outside ليتم التميز ما بينهم و العمل بشكل صحيح
سنقوم بكتابة الاوامر التالية
Router > enable
Router # config t
Router (config)# interface fastethernet 0/0
Router (config-if) # ip address 192.168.50.1 255.255.255.0
Router (config-if) # no shutdown
Router (config-if)# exit
Router (config)# interface fastethernet 0/1
Router (config-if)# ip address 192.168.1.1 255.255.255.0
Router (config-if) # no shutdown
Router (config-if) # exit
Router (config) # router rip
Router (config-router) # version 2
Router (config-router) # network 192.168.50.0
Router (config-router) # network 192.168.1.0
Router (config)# ip route 0.0.0.0 0.0.0.0 192.168.50.2
Router (config)# interface fastethernet 0/1
Router (config-if) # ip nat inside
Router (config-if) # exit
Router (config)# interface fastethernet 0/0
Router (config-if) # ip nat outside
Router (config)# access-list 1 permit 192.168.2.0 0.0.0.255
Router (config)# ip nat pool IT 65.65.65.1 65.65.65.10 netmask 255.255.255.0
Router (config)# ip nat inside source list 1 pool IT overload
Router (config)# end
Router # copy running-config startup-config
بهذه الإعدادات تم تفعيل بروتوكول الـ RIPv2 و NAT-PAT و الأن سنقوم بعمل اختبار لنرى هل الشبكات متصلة مع بعضها البعض و هل بروتوكول الـ NAT-PAT يعمل بشكل صحيح أو لا ، سنقوم بعمل اختبار لبروتوكول الـ RIPv2 و نرى هل الروترات متصلة مع بعضها البعض أو لا و بعده سنقوم بعمل اختبار بروتوكول الـ NAT-PAT
سنقوم بدخول على راوتر R1 وسنقوم بكتابة الأمر Ping للاتصال في الراوتر R2.
Router>enable
Router#ping 192.168.50.2
كما نلاحظ إنه تم الرد من الراوتر R2 هذا يدل على إنه الإعدادات صحيحة الأن نريد التأكد من جداول التوجيه في الروترات .
الأن سنقوم بدخول على الراوتر R1 و نقوم بعمل عرض لجدول التوجيه .
Router # show ip route
لاحظ في جدول التوجيه يوجد رمز R هذا اختصار لـ بروتوكول الـ RIPv2 ، ويوجد ايضاً اختصار الـ *S هذا الرمز اختصار لـ إعدادات الـ default gateway ، و هذا التوجيه وظيفته عندا طلب عنوان معين مثل فيس بوك أو جوجل أو يوتيوب أو اية عنوان موقع غير موجود في داخل الشبكة الخاصة بينا أو شركة مزود الخدمة سيخرج العنوان على العناوين هذا 0.0.0.0 ، في هذه الحالة يعرف الراوتر إنه يريد الخروج الى شبكة غير معروفة مثل ما ذكرنا على المواقع السابقة .
الآن سنقوم بدخول على الراوتر R2 و نقوم بعرض جدول التوجيه لنتأكد من الشبكة هل تم اضافتها أو لا .
سنقوم كما نلاحظ أن الشبكة الموجودة في جدول توجيه الـ R1 موجودة في جدول توجيه الراوتر R2 ، بهذا الشكل نكون قد تأكدنا من الاتصال ما بين الراوتر بشكل صحيح الأن علينا أن نقوم باختبار بروتوكول الـ NAT – PAT هل يعمل أو لا .
الأن سنقوم بعمل الاختبار عن طريق إرسال Packet من جهاز المستخدم الموجود في شبكة 192.168.1.0/24 الى السيرفر الموجود في شبكة 192.168.2.0/24 ، و بتفعيل امر مهم جداً على الراوتر R1 لنرى كيف ستتم عملية التحويل في بروتوكول الـ NAT – PAT ما بين العناوين الداخلي و العناوين الخارجي ، الأن سنقوم بكتابة الأمر التالي . Router # debug ip nat هذا الأمر مهم جداً جداً جداً و هو الذي يظهر لك عملية التحويل ما بين العناوين، كما في الصورة التالية من داخل الراوتر.
لاحظ هذا من داخل الراوتر تم تحويل العناوين ، بمعنى إنه تم تحويل العنوان الداخلي الخاص في الشبكة 192.168.1.1 الى عنوان عام و هو 65.65.60.1 هذا العنوان الذي عن طريقه نستطيع الخروج الى شبكة الانترنت العامة .
نظرة من جهة أمنية لهذه التقنية : –
تقنية الـ NAT بشكل عام هي مختصة ايضاً في حماية الشبكة من الاختراق ، مثل عندما ا نريد إرسال رسالة الى شبكة معينة سيتم إضافة عنوان الجهاز أو السيرفر الداخلي الموجود في الشبكة في الـ Packet هذه الحالة نحن في خطر كبير من معرفة عنوان الـ IP للخادم أو الجهاز ، ولكن في بروتوكول الـ NAT يقوم بتحويل العناوين بمعنى يتم استبداله عند الخروج ، و في حال تم اختراق الخط أو عمل تحليل للخط سيجد العنوان العام بدل من العنوان الداخلي الخاص في الخادم الموجود في داخل الشبكة و بهذه الطريقة نحن قد تمكنه من حماية العنوان و عدم معرفة العناوين الخاصة التي في الشبكة الداخلية ، ولكن هذا لا يعني أن نكون في حماية كاملة في عملية الاختراق اكبر بكثير من هذه الأمور .