جعفر قنبری شوهانی
مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

NAT چیست؟ آموزش استفاده از NAT در روتر سیسکو به زبان ساده

NAT چیست؟ Network Address Translation چه کاری در شبکه انجام می دهد؟ چگونه در روتر سیسکو NAT راه اندازی کنیم؟ چند نوع NAT داریم؟ تفاوت انواع NAT در چیست؟ PAT چیست؟ Dynamic NAT چیست؟ IPv4 نسخه چهارم پروتکل اینترنت نسبت به تقاضای فعلی شبکه به لحاظ تعداد IP محدود می باشد. به همین دلیل امکان درنظر گرفتن IP برای تمام تجهیزاتی که به اینترنت می خواهند متصل شود وجود ندارد.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

علاوه بر این محدودیت ، استفاده از IP های معتبر موجود در اینترنت نیاز به پرداخت هزینه است. 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 سرور سایت tosinso

کاربردهای اصلی NAT در کجاست؟

  • Source NAT : امکان ایجاد ارتباط یک دستگاه که دارای Private IP است را به اینترنت فراهم می کند.
  • Destination NAT : امکان ایجاد ارتباط به یک دستگاه که دارای Private IP است را از اینترنت فراهم می کند.

انواع NAT ( چند نوع 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 می تواند ارتباط برقرار کند.

  • سرویس NAT چیست؟

    به زبان ساده سرویس NAT باعث می شود شما بتوانید از یک آدرس IP عمومی برای تعداد بیشتری کامپیوتر بدون آدرس معتبر اینترنتی ، اینترنت بگیرید و به آن را به اشتراک بگذارید.
  • چند نوع NAT وجود دارد؟

    سرویس های NAT یا Network Address Translation ، سرویس PAT یا Port Address Translation و سرویس های Static NAT و Dynamic NAT در خانواده NAT قرار می گیرند.

جعفر قنبری شوهانی
جعفر قنبری شوهانی

مهندس و مدرس زیرساخت و امنیت و مدیر ارشد وب سایت توسینسو

جعفر قنبری شوهانی ، مهندس و مدرس شبکه ، آشنایی من با شبکه برمی گرده به سال 1382 که دوره NT و Novel رو گذروندم و الان بیشتر از 10 ساله سابقه اجرایی در سطح Enterprise (بانک ها ، موسسه مالی ، ادارات دولتی ، سرویس پروایدر) را دارم و در حال حاضر به عنوان مهندس شبکه در شرکت توزیع برق مشهد و به عنوان مدیر ارشد و مدرس شبکه در سایت ToSinSo مشغول به کار هستم. در اکثرا حوزه های شبکه کار کردم و تجربه دارم اما تخصص اصلیم رو در حوزه زیرساخت و امنیت اون میدونم

نظرات