القائمة الرئيسية

الصفحات

ماهو NAT بروتوكول و ماذا يعمل و ما هيا خصائصة

 ماهو NAT بروتوكول و ماذا يعمل و ما هيا خصائصة

هنتكلم النهاردة عن موضوع مهم جدا فى مدونة لينكدان للعرب Linkedin For Arab عن بروتوكول مهم جدا اسمه NAT 

دا من اهم البروتوكلات المستخدمة فى شبكات الانترنت و هنعرف انواعة و خصائصة و مميزاتة و كمان من اهم البروتوكولات فى كورس CCNA وCCNP . كل دا هنعرفة بالتفاصيل فى مدونة لينكدان للعرب Linkedin For Arab

ماهو NAT
NAT Protocol


بعد زيادة نسبة المستخدمين للـــ
Internet واحتياج كل مستخدم لــ IP Address خاص به للاتصال عبر الانترنت فى حين أن IPv4 لم يعد يلبى هذه الاحتياجات بسبب سوء التوزيع مما يؤدى إلى نقص فى توفر public IP Address لكل مستخدم تم اللجوء حل يسمى Network Address Translation أو ال NAT وهذا الحل يمكننا ببساطة من لو كان عندنا فرضا شركة تتكون من 10 أفراديستخدموا ال internet فى عملهم . قبل هذا الحل كان لابد من شراء public ip من ال ISP لكل فرد ليتمكنوا من استخدام الانترنت فى نفس الوقت أما مع هذا الحل فيمكننا شراء Public IP واحد فقط ليستخدمه الجميع وسوف نفهم فيما بعد كيفية عمل ذلك وله مميزات أخرى لن نتطرق لها الآن

أنواع الــ NAT :

1- Static NAT :

وهذا النوع من الـــ NAT بختار بنفسي لكل Private IP من الموجودين عندي Public IP عندما يخرج إلى شبكة أخرى أو إلى الانترنت مثلا يعنى 192.168.32.10 لما يحاول الاتصال بالــ Internet بيظهر على الــ Internet بـــ 213.18.123.110 وهكذا مع باقي الأجهزة .

مثال : لو عندي web server لموقع ما أكيد ال web server ده موجود فى شبكة داخلية وله private IP ولكن يظهر للشبكات الخارجية بــ public IP ليتم الاتصال به .

2- Dynamic NAT :

فى هذا النوع من الــ NAT بختار مجموعة من الــ Private IP ليظهروا عبر الشبكات الخارجية بمجموعة من الــ Public IP وهنا لا يشترط أن يظهر مثلا 192.168.32.10 فى الشبكات الخارجية بــ 231.18.123.116 بل يأخذ أول Public IP حر أو بمعنى لا يستخدمه احد طيب ماذا لو لم يجد 192.168.32.10 أي public IP حر ووجد الجميع مستخدم من قبل الغير …. سوف ينتظر إلى أن يجد Public IP حر ويخرج حينها إلى الشبكة الخارجية فى صورته . وهنا طبعا أكيد عدد ال private ip اكبر من عدد الـ public ip .

3- NAT Overloading

وهذا النوع هو المنتشر بكثرة ومن اشهر الأمثلة عليه هو DSL Modem وهو عبارة عن مجموعة من الــ private IP تظهر للشبكات الخارجية بــ Public IP واحد فقط ويتم التفرقة بينهم باستخدام ال TCP/UDP port number بمعنى أن 192.168.32.10 و 192.168.32.12 يظهروا للشبكات الخارجية بـــ 213.18.123.100 ولكن يتم التفرقة بينهم باستخدام TCP/UDP port number،حيث أن 192.168.32.10 يظهر بــ 213.18.123.100:101 أي عن طريق ال port 101 و 192.168.32.12 عن طريق 213.18.123.100:102

ويمكنك أن ترى هذا الموضوع باستخدام الأوامر التالية

1- Start>run>cmd>ipconfig/all من هذا الأمر سوف تعرف private ip

2- افتح Internet explorer أو FireFox مثلا واكتب http://showip.net/ سوف يظهر لك ال public ip الذي تستخدمه وبالأسفل connected at port وبها رقم ال port الذي تتصل من خلاله

3- جرب الخطوة 1و2 على جهاز أخر موجود على الشبكة سوف تجد نفس ال public IP ولكن الاختلاف فى ال port number

مصطلحات ال NAT :

1- Inside & Outside Networks

كل جهاز موجود فى ال Inside Network أو الشبكة الداخلية يعتبر Inside Device سواء كان pc, switch,…… وأي جهاز موجود فى Outside Network أو الشبكة الخارجية يعتبر Outside Device

2- Local Address

وهو أي IP Address بيظهر فى الشبكة الداخلية

3- Global Address

وهو أي IP Address بيظهر فى الشبكة الخارجية

4- Inside Local Address

وهو كل جهاز له private IP موجود بالشبكة الداخلية

5- Outside Local Address

وهو أي جهاز خارجي هايظهر للشبكة كأنه جهاز داخلي بمعنى أخر لو ال router عندي استلم packet من pc وليكن له ip 171.16.86.1 وأنا عندي Network ID 10.1.1.0 ال router بيعمل translate أو ترجمة لــ source Address ليظهر كأنه موجود فى الشبكة عندي فيظهر عندي فى الشبكة الداخلية بهذا الشكل ip 10.1.1.X

6- Inside Global Address

وهو أي جهاز داخلي له private ip هايظهر للشبكات الخارجية بــPublic IP

7- Outside Global Address

وهو أي جهاز خارج الشبكة الداخلية وله public IP

1- Static NAT

Allow PC 0 to use the internet and appear at the outside networks by 200.1.1.3

المطلوب هنا نسمح لــ PC 0 باستخدام الـ Internet بواسطة اننا هانجعل يظهر فى الشبكات الخارجية بــ Public IP وهو 200.1.1.3 وده هايتم باخطوات التالية :

R1(config)#int fa 0/0

R1(config-if)#ip nat inside

هنا بعرف الــ Router ان Fa 0/0 بيطل على الشبكة الداخلية

R1(config)#int s 2/0

R1(config-if)#ip nat outside

هنا بعرف الــ Router ان S 2/0 بيطل على الشبكة الخارجية

R1(config)#ip nat inside source static 192.168.1.2 200.1.1.3

وهنا الامر الرئيسى لـ Static NAT وهنا بقول للـ Router ان ال private ip الفلانى لما يحب يخرج لشبكة تانية اظهره فى الشبكة الخارجية بــالـ public ip الفلانى

R1# show ip nat translations

وهنا من الامر ده بعرف انا عامل NAT لكام Device واعرف منه ال ip الخاص به فى الشبكة الداخلية ولما يخرج لشبكة اخرى هايبقى ال ip بتاعه ايه ..

R1(config)#no ip nat inside source static 192.168.1.2 200.1.1.3

الامر ده علشان الغى ال NAT من على الـ Router علشان انتقل للمرحلة القادمة وهي الــ Dynamic NAT

2- Dynamic NAT

R1(config)#int fa 0/0

R1(config-if)#ip nat inside

R1(config)#int s 2/0

R1(config-if)#ip nat outside

R1(config)# ip nat pool mac 200.1.1.3 200.1.1.254 netmask 255.255.255.0

هنا بعرف range لل public ip واديته اسم mac وممكن اى اسم اخر

R1(config)#ip nat inside source list 1 pool mac

هنا بعرف ان اى جهاز واخد private ip فى الشبكة ال inside لما يروح يكلم اى حد من شبكة خارجية ياخد من range ال public ip اللى اسمه mac ومعنى list 1 اى طبق على ال inside interface ال access-list اللى رقمها 1

R1(config)access-list 1 permit 192.168.1.0 0.0.0.255

R1# show ip nat translations

وهنا من الامر ده بعرف انا عامل NAT لكام Device واعرف منه ال ip الخاص به فى الشبكة الداخلية ولما يخرج لشبكة اخرى هايبقى ال ip بتاعه ايه ..

ملحوظة : الامر show ip nat translation مش هايطلع اى نتائج الا بعد ان استخدم الاجهزة ال inside خارج الشبكة الداخلية بمعنى اخر ممكن اعمل ping على اى جهاز فى شبكة خارجية وبعد ذلك سوف تظهر النتائج

لو عجبك المقال متنساش تشوف باقى المقالات فى لينكدان للعرب Linkedin for arab

تعليقات