ما هو الـ nat وما هي انواعه واهم المصطلحات الخاصه به


nat وما هي انواعه واهم المصطلحات الخاصه به

بامكانك الاطلاع علي nat بعد زيادة نسبة المستخدمين للـــ Internet واحتياج كل مستخدم لــ IP Address خاص به للاتصال عبر الانترنت.

 

NAT  

 

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

قبل هذا الحل كان لابد من شراء public ip من ال ISP لكل فرد ليتمكنوا من استخدام الانترنت فى نفس الوقت أما مع هذا الحل فيمكننا شراء Public IP واحد فقط ليستخدمه الجميع وسوف نفهم فيما بعد كيفية عمل ذلك وله مميزات أخرى لن نتطرق لها الآن.

 

 

تعريف الـ NAT

هو عبارة عن تغيير عنوان (IP address)الموجود على غلاف البيانات المرسلة (Layer3 header) من عنوان لعنوان آخر، حيث ظهرت هذه الامكانية نتيجة استخدام عناوين خاصة (private IP addresses) للشبكات المحلية الداخلية ومن ثم الحاجة لربطها على شبكة الانترنت والتي تستخدم عناوين عامة (public IP addresses)، ومن الجدير بالذكر أن ال NAT قد يطبق لتغيير عنوان (private IP) لعنوان (private 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 على اى جهاز فى شبكة خارجية وبعد ذلك سوف تظهر النتائج.

للاطلاع علي موضوع قد يفيدك What Is NAT?