NAT

معرفی NAT

هدف اولیه NAT بدین صورت تعریف شده است که کاربران داخلی سازمان با آدرس غیر اینترنتی صرفا با تعداد محدودی آدرس اینترنتی بتوانند با شبکه اینترنت ارتباط برقرار نمایند بدون اینکه مجبور به استفاده از آدرس های Public باشند. بدین صورت که کاربران شبکه از آدرس های محدوده اختصاصی برای ارتباطات داخلی خود استفاده می کنند و در صورتی که بخواهند با اینترنت ارتباط برقرار کنند، تعداد زیادی کاربر صرفا از یک یا چند آدرس محدود اینترنتی به صورت اشتراکی برای اتصال به اینترنت بهره می برند. بدین ترتیب محدودیت تعداد آدرس IPV4 از بین خواهد رفت.
امروزه NAT دیگر به همین یک کاربرد منتهی نمی شود و هدف آن نیز صرفا رفع محدودیت تعداد آدرس نیست. اینکه کاربران اینترنتی بتوانند با سرور سازمان، که آدرس غیر اینترنتی به آن تخصیص داده شده است، ارتباط برقرار نمایند از دیگر کاربردهای NAT است که هدف از قرار دادن آدرس غیر اینترنتی روی سرور ایجاد امنیت بیشتر برای سرور است. اینکه به کاربران و سرورها آدرس اینترنتی اختصاص داده نمی شود، بدین معنی است که از روی اینترنت دیده نخواهند شد و این یک مزیت امنیتی است.

Dynamic NAT

در Dynamic NAT هر بسته ای که از شبکه inside دریافت شود و آدرس مبدا آن در رنج شبکه inside باشد و مقصد آن باعث شود که در اینترفیس outside ارسال شود مبدا بسته به یک ip از pool تعریف شده تغییر می کند . برای هر ترجمه مبدا آدرس یک نشست جدید ایجاد می شود و state آن نگه داشته می شود بنابراین بسته هایی که از شبکه global دریافت می شوند در نشست مربوط به خود قرار گرفته و طبق آن ترجمه می شوند.

soodar(config)# ip nat pool PNAT44 A.B.C.D [ A.B.C.D ]

می توانید یک ip یا در صورت لزوم با استفاده از ip دوم ، یک رنج ip را به عنوان pool اضافه کنید نام رول اضافه شده هم در این مثال PNAT44 تنظیم شده است .

برای توضیح بهتر در مثال زیر یک نمونه Dynamic NAT را تنظیم می کنیم:

در شکل زیر دو کاربر مختلف با آدرس های غیر اینترنتی 192.168.1.10 و 192.168.10.20 قصد دارند به سروری که در اینترنت قرار دارد وصل شوند . با استفاده از Dynamic NAT در روتر سودار این ارتباط را فراهم می کنیم :‌

Nat4

اینترفیس ge1 که در سمت public و اینترنت قرار دارد به عنوان outside و اینترفیس ge2 که در سمت private قرار دارد را به عنوان inside انتخاب می کنیم :

soodar1(config)# int ge1 
soodar1(config-if)#  ip nat outside
soodar1(config)# int ge2
soodar1(config-if)#  ip nat inside

سپس یک نام برای Nat وارد کرده و یک pool که یک رنج ip می باشد را در nat تنطیم می کنیم :

soodar1(config)# ip nat pool nat1 145.1.2.10 145.1.2.20


نکته

بدیهی است باید ارتباط SooDar1 با Server توسط پروتکل های مسیریابی از طریق اینترنت برقرار باشد .

بررسی ارتباط NAT

اکنون تنظیمات NAT به پایان رسیده است و کاربران user1,user2 می توانند با ip محلی خود به سرور وصل شوند . البته در سمت اینترنت هیچ دسترسی به کاربران وجود ندارد



حذف NAT

برای حذف NAT می توانید به شکل زیر عمل کنید :

soodar1(config)# no ip nat pool nat1 
soodar1(config)# int ge1 
soodar1(config-if)# no  ip nat outside
soodar1(config)# int ge2
soodar1(config-if)#  no ip nat inside

فعال کردن log های NAT

با دستور زیر می توانید Log های مربوط به nat را فعال کنید:

soodar1# debug nat44 event

STATIC NAT

در این حالت یک رول nat برای یک ip خاص تعریف می شود .

ip nat inside source static A.B.C.D A.B.C.D
  1. اگر مبدا بسته با شبکه inside در nat تعریف شده مطابقت داشته باشد و از شبکه inside دریافت شود مبدا بسته با ip جدید تعریف شده جایگزین خواهد شد . مثال :
soodar(config)# ip nat inside source static 192.168.1.10 85.20.1.1
soodar(config)# interface ge0
soodar(config-if)# ip nat inside
soodar(config)# interface ge1
soodar(config-if)# ip nat outside

با این تنظیم ترافیک ورودی به اینترفیس ge0 که در رنج شبکه 192.168.1.10 باشد را به ip جدید 85.20.1.1 ترجمه می کند و مبدا بسته را این ip جدید قرار می دهد .(source nat)

  1. اگر مقصد بسته دریافتی در رنج شبکه outside باشد و در اینترفیس outside دریافت شود مقصد شبکه به آدرس شبکه local (inside) ترجمه می شود مثال :
soodar(config)# ip nat inside source static 85.20.1.1 192.168.1.10
soodar(config)# interface ge0
soodar(config-if)# ip nat outside
soodar(config)# interface ge1
soodar(config-if)# ip nat inside

هر ترافیکی که در اینترفیس ge0 که اینترفیس outside است دریافت شود و مقصد آن 85.20.1.1 باشد مقصد بسته به 192.168.1.10 ترجمه می شود . (destination nat)

Protocol NAT

گاهی اوقات لازم است که یک پروتکل خاص روی یک پورت خاص را ترجمه کنیم که در این حالت تنظیمات به شکل زیر خواهد بود :

ip nat inside source static <tcp|udp> A.B.C.D (1-65535) A.B.C.D (1-65535)

این تنظیم یک ورودی به جدول ایستا nat اضافه می کند که اولین ip و پورت مربوط به شکل داخلی (inside) و دومین ip و پورت مربوط به شبکه خارجی (output) می باشد. نحوه تنظیم source nat و destinatio nat همانند بخش static nat می باشد .

مثال ۱ :

soodar(config)# ip nat inside source static tcp 192.168.1.10 444 85.20.1.1 666
soodar(config)# interface ge0
soodar(config-if)# ip nat inside
soodar(config)# interface ge1
soodar(config-if)# ip nat outside

ترافیک ورودی در اینترفیس ge0 با آدرس 192.168.1.10:444 به آدرس 85.20.1.1:666 ترجمه خواهد شد (source nat)

مثال ۲ :

soodar(config)# ip nat inside source static tcp 85.20.1.1 666 192.168.1.10 444
soodar(config)# interface ge0
soodar(config-if)# ip nat outside
soodar(config)# interface ge1
soodar(config-if)# ip nat inside

ترافیک ورودی در اینترفیس ge0 (شبکه global) با آدرس 85.20.1.1:666 به آدرس 192.168.1.10:444 ترجمه خواهد شد (destination nat)