NAT هو اختصار لـِ Network Address Translation، وأبسط تعريف له هو التحويل من عنوان IP إلى آخر. ويتم تشغيله على مداخل الشبكة Gateways كأجهزة الراوتر أو جدران النار firewall أو أجهزة البروكسي. من أكثر الإستخدامات الدارجة حالياً لـNAT هو من خلال خطوط ADSL بهدف تمكين مجموعة من المستخدمين ضمن الشبكة الداخلية والذين لديهم عناوين خاصة Private IP من الدخول إلى الانترنت باستخدام عنوان عام واحد Public IP.
لنفترض أن لدينا 20 جهاز معرّفين ضمن المجال 192.168.10.0/24، ولدينا راوتر مرتبط بالشبكة الداخلية من خلال مخرج fastethernet0/1 ومعرّف عليه المخرج Dialer0 لخط الـ ADSL ويحمل العنوان 150.160.170.180. لكي يتمكن جميع المستخدمين من النفاذ للإنترنت ينبغي علينا عمل الخطوات الثلاث التالية:
الخطوة الأولى:
تعريف الراوتر بمجموعة العناوين الخاصة التي تحملها الأجهزة والتي سيسمح لها بالخروج إلى الإنترنت، وذلك من خلال قائمة standard access list.
router(config)# access-list 10 permit 192.168.10.0
الخطوة الثانية:
تعريف NAT على الراوتر
router(config)# ip nat inside source list 10 dialer0 overload
وهذا يتضمن تحديد القائمة التي تعرّف العناوين source list 10 (القائمة 10 كما حددناها في الخطوة الأولى). والمخرج الخارجي الذي سيتم إسناد الـ IP الخاص به لكل جهاز يحتاج للخروج إلى الإنترنت وهو dialer0. وبما أن لدينا 20 جهاز سيستخدمون جميعاً نفس عنوان الـ IP الخارجي نضيف كلمة overload وبذلك فإن كل جهاز سيتم تمييزه عن الآخر عن طريق إضافة رقم منفذ port number بشكل عشوائي إلى عنوان IP (وهذا يدعى أيضاً PAT أي Port Address Translation).
مثال على عمل NAT
اسم الجهاز |
العنوان الداخلي الأصلي |
العنوان الخارجي بعد NAT |
PC1 |
192.168.10.5 |
150.160.170.180:9856 |
PC2 |
192.168.10.6 |
150.160.170.180:5682 |
PC3 |
192.168.10.7 |
150.160.170.180:21548 |
الخطوة الثالثة:
تحديد إتجاه عمل NAT. فهو سيعمل على تحويل كل عنوان قادم من الشبكة الداخلية عن طريق المنفذ fastethernet0/1 إلى عنوان خارجي عن طريق المنفذ الخارجي dialer0 وهذا يتم كما يلي:
router (config)# interface fastethernet 0/1
router (config-if)# ip nat inside
router (config)# interface dialer 0
router (config-if)# ip nat outside
بقي أن أضيف أن باستطاعتك التأكد من عمل NAT بالشكل الصحيح من خلال بعض أوامر show :
router# show ip nat transactions
وهذا يُظهر جدولاً بعناوين الأجهزة التي حصلت على عناوين من خلال NAT
router# show ip nat statistics
ويُظهر معلومات حول المخارج التي يعمل عليها NAT وعدد الأجهزة التي حصلت على عناوين، وعدد الأجهزة التي فشلت أيضاً في الحصول على عناوين.
الأوسمة: Access List, ADSL, gateway, NAT, Network Address Translation, PAT, Port Address Translation, private ip, proxy, public ip
أكتوبر 4, 2008 عند 4:39 م
واللة كلامكم طيب وجميل ومفيد ولكن ارجو تنسيق تركيب الشبكة مع الرويتر والسيوتش خطوة خطوة وبسيطة كى تفهم بدون تعقيد وكلام كتير وارجو شرح الاختصارات حتى تفهم ولكم الشكر
ملحوظة لوامكن ارجو ارسال كل الشرح الى بريدى ولكم التحية
ابـــــــــــوبسمــلة
أكتوبر 11, 2008 عند 11:36 ص
الأخ عمر … إن شاء الله سوف أفرد لها تدوينة مستقلة
أكتوبر 25, 2008 عند 12:04 ص
بجد انا سعيد انى لاقيت مدونتك لانها بجد شئ جميل جدا وانا متابع معاك
وياريت لو تشرفنا فى منتدى عرب هارد وير لافادة اخوانك هناك
http://www.arabhardware.net/forum/index.php
وانا اسمى Mr Mac هناك على فكرة 😀
أكتوبر 25, 2008 عند 5:58 م
الأخ أحمد
أهلا وسهلا بك في المدونة
سرتني دعوتك لمنتدى عرب هاردوير ..
زرت المنتدى عده مرات من قبل.. وبدون مجاملة هو من أفضل المنتديات العربية على الإطلاق
أسأل الله التوفيق لكم
أكتوبر 30, 2008 عند 1:02 ص
عندى سؤال فى النات
ما اهمية جعل outside network تظهر عندى كــ inside network
مثل R1(config)# ip nat outside list 2 pool company
نوفمبر 3, 2008 عند 1:46 ص
شكرآ جزيلآ على هذا التوضيح و خصوصآ أنه باللغة العربية…
أتمنى التواصل عبر الإيميل للإطلاع على ما هو جديد
eng.ayak@yahoo.com
وشكرآ
نوفمبر 3, 2008 عند 12:38 م
الأخ أحمد
أعتذر على التأخر في الرد بسبب الإنشغال
يستخدم الأمر ip nat outside كما هو واضح لتحويل عناوين الشبكة الخارجية (بالنسبة للراوتر)…
من الإستخدامات الدارجة لذلك هو وجود عناوين متداخلة (متشابهة) بين الشبكتين على طرفي الراوتر (inside network و outside network)
لنفترض مثلا وجود شبكتين قائمتين أصلاً تستخدمان نفس مجموعة العناوين ip subnet واحتجنا إلى عمل routing بينهما.. هنا يأتي عمل nat وذلك بقيام الراوتر أولاً بعملية التحويل للعنوان القادم إلى عنوان جديد مختلف عن الموجود داخلياً ومن ثم يقوم بعملية توجيه المعلومات routing إلى الشبكة الداخلية
نوفمبر 3, 2008 عند 12:39 م
الأخ عبد الله
أهلا وسهلا بك…
أرجو أن تزورنا دائماً في المدونة
نوفمبر 3, 2008 عند 3:46 م
شكرا لك استاذى الصورة وضحت والحمد لله
جانفي 6, 2009 عند 2:52 ص
جزاك الله كل خير
أفريل 25, 2009 عند 12:32 م
سبحان الله
فعلا موضوع رائع
هل تعلم اني مافهمت النات الا من طريقة شرحك المميزة
الله يعطيك ويزيدك من العلم والمعرفة
شكرا جزيلا
جوان 17, 2009 عند 2:44 ص
بدي اشبك4 خطوط ادسل علي سيسكو 1841
عتدي CONFIG بس يصراحه ما عاجبيتني
ارجو المساعده
ziaddl2008@gmail.com
جوان 19, 2009 عند 12:55 م
زياد
يعتمد هذا على الإعدادات التي توفرها لك شركة الإتصالات المشترك معها
على أية حال ارسل لي ملف config لمعاينته
جويلية 18, 2009 عند 5:00 م
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname Ziad-1841
!
boot-start-marker
boot system flash
boot-end-marker
!
logging buffered 4096 debugging
enable secret 5 $1$gpgC$OWJRYh5fLE5dHMdMfWakG/
!
no aaa new-model
ip cef
!
!
no ip dhcp use vrf connected
ip dhcp excluded-address 10.0.0.200
!
ip dhcp pool LAN
network 10.0.0.0 255.255.255.0
default-router 10.0.0.138
dns-server 194.90.1.5 212.143.212.143
lease infinite
!
!
no ip bootp server
ip name-server 194.90.1.5
ip name-server 212.143.212.143
ip sla monitor 1
type echo protocol ipIcmpEcho 212.143.225.94
timeout 30
ip sla monitor schedule 1 life forever start-time now
ip sla monitor 2
type echo protocol ipIcmpEcho 212.235.2.141
timeout 30
ip sla monitor schedule 2 life forever start-time now
ip sla monitor 3
type echo protocol ipIcmpEcho 212.235.2.140
timeout 30
ip sla monitor schedule 3 life forever start-time now
!
!
!
!
!
track 1 rtr 1 reachability
!
track 2 rtr 2 reachability
!
track 3 rtr 3 reachability
!
!
!
!
interface FastEthernet0/0
description connected to MODEMS
ip address 192.168.1.254 255.255.255.0
no ip redirects
no ip proxy-arp
ip nat outside
ip virtual-reassembly
no ip route-cache cef
no ip route-cache
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.0.0.138 255.0.0.0 secondary
ip address 212.235.0.185 255.255.255.248
ip nat inside
ip virtual-reassembly
ip tcp adjust-mss 1420
ip policy route-map LOAD_BALANCE
duplex auto
speed auto
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
ip route 212.143.225.94 255.255.255.255 192.168.1.1
ip route 212.235.2.140 255.255.255.255 192.168.1.3
ip route 212.235.2.141 255.255.255.255 192.168.1.2
!
!
ip http server
no ip http secure-server
ip nat translation timeout 6000
ip nat translation tcp-timeout 6000
ip nat translation udp-timeout 600
ip nat translation dns-timeout 300
ip nat translation max-entries 12000
ip nat inside source list 2 interface FastEthernet0/0 overload
ip nat inside source static tcp 10.0.0.138 23 interface FastEthernet0/0 23
ip nat inside source static tcp 10.0.0.200 80 interface FastEthernet0/0 80
!
ip access-list extended Modem1
permit tcp any any eq smtp
permit tcp any any eq 1863
permit udp any any eq 1863
permit udp any any eq 7001
permit tcp any any eq 7001
permit icmp any any
ip access-list extended Modem2
permit tcp any any eq www
permit tcp any any eq 443
permit tcp any any eq 8080
permit tcp any any eq pop3
permit icmp any any
ip access-list extended Modem3
deny tcp any any eq smtp
deny tcp any any eq pop3
deny tcp any any eq www
deny tcp any any eq 8080
deny tcp any any eq 443
deny tcp any any eq 1863
deny udp any any eq 1863
deny udp any any eq 7001
deny tcp any any eq 7001
permit ip any any
!
access-list 2 permit 10.0.0.0 0.0.0.255
access-list 20 permit 194.90.1.33
access-list 20 permit 10.0.0.0 0.0.0.255
access-list 20 permit 192.168.1.0 0.0.0.255
!
route-map LOAD_BALANCE permit 10
match ip address Modem1
set ip next-hop verify-availability 192.168.1.1 10 track 1
set ip next-hop verify-availability 192.168.1.2 20 track 2
set ip next-hop verify-availability 192.168.1.3 30 track 3
!
route-map LOAD_BALANCE permit 20
match ip address Modem2
set ip next-hop verify-availability 192.168.1.2 10 track 2
set ip next-hop verify-availability 192.168.1.3 20 track 3
set ip next-hop verify-availability 192.168.1.1 30 track 1
!
route-map LOAD_BALANCE permit 30
match ip address Modem3
set ip next-hop verify-availability 192.168.1.3 10 track 3
set ip next-hop verify-availability 192.168.1.2 20 track 2
set ip next-hop verify-availability 192.168.1.1 30 track 1
!
!
!
!
control-plane
!
!
!
line con 0
line aux 0
line vty 0 4
access-class 20 in
password 7A
login
transport input telnet ssh
transport output telnet ssh
!
scheduler allocate 20000 1000
end
Ziad-1841#
ديسمبر 19, 2009 عند 10:52 م
والله جميل جدا منتظرين المزيد
ديسمبر 21, 2009 عند 9:39 م
ماشاء الله عليك 🙂
طيب ممكن اعرف الحين الاكواد الي انت كاتبها استخدمها
في اي برنامج ؟
أفريل 14, 2010 عند 1:39 ص
الف شكر على المدورنه الجميله دى انا لسه طلب فى CCNA بس بصراحه انا حاسس ان انا حكون مستفيد
لسه بدرس فى الاول بس من كتر اطلاعى شوفت حاجات بالشكل دى واتمنى ان اقدر اعمل كده ان شاء الله
وياريت اكون تلميذ لحضرتك
على فكرة انا بشتغل IT
بس على قدى يعنى واخدها من منازلهم
ارجو التواصل
بس على فكرة انا دماغى حلوة وبحب اتعلم
أوت 30, 2010 عند 3:50 م
بداية اشكرك جداً على هذه المقالة
وسؤالي:
ذكرت أن الخط الآخر dialer يكون آخذ 150.160.170.180 وهو ريال أي بي
طيب إذا كان الإنترفايس 0/0 متصل بالشبكة الداخلية
والإنترفايس 0/1 مثلاً متصل بمودم دي اس ال
طبعاً الإنترفايس 0/1 رايح يأخذ private ip من المودم لأنه رايح يكون فيه عملية nat تتم داخل مودم الدي اس ال
فكيف نعمل الإعدادات للراوتر في هذه الحالة
أرجو أن يكون سؤالي واضحاً
ولك الشكر مسبقاً
ديسمبر 19, 2010 عند 12:28 م
السلام عليكم ممكن احد يوضح ماهو ARP cache المستخدم في الراوتر والفائذه من وجوده في الراوتر
ديسمبر 23, 2010 عند 9:27 ص
بس اذا امكن هاي ال command وين اكتبها؟ بواسطة الtelnet لو ms dos?
فيفري 17, 2011 عند 5:44 م
وااااااو رائع يعطيك العااافيه بس ياريت توضح لنا ماهي الطرق لتجنب حدوث الـ loop في عملية التوجيه والتحويل في الراوتر
مارس 4, 2012 عند 3:29 م
Alot Of Thanks $ This Knowledege
سبتمبر 23, 2012 عند 11:43 ص
شكرا كتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتتير
أفريل 3, 2013 عند 10:09 م
جزاك الله خير على الشرح الواضح واتمنى ان ارى المزيد من شروحاتك
سبتمبر 15, 2013 عند 10:17 م
شرح كثير رائع، بس عندي سؤال، ما هو static NAT وكيف يتم إعدادة على سيسكو راوتر
مارس 14, 2015 عند 10:30 م
شكرا على المعلومات القيمة
جويلية 25, 2015 عند 10:16 م
شكرا على المعلومات القيمة حول موضوع النات لكن حبيت ان افيدكم في بعض المعلومات التي لم تذكر وهي :
هناك ثلاثه انواع لنات
Static NAT
Dynamic NAT
NAT Overloading
………………………………………………………………………………….
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 ليتم الاتصال به .
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 .
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
ماي 3, 2016 عند 7:49 ص
ممتاز
ماي 3, 2016 عند 7:50 ص
أخر شرح