NAT یکی از ابزارهای قدرتمند دنیای IT است که دقیقا همان کاری را انجام می دهد که از اسم آن بر می آید, به وسیله NAT میتوانیم آدرسهای یک شبکه را به یک شبکه دیگر ترجمه کنیم.
NAT تقریبا در تمامی سیستم عاملها و روتر ها قابل انجام است که هر کدام شیوه و روش خود را دارند.
برای همه متخصصین واضح است که قوی ترین روتر های دنیا Cisco هستند و تقریبا 80 درصد از بستر اینترنت بر روی دستگا های Cisco بنا شده اند. در این آموزش به توضیح مراحل انجام NAT به صورت عملی بر روی سخت افزارهای سیسکو می پردازیم.
Network Address Translation
NAT یکی از ابزارهای قدرتمند دنیای IT است که دقیقا همان کاری را انجام می دهد که از اسم آن بر می آید, به وسیله NAT میتوانیم آدرسهای یک شبکه را به یک شبکه دیگر ترجمه کنیم.
NAT تقریبا در تمامی سیستم عاملها و روتر ها قابل انجام است که هر کدام شیوه و روش خود را دارند.
برای همه متخصصین واضح است که قوی ترین روتر های دنیا Cisco هستند و تقریبا 80 درصد از بستر اینترنت بر روی دستگا های Cisco بنا شده اند. در این آموزش به توضیح مراحل انجام NAT به صورت عملی بر روی سخت افزارهای سیسکو می پردازیم.
از کاربردهای NAT می توان به موارد زیر اشاره کرد:
• ترجمه IP های Private به Public یا بلعکس
• تغییر مرکز سرویس دهنده اینترنت بدون نیاز به تغییر IP ها داخلی
• حفاظت از یک شبکه حساس در مقابل برخی حملات خارجی
• تغییر پورت مقصد پکتها برای کاربران داخلی به صورت transparent
Static NAT
این نوع NAT به صورت یک به یک عمل میکند. بدین معنی که یک عدد inside-localرا به یک outside-global ترجمه می کند. کاربرد این نوع NAT وقتی است که میخواهیم یک private ip را به یک public ip تبدیل کنیم.
با مثالی عملی این بیشتر توضیح می دهیم.
در مثال فوق یک روتر سیسکو داریم که 2 عدد اینترفیس دارد. یکی سریال که به اینترنت متصل و دومی اترنت که به شبکه داخلی ما وصل شده است.
ما میخواهیم آدرس 10.1.1.1را به 11.11.11.254ترجمه کنیم.
بر روی روتر سیسکو چنین عمل میکنیم:
وارد محیط کانفیگ میشویم
config terminal
با این دستور یک NAT استاتیک انجام میدهیم
ip nat inside source static 10.1.1.1 11.11.11.254
وارد اینترفیس سریال میشویم
interface serial0
این اینترفیس را به عنوان خروجی NAT مشخص میکنیم
ip nat outside
از اینترفیس خارج می شویم
exit
وارد اینترفیس اترنت میشویم
interface Ethernet0
اینترفیس را به عنوان ورودی NAT مشخص میکنیم
ip nat inside
از اینترفیس و مد کانفیگ خارج میشویم
هم اکنون با ست کردن آدرس 10.1.1.1و گیت وی 10.10.10.10روی کلاینت میتوانیم به اینترنت دسترسی داشته باشیم.
Dynamic NAT
Dynamic NAT نیز همانند Static NAT است اما با این تفاوت که در NAT به صورت Dynamic میتوانیم یک یا چندین IP را به یک یا چندین IP ترجمه کنیم.
اما چرا چندین IP به چندین IP؟
فرض کنید شما Admin یک ISP هستید و به دلیل کمبود IP نیاز به NAT دارید. بر فرض مثال شما دارای 10 Valid IP و 100 Invalid IP که باید به آنها ترجمه کنید. ممکن است تا کنون برای شما پیش آمده باشد که یوزری تماس گرفته و اعلام نا رضایتی کند از اینکه مدتهای طولانی برای دانلود یک فایل از سایت Rapidshare.com باید انتظار بکشد. این به دلیل این است که سایت Rapidshare.com تمامی یوزرهای شما را به چشم یک کاربر میبیند. برای رفع این مشکل میتوانیم 10 آدرس معتبر را به 100 آدرس غیر معتبر ترجمه کنیم که تا حدود زیادی مشکل را حل خواهد کرد.
در Dynamic NAT معمولا آدرسهای معتبر را به وسیله IP nat pool مشخص و آدرسهای غیر معتبر را توسط یک access-list مشخص میکنیم. دلیل استفاده از access-list ایجاد امنیت بیشتر است.
حال با یک مثال به نحوه ایجاد یک Dynamic NAT واقف می شویم:
یک روتر سیسکو داریم که از یک سو توسط اینترفیس سریال به اینترنت متصل گردیده که دارای رنج IP 217.219.109.128/25 و از سوی دیگر توسط اینترفیس اترنت به شبکه داخلی با رنج 172.16.0.0/24 متصل شده است.
آدرس اینترفیس سریال را 217.219.109.129 و آدرس اینترفیس اترنت را 172.16.0.1 قرار میدهیم.
config terminal
ابتدا برای آدرسهای Valid خود یک Pool تهیه می کنیم
ip nat pool pool1 217.219.109.130 217.219.109.254 prefix-length 25
Prefix-length در مثال بالا همان subnet mask آدرسهای ما می باشد
حال access-list مربوط به آدرسهای داخلی را می نویسیم
access-list 8 permit 172.16.0.0 0.0.0.255
دستور اصلی NAT را می نویسیم
ip nat inside source list 8 pool pool1
که در دستور فوق عدد 8 بیانگر آدرسهای داخلی و pool1 مشخص کننده آدرسهای خارجیست
interface serial0
اینترفیس را به عنوان خروجی NAT مشخص میکنیم
ip nat outside
از اینترفیس خارج می شویم
exit
وارد اینترفیس اترنت میشویم
interface ethernet0
اینترفیس را به عنوان ورودی NAT معرفی میکنیم
ip nat inside
Dynamic NAT به صورت Overload
PAT
ممکن است ما به شرایطی بر بخوریم که تنها 1 عدد آدرس Valid در اختیار داریم و اجبار به NAT کردن آدرس مذکور به چندین آدرس را داریم. در چنین شرایطی باید از قابلیت Overload استفاده کنیم.
در این حالت روتر برای ورود و خروج هر آدرس Invalid یک پورت مجزا در نظر می گیرد که تمامی آنها را در جدولی که درون خود تشکیل می دهد به ثبت می رساند. به این ترتیب هر پکت که از روتر به مقصد اینترنت خارج می شود دقیقا در هنگام بازگشت به همان آدرس Invalid که صادر کننده آن است باز میگردد. هر یک خط در جدول مذکور یک کانکشن به حساب می آید. اگر دقت کنید بر روی کاتالوگ بعضی سخت افزارها محدودیتی برای تعداد این کانکشن ها قائل می شوند.
در مثال زیر نحوه تنظیم یک روتر به صورت Overload را توضیح می دهیم :
دیاگرام خود را مقداری تغییر می دهیم. در این مثال ما روتر خود را که دارای 3 اینترفیس است به 3 شبکه متصل میکنیم. پورت سریال که به اینترنت متصل و دارای آدرس 80.191.120.8/26 است . اینترفیس ethernet0 به شبکه داخلی اول ما متصل و دارای آدرس 172.16.100.1/24 میباشد و در آخر اینترفیس ethernet1 را داریم که دارای آدرس 192.168.30.1/24 است.
میخواهیم آدرس 80.191.120.8 را به دو سابنت داخلی NAT کنیم:
وارد مد کانفیگ می شویم
config terminal
یک pool برای آدرس Valid تهیه میکنیم که تنها 1 آدرس در آن وجود دارد
ip nat pool ovrld 80.191.120.8 80.191.120.8 netmask 255.255.255.192
با access-list زیر آدرسهای 2 رنج داخلی خود را به access-list شماره 3 نسبت می دهیم
access-list 3 permit 172.16.100.0 0.0.0.255
access-list 3 permit 192.168.30.0 0.0.0.255
دستور اصلی NAT را می نویسیم که کلمه Overload میبایست در آخر آن اضافه شود
ip nat inside source list 3 pool ovrld overload
اینترفیس خروجی NAT را مشخص میکنیم
interface serial0
ip nat outside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم
interface ethernet0
ip nat inside
exit
این اینترفیس را به عنوان ورودی NAT مشخص میکنیم
interface ethernet1
ip nat inside
exit
هم اکنون آدرس 80.191.120.8 عمل NAT را برای هر دو سابنت ما انجام می دهد.
موضوع
افزودن دیدگاه جدید