مترجم آدرس شبکه در ساده ترین حالتش بر روی مسیر یابی که دو شبکه را به هم متصل میکند عمل میکند؛ یکی از این شبکه ها (تعین شده بعنوان داخلی ) بصورت خصوصی یا غیر متداول آدرس دهی میشود که باید این آدرس به یک آدرس قانونی و متداول تبدیل شودقبل از اینکه بسته های اطلاعاتی به سمت شبکه دیگر(تعیین شده بعنوان شبکه بیرونی ) فرستاده شود . ترجمه مرتبط با مسیر یابی عمل میکند ، بطوریکه اگر ترجمه مطلوب باشد مترجم آدرس شبکه براحتی میتواند بر روی مسیر یاب یک سرویس گیرنده اینترنت فعال شود .
استفاده از وسایل ترجمه در RFC 1631 ( request for comment ) ( درخواست برای توضیح ) آمده است - شیوه ترجمه آدرس در مسیر یاب . هدف مترجم آدرس شبکه ایجاد یک عاملیت برای شبکه خصوصی است که عموماً آدرسهای منحصر بفردی دارد و مترجم آدرس شبکه نیز در آن موجود نیست .RFC 1631 یک زیر مجموعه از اصول مترجم آدرس شبکه های IOS سیسکو را ارائه میکند .
مترجم IOS سیسکو ترجمه دوسویه را از طریق استفاده همزمان از منابع داخلی و خارجی ترجمه پشتیبانی میکند .
Terminology : واژگان فنی
شکل 1 – مفاهیم مترجم آدرس شبکه :
Inside ( دا خلی ) :
مجموعه ای از مطالب شبکه برای ترجمه .
Outside ( خارجی ) :
تمام آدرسهای دیگر .معمولاً اینها آدرسهای معتبر در اینترنت هستند .
شکل 2 – ( واژه های فنی مترجم آدرسهای شبکه )
( NAT terminology ) « آدرس دهی داخلی » :
محلی داخلی (inside local ) :
آدرس IP پیکر بندی شده نسبت داده شده به یک میزبان در داخل شبکه .آدرس ممکن است بصورت سراسری منحصربفرد باشد ، که خارج از محدوده آدرس تعریف شده در RFC 1918 اختصاص یافته ، یا باید رسماً به یک سازمان دیگر اختصاص داده شود .
سراسری داخلی ( Inside global ) :
آدرس IP یک میزبان داخلی همانگونه که در یک شبکه خارجی ظاهر میشود، “ آدرس ترجمه شده “ . آدرسها می توانند از یک محدوده آدرس سراسری منحصر بفرد اختصاص داده شوند ، که بطور نمونه بوسیله ISP فراهم میشود ( اگر سازمان به اینترنت سراسری وصل شده باشد ) .
شکل 3 – ( واژه های فنی مترجم آدرسهای شبکه )
( NAT terminology ) « آدرس دهی خارجی » :
● محلی خارجی : آدرس IP میزبان خارجی همانطور که در داخل شبکه ظاهر میشود . این آدرسها اگر مطلوب باشند میتوانند از محدوده تعریف شده در RFC 1918 اختصاص داده شوند .
● سراسری خارجی : آدرس IP پیکربندی شده نسبت داده شده به یک شبکه در شبکه خارجی
مدخل ترجمه ساده :
مدخل ترجمهای که یک آدرس IP را به دیگری نگاشت میکند .
مدخل ترجمه گسترده :
مدخل ترجمهای که یک جفت آدرس IP و پورت را به دیگری نگاشت میکند .
ویژگیهای اصلی :
• مترحم آدرسهای ثابت ( ایستا ) – Telnet 207.33.94.1
یک کاربر میتواند یک نگاشت یک به یک بین آدرسهای محلی
وسراسری برقرار کند .
کاربران همچنین میتوانند ترجمه های آدرس استاتیک را به
سطوح پورت پیکربندی کنند . و سایر آدرسهای IP را برای
ترجمههای دیگر استفاده کنند .
• مترحم آدرسهای پویا( محرک )
کاربر میتواند نگاشت پویا بین آدرسهای محلی و سراسری برقرار کند .
این کار بوسیله توصیف آدرسهای محلی که ترجمه شده اند ومجموعه آدرسهای
اختصاص داده شده محلی و سراسری انجام میگیرد .
• میزبان همتا ( نظیر) :
توانایی پیکربندی مترجم آدرس شبکه برای اینکه قسمت میزبان همسان ازآدرس
IP را انتساب دهد و فقط قسمت پیشوند شبکه از آدرس IP را ترجمه کند .این
زمانی مفید است که شما از قسمت میزبان بعنوان مفهومی برای تشخیص دادن
استفاده می کنید و یا اینکه از تعدادی کاربر منحصربفرد استفاده میکنید
• مترحم آدرس پورت ( PAT ) :
شکل 4 – مفاهیم اسا سی ترجمه آدرس پورت :
شکل 5 – پورت منبع منحصربفرد به ازای هر مدخل ترجمه :
چندین آدرس شبکه میتواند به یک یا تعداد کمی آدرس خارجی تبدیل شود که این کار با استفاده از یک ویژگی بنام ترجمه آدرس پورت ( PAT ) انجام میگیرد ، که ارجاع به سربار شده است و یک زیر مجموعه از عاملیت مترجم آدرس شبکه است .
مترجم آدرس پورت در آدرسهای IP سراسری داخلی از شماره پورت منبع منحصر بفردی استفاده میکند ، برای اینکه بین ترجمه ها تمایز قائل شود . چون هر شماره پورت بصورت 16 بیتی رمز گذاری میشود ، کل شماره میتواند از لحاظ فرض علمی به اندازه 65535 برای هر آدرس Ip باشد .مترجم آدرس پورت سعی می کند پورتهای منبع اصلی باقی نگه دارد ، اگر این پورتهای منبع اختصاص داده شده باشند مترجم آدرس پورت سعی میکند اولین شماره پورت در دسترسی را که از گروههای پورت مناسبِ 0-5111, 512-1023 or 1024-65535 شروع میشود پیدا کند . اگر هنوز هیچ پورتی از گروههای مناسب در دسترس نباشد و بیش از یک آدرس IP پیکربندی شده باشد ، مترجم آدرس پورت به آدرس IP بعدی حرکت میکند وسعی میکند پورت منبع اصلی را دوباره اختصاص دهد . این روند تا زمانی ادامه پیدا میکند که آدرس IP و پورت در دسترسی تمام شود .
● ترجمه دوار آدرس مقصد :
یک شکل پویای ترجمه مقصد می تواند برای بعضی از رفت و آمد های خارج به داخی پیکربندی شود . هر بار که یک نگاشت انجام میگیرد ، یک تطبیق آدرس مقصد یکی از آنها به یکی در لیست دسترسی ، که با یک آدرس از منبع دوار جایگزین خواهد شد . تخصیص انجام شده بر اساس نوبتی گردشی ، فقط زمانی شکل میگیرد که یک ارتباط جدید از خارج به داخل باز شود . تمام عبور و مرور های که بر اساس قوانین TCP نباشند بدون ترجمه عبور داده میشوند .(مگر اینکه ترجمه های دیگر انجام گیرد ).
این ویژگی طراحی شده است تا ترجمه پروتکل را قادر سازد عمل توزیع را بارگذاری کند . این ویژگی نه طراحی شده و نه بعنوان یک جانشین تکنولوژی برای محصول مدیر محلی سیسکو مطرح است . ترجمه چرخشی آدرس مقصد نباید استفاده شود تا فراهم کند سرویس وب متوازن بارگذاری شود ، زیرا مانند DNS وانیلا چیزی در باره قابلیت سرویس نمیداند ، در نتیجه اگر یک سرویس وب خارج از خط باشد ، این ویژگی ادامه پیدا خواهد کرد تا درخواستها را به سرویس دهنده ای که کار نمی کند بفرستد .
دستورات پیکربندی
دستورات پیکربندی واسط
ip nat { inside | outside }
واسطها باید مشخص شوند که در داخل قرار دارند یا در خارج . فقط بسته های رسیده از واسط علامت گذاری شده موضوع ترجمه خواهد بود .
دستورات پیکربندی سراسری
تعریف یک منبع
ip nat pool { netmask
| prefix-length } [ type { rotary } ]
یک منبع آدرس با استفاده از آدرس شروع و خاتمه وnetmas تعریف میکند . این آدرسها هر وقت لازم باشند اختصاص مییابند .
فعالسازی ترجمه آدرسهای منبع داخلی
ip nat outside source { list pool | static }
شکل اول (list..pool.. ) ترجمه پویا را فعال میکند . بسته ها از آدرسهایی که آنها را با لیست اولیه منطبق میکند ، با استفاده از آدرسهای اختصاص داده شده از منبع نامبرده ترجمه شده اند .
پیکربندی مدت زمان ترجمه
ip nat translation timeout
ترجمه های پویا بعد از یک مدت که استفاده نشوند تمام میشوند . وقتی که ترجمه پورت پیکربندی نشده ، مدخل ترجمه بعد از 24 ساعت تمام میشود . این زمان میتواند با دستور بالا تنظیم شود و یا با تغییراتی با استفاده از دستورات زیر :
ip nat translation udp-timeout
ip nat translation dns-timeout
ip nat translation tcp-timeout
ip nat translation finrst-timeout
دستورات اجرایی :
نشان دادن ترجمه های فعال :
show ip nat translations [ verbose ]
نشان دادن ترجمه های استاتیک ( ثابت ) :
show ip nat statistics
پاک کردن ترجمه های پویا :
clear ip nat translation *
تمام ترجمه های پویا را پاک میکند .
clear ip nat translation
پاک کردن یک ترجمه اولیه .
clear ip nat translation
پاک کردن یک ترجمه پویای مشخص .
اشکال زدایی :
debug ip nat [ ] [ detailed ]
مثالهای پیکربندی :
پیکربندی نمونه زیربین میزبانهای داخلی آدرس دهی شده از شبکه های 192.168.1.0 یا 192.168.2.0 به شبکه سراسری منحصر بفرد 171.69.233.208/28 ترجمه میکند :
ip nat pool net-20 171.69.233.208 171.69.233.223 netmask 255.255.255.240
ip nat inside source list 1 pool net-20
!
interface Ethernet0
ip address 171.69.232.182 255.255.255.240
ip nat outside
!
interface Ethernet1
ip address 192.168.1.94 255.255.255.0
ip nat inside
!
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 1 permit 192.168.2.0 0.0.0.255
مثال پیکربندی بعدی بین میزبانهای آدرسدهی شده داخلی از شبکه 9.114.11.0 به شبکه منخصر بفرد سراسری 171.69.233.208/28 را ترجمه میکند . بسته هایی از میزبانهای آدرسدهی شده از شبکه 9.114.11.0 ( شبکه واقعی 9.114.11.0 ) ترجمه شده اند تا بنظر برسند از شبکه 10.0.1.0/24 بوده اند