IPv4 نسخه چهارم پروتکل اینترنت نسبت به تقاضای فعلی شبکه به لحاظ تعداد IP محدود می باشد. به همین دلیل امکان درنظر گرفتن IP برای تمام تجهیزاتی که به اینترنت می خواهند متصل شود وجود ندارد. علاوه بر این محدودیت ، استفاده از IP های معتبر موجود در اینترنت نیاز به پرداخت هزینه است.
NAT) Netwrok Address Translate) برای برطرف شدن این مشکلات ارائه شد. در شبکه های محلی از Private IP استفاده می شود و برای شبکه تعداد محدودی IP معتبر (Public)گرفته می شود و با استفاده از سرویس NAT ارتباط دستگاه ها به اینترنت برقرار می شود.
NAT) Netwrok Address Translate) برای برطرف شدن این مشکلات ارائه شد. در شبکه های محلی از Private IP استفاده می شود و برای شبکه تعداد محدودی IP معتبر (Public)گرفته می شود و با استفاده از سرویس NAT ارتباط دستگاه ها به اینترنت برقرار می شود.
NAT یک IP به IP دیگر را تبدیل می کند یا عبارتی Private IP را به Public IP تبدیل می کند. به طور مثال یک شبکه را در نظر بگیرد که دارای 20 دستگاه است که می خواهند از اینترنت استفاده کنند با استفاده از سرویس NAT به جای اینکه برای هر دستگاه یک Public IP تهیه شود کلا یک Public IP تهیه می شود و برای دستگاه ها Private IP در نظر گرفته می شود و این دستگاه ها با استفاده از یک Public IP به اینترنت متصل می شوند. با اینکار در مصرف IP و هزینه صرفه جویی می شود.
رنج های Private IP :
- 10.0.0.0 تا 10.255.255.255
- 172.16.0.0 تا 172.31.255.255
- 192.168.0.0 تا 192.168.255.255
برخی از موارد مورد استفاده NAT :
- صرفه جویی در مصرف IP و هزینه
- زمانی که بخواهیم IP را به دلایلی عوض کنیم
- زمانی که شبکه داخلی از Private IP استفاده می کند.
- برقراری ارتباط بین دو شبکه که دارای رنج IP یکسانی هستند.
- نخواهیم رنج IP که در شبکه مورد استفاده قرار می گیرد از بیرون دیده شود.
- زمانی که مقصد ، رنج IP داخلی شبکه ما را نمی شناسد.
سرویس ها و ویژگی هایی که با NAT مشکل دارند:
- ناسازگاری با برخی از پروتکل ها : برخی از پروتکل ها IP آدرس مورد استفاده را در لایه هفتم نیز استفاده می کنند که باعث ایجاد مشکل می شود.
- برخی از پروتکل های رمزنگاری و احرازهویت : یکی از مسائل در رمز نگاری و احراز هویت جلوگیری از تغییر بسته ها در حین ارسال می باشد.
- Log گیری و گزارش گیری : با توجه به تغییر IP بررسی عملکرد و گزارشگیری مشکل است.
مفاهیم NAT :
Inside Local Address : آدرس هایی که برای شبکه داخلی مورد استفاده قرار می گیرد.(Private IP)
Inside Global Address : آدرس هایی که دستگاه های داخلی شبکه با آن از بیرون دیده می شوند. (Public IP)
Outside Local Address : آدرسی هایی که دستگاه های داخل شبکه ، دستگاه های خارج از شبکه را با آن می بینیم و می تواند آدرس Private باشد. نکته ای که وجود دارد این آدرس از طریق شبکه داخلی قابل مسیریابی است.
Outside Global Address : آدرس های Public مربوط به دستگاه های بیرون از شبکه ، که ما با آنها ارتباط برقرار می کنیم مانند Public IP سرور سایت Iitpro
Inside Global Address : آدرس هایی که دستگاه های داخلی شبکه با آن از بیرون دیده می شوند. (Public IP)
Outside Local Address : آدرسی هایی که دستگاه های داخل شبکه ، دستگاه های خارج از شبکه را با آن می بینیم و می تواند آدرس Private باشد. نکته ای که وجود دارد این آدرس از طریق شبکه داخلی قابل مسیریابی است.
Outside Global Address : آدرس های Public مربوط به دستگاه های بیرون از شبکه ، که ما با آنها ارتباط برقرار می کنیم مانند Public IP سرور سایت Iitpro
کاربردهای اصلی NAT :
- Source NAT : امکان ایجاد ارتباط یک دستگاه که دارای Private IP است را به اینترنت فراهم می کند.
- Destination NAT : امکان ایجاد ارتباط به یک دستگاه که دارای Private IP است را از اینترنت فراهم می کند.
انواع NAT :
- Static NAT
- Dynamic NAT
- (Overloaded (PAT
Static NAT :
در این روش یک آدرس Private را تبدیل به یک آدرس Public می کند یا به عبارتی یک دستگاه از شبکه داخلی به یک IP از شبکه خارجی تبدیل می شود.
با توجه به تصویر فوق Static NAT را پیاده سازی می کنیم:
با استفاده از دستور زیر مشخص می کنیم که IP 192.168.1.5 به 5.5.5.1 تبدیل شود.
Router(config)#ip nat inside source static 192.168.1.5 5.5.5.1
سپس شبکه را به دو بخش inside و outside تقسیم می کنیم و دستورات زیر را روی اینترفیس مربوطه وارد می کنیم:
Router(config)#interface fastethernet 0/0 Router(config-if)#ip nat inside Router(config)#interface fastethernet 0/1 Router(config-if)#ip nat outside
برای مشاهده وضعیت NAT از دستور زیر استفاده کنید:
Router#show ip nat translations
Dynamic NAT :
در این روش یک pool (رنج) از آدرس های Public را به یک رنج از Private IP شبکه داخلی اختصاص می دهیم. در این حالت تعداد IPهای داخلی و خارجی باید برابر باشد.
در ابتدا با یک ACL مشخص می کنیم که چه بسته هایی اجازه NAT شدن را دارند.
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
- نکته : NAT کردن براساس پارامترهای دیگر مانند پروتکل ، اینترفیس ، مقصد و ... امکان پذیر است برای این حالت ، به جای Standard ACL از Extended ACL استفاده می کنیم.
یک pool تعریف می کنیم و Public IP ها را در آن مشخص می کنیم.
Router(config)#ip nat pool itpro 5.5.5.1 5.5.5.3 prefix-length 24
ACL تعریف شده را به NAT اختصاص می دهیم
Router(config)#ip nat inside source list 1 pool itpro
سپس شبکه را به دو بخش inside و outside تقسیم می کنیم و دستورات زیر را روی اینترفیس مربوطه وارد می کنیم:
Router(config)#interface fastethernet 0/0 Router(config-if)#ip nat inside Router(config)#interface fastethernet 0/1 Router(config-if)#ip nat outside
برای مشاهده وضعیت NAT از دستور زیر استفاده کنید:
Router#show ip nat translations
(Overloaded (PAT :
این روش مشابه Dynamic NAT می باشد با این تفاوت که به تعداد دستگاه هایی که می خواهند از اینترنت استفاده کنند نیاز به IP نداریم و تعداد می تواند کمتر و یا حتی یک عدد باشد.
دستورات اجرای این روش مشابه Dynamic می باشد فقط یک تفاوت کوچک دارد:
Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 Router(config)#ip nat pool itpro 5.5.5.1 5.5.5.3 prefix-length 24
در اینجا کلمه overload را به انتهای دستور اضافه می کنیم:
Router(config)#ip nat inside source list 1 pool itpro overload Router(config)#interface fastethernet 0/0 Router(config-if)#ip nat inside Router(config)#interface fastethernet 0/1 Router(config-if)#ip nat outside
برای مشاهده وضعیت NAT از دستور زیر استفاده کنید:
Router#show ip nat translations
Overlapping NAT :
بعضی از مواقع می خواهیم ارتباط بین دو شبکه که دارای رنج IP یکسانی هستند را برقرار کنیم برای اینکار از Overlapping NAT به صورت زیر استفاده می کنیم:
همانطور که در تصویر می بینید سرور1 و سرور2 هر دو دارای آدرس 192.168.1.11/24 هستند و هر کدام در یک شبکه قرار دارند. در این سناریو می خواهیم ارتباط این دو سرور را با استفاده از NAT برقرار کنیم:
برای پیاده سازی این سناریو از دستورات زیر استفاده می کنیم که مشابه Static NAT می باشد.
در ابتدا روی روتر R1 :
Router(config)# ip nat inside source static 192.168.1.11 192.168.12.11 Router(config)#interface fastethernet 0/0 Router(config-if)#ip nat inside Router(config)#interface fastethernet 0/1 Router(config-if)#ip nat outside
سپس روی روتر R2 :
Router(config)# ip nat inside source static 192.168.1.11 192.168.12.12 Router(config)#interface fastethernet 0/0 Router(config-if)#ip nat inside Router(config)#interface fastethernet 0/1 Router(config-if)#ip nat outside
به این صورت سرور1 از طریق آدرس 192.168.12.12 با سرور2 می تواند ارتباط برقرار کند و سرور2 از طریق آدرس 192.168.12.11 با سرور1 می تواند ارتباط برقرار کند.
نویسنده مقاله : | |
ایمیل نویسنده: | |
منبع مقاله : |