NAT
NAT مخفف Network Address Translation است. این یک تکنیک در شبکههای کامپیوتری است که به دستگاههای شبکه خصوصی اجازه میدهد به منابع شبکه عمومی، مانند اینترنت، دسترسی داشته باشند. NAT آدرسهای IP مبدأ بستههای خروجی و آدرسهای IP مقصد بستههای ورودی را تغییر میدهد و به آنها اجازه میدهد به درستی بین شبکههای خصوصی و عمومی مسیریابی شوند.
NAT با نگاشت آدرسهای IP خصوصی به آدرسهای IP عمومی کار میکند. هنگامی که یک دستگاه در شبکه خصوصی یک بسته را به یک دستگاه در شبکه عمومی ارسال میکند، دستگاه NAT آدرس IP مبدأ بسته را با آدرس IP عمومی خود جایگزین میکند. هنگامی که یک بسته از یک دستگاه در شبکه عمومی به یک دستگاه در شبکه خصوصی ارسال میشود، دستگاه NAT آدرس IP مقصد را با آدرس IP خصوصی دستگاه مقصد جایگزین میکند.
NAT میتواند برای اجازه دادن به چندین دستگاه در یک شبکه خصوصی برای اشتراک یک آدرس IP عمومی استفاده شود. این به عنوان NAT overload یا Port Address Translation (PAT) شناخته میشود. در این سناریو، دستگاه NAT پورتهای مبدأ بستههای خروجی و پورتهای مقصد بستههای ورودی را ردیابی میکند و به چندین دستگاه اجازه میدهد همزمان از همان آدرس IP عمومی استفاده کنند.
NAT همچنین میتواند برای ارائه امنیت با پنهان کردن آدرسهای IP خصوصی دستگاهها در یک شبکه از شبکه عمومی استفاده شود. این به عنوان NAT hiding یا NAT firewalling شناخته میشود. در این سناریو، دستگاه NAT فقط بستههای ورودی که در پاسخ به بستههای خروجی از دستگاههای شبکه خصوصی هستند را اجازه میدهد. این از رسیدن ترافیک ورودی ناخواسته به دستگاههای شبکه خصوصی جلوگیری میکند.
SoodarOS از نوع PNAT استفاده میکند که Port و Address را تغییر میدهد.
معرفی NAT
هدف اولیه NAT بدین صورت تعریف شده است که کاربران داخلی سازمان با آدرس غیر اینترنتی صرفا با تعداد محدودی آدرس اینترنتی بتوانند با شبکه اینترنت ارتباط برقرار نمایند بدون اینکه مجبور به استفاده از آدرسهای Public باشند. بدین صورت که کاربران شبکه از آدرسهای محدوده اختصاصی برای ارتباطات داخلی خود استفاده میکنند و در صورتی که بخواهند با اینترنت ارتباط برقرار کنند، تعداد زیادی کاربر صرفا از یک یا چند آدرس محدود اینترنتی به صورت اشتراکی برای اتصال به اینترنت بهره میبرند. بدین ترتیب محدودیت تعداد آدرس IPv4 از بین خواهد رفت.
امروزه NAT دیگر به همین یک کاربرد منتهی نمیشود و هدف آن نیز صرفا رفع محدودیت تعداد آدرس نیست. اینکه کاربران اینترنتی بتوانند با سرور سازمان، که آدرس غیر اینترنتی به آن تخصیص داده شده است، ارتباط برقرار نمایند از دیگر کاربردهای NAT است که هدف از قرار دادن آدرس غیر اینترنتی روی سرور ایجاد امنیت بیشتر برای سرور است. اینکه به کاربران و سرورها آدرس اینترنتی اختصاص داده نمیشود، بدین معنی است که از روی اینترنت دیده نخواهند شد و این یک مزیت امنیتی است.
NAT Static Mapping
یک نگاشت NAT استاتیک یک نگاشت یک به یک از یک آدرس IP عمومی به یک آدرس IP خصوصی است که به یک میزبان داخلی اجازه میدهد با یک آدرس IP عمومی از شبکه عمومی قابل دسترسی باشد. با یک نگاشت NAT استاتیک، هر ترافیک ورودی که برای آدرس IP عمومی مقصد است، به طور خودکار به آدرس IP خصوصی مربوطه ارسال میشود.
نگاشتهای NAT استاتیک همچنین میتوانند برای ترجمه پورتهای TCP یا UDP خاص پیکربندی شوند، که به چندین میزبان داخلی اجازه میدهد یک آدرس IP عمومی را به اشتراک بگذارند.
Address only NAT
در این حالت، فقط آدرس به آدرس داده شده ترجمه میشود. بسته به جهت جریان (in2out یا out2in)، مبدأ یا مقصد بسته تغییر میکند.
هنگامی که یک بسته حاوی source مشابه local address از یک اینترفیس input عبور میکند، source آن با global address جایگزین میشود. هنگامی که یک بسته حاوی destination مشابه global address از یک اینترفیس output عبور میکند، destination آن با local address جایگزین میشود.
- ip nat inside source static A.B.C.D A.B.C.D
یک ورودی نگاشت استاتیک جدید به جدول NAT استاتیک اضافه میکند. اولین 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 را به 85.20.1.1 ترجمه میکند (همچنین به عنوان Source NAT شناخته میشود). هر بستهای که از ge1 میآید و مقصد آن 85.20.1.1 است نیز به 192.168.1.10 ترجمه میشود.
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 با مقصد 192.168.1.10 را به 85.20.1.1 ترجمه میکند (همچنین به عنوان Destination NAT شناخته میشود). هر بستهای که از ge1 میآید و مبدأ آن 85.20.1.1 است نیز به 192.168.1.10 ترجمه میشود.
مثال Static NAT
در حالت static شما برای تک تک IP هایی که باید NAT شوند باید دستی rule اضافه کنید و دیگر به صورت خودکار IP ها توسط NAT اختصاص و تغییر نمییابد. به طور مثال فرض کنید در سناریوی زیر قصد داریم تمامی ترافیکی که از سرور n4 به سمت بیرون میرود را تغییر مبدا انجام دهیم و با IP اینترفیس ge0 در روتر n1 یعنی 200.1.2.1 ارسال شوند.
برای اینکار ابتدا همانند حالت داینامیک سمت شبکه اینترنت را به عنوان nat outside و سمت شبکه local را به عنوان nat inside مشخص میکنیم:

n1# conf t
n1(config)# int ge0
n1(config-if)# ip nat outside
n1(config-if)# q
n1(config)# int ge1
n1(config-if)# ip nat inside
n1(config-if)# q
n1(config)# ip nat inside source static 192.168.100.100 200.1.2.1
با تنظیم بالا NAT به شکل زیر انجام میگیرد:
اگر مبدا بسته با شبکه inside در nat تعریف شده مطابقت داشته باشد و از شبکه inside دریافت شود مبدا بسته با IP جدید (200.1.2.1) تعریف شده جایگزین خواهد شد. با این تنظیم مبدا packet خروجی از اینترفیس ge0 که مبدا آن 192.168.100.100 باشد را به IP جدید 200.1.2.1 ترجمه میکند و مبدا بسته را این IP جدید قرار میدهد (source nat).
اگر مقصد بسته دریافتی برابر با IP اینترفیس outside باشد (200.1.2.1) و در اینترفیس outside دریافت شود مقصد شبکه به آدرس شبکه inside (192.168.100.100) ترجمه میشود. با این تنظیم مقصد packet ورودی به اینترفیس ge0 که destination آن 200.1.2.1 باشد به 192.168.100.100 تغییر خواهد کرد (destination nat).
Protocol NAT
گاهی اوقات نیاز داریم که در مورد NAT خود دقیقتر باشیم و یک پروتکل مشخص را در یک پورت تعریف شده ترجمه کنیم. بنابراین هنگام تعریف یک ورودی، پروتکل و پورتهای مورد نظر را معرفی میکنیم. تمام جنبههای دیگر این ورودی (شامل رفتار) همانند Address only NAT ساده است.
- ip nat inside source static <tcp|udp> A.B.C.D (1-65535) A.B.C.D (1-65535)
یک ورودی نگاشت استاتیک جدید به جدول NAT استاتیک اضافه میکند. اولین IP یک آدرس محلی است و عدد بعد از آن پورت آن است. دومین IP یک آدرس عمومی است و عدد بعد از آن پورت آن است.
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 شناخته میشود). هر بستهای که از ge1 میآید و مقصد آن 85.20.1.1:666 است نیز به 192.168.1.10:444 ترجمه میشود.
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 با مقصد 192.168.1.10:444 را به 85.20.1.1:666 ترجمه میکند (همچنین به عنوان Destination NAT شناخته میشود). هر بستهای که از ge1 میآید و مبدأ آن 85.20.1.1:666 است نیز به 192.168.1.10:444 ترجمه میشود.
مثال Protocol NAT
در این حالت همان static nat مثال قبل استفاده میشود با این تفاوت که کل ترافیک NAT نمیشود بلکه دقیق مشخص میکنیم چه protocol و چه port ی را باید 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 و destination nat همانند بخش static nat میباشد.
مثال ۱:

n1# conf t
n1(config)# int ge0
n1(config-if)# ip nat outside
n1(config-if)# q
n1(config)# int ge1
n1(config-if)# ip nat inside
n1(config-if)# q
n1(config)# ip nat inside source static tcp 192.168.100.100 443 200.1.2.1 443
بدین ترتیب ترافیک https دریافتی در اینترفیس ge0 با تغییر مقصد به 192.168.100.100 به شبکه inside ارسال میشود و همچنین ترافیک خروجی https از اینترفیس ge0 که مبدا 192.168.100.100 داشته باشد با تغییر مبدا به 200.1.2.1 ارسال خواهد شد.
Dynamic NAT
در dynamic NAT، مبدأ هر بسته خروجی از یک اینترفیس input و مقصد به یک اینترفیس output به یک IP ارائه شده توسط یک IP pool ترجمه میشود.
یک نشست جدید برای هر source translation ایجاد میشود و وضعیت آن نگه داشته میشود. بنابراین بستههایی که از یک اینترفیس output میآیند و یک نشست مطابق دارند، مقصد آنها با توجه به اطلاعات نشست تغییر میکند.
IP pool
یک IP NAT (Network Address Translation) pool مجموعهای از آدرسهای IP عمومی است که میتواند آدرسهای IP خصوصی را به آدرسهای IP عمومی نگاشت کند. هنگامی که یک آدرس IP خصوصی نیاز به ارتباط با یک دستگاه خارج از شبکه محلی خود دارد، NAT برای ترجمه آدرس IP خصوصی به یک آدرس IP عمومی استفاده میشود و به ارتباط اجازه میدهد انجام شود.
یک NAT pool شامل یک محدوده از آدرسهای IP عمومی است که برای ترجمههای NAT استفاده میشوند. روتر یک آدرس IP را از pool برای هر ترجمه انتخاب میکند. انتخاب با استفاده از روشهای انتخاب تصادفی انجام میشود.
IP NAT pools معمولاً در محیطهای شبکه که از آدرسهای IP خصوصی به صورت داخلی استفاده میکنند، مانند آنهایی که از فضای آدرس RFC 1918 استفاده میکنند، استفاده میشوند. همچنین در مواردی که چندین دستگاه نیاز به اشتراک تعداد محدودی از آدرسهای IP عمومی دارند، مانند یک شبکه کوچک اداری یا خانگی، استفاده میشوند. با استفاده از یک IP NAT pool، بسیاری از دستگاهها میتوانند از یک آدرس IP عمومی برای ارتباط با شبکههای خارجی استفاده کنند.
- ip nat pool PNAT44 A.B.C.D [ A.B.C.D ] [type <normal|lb>]
یک IP (یا یک محدوده IP اگر IP دوم ارائه شود) را به یک nat pool با نام PNAT44 اضافه میکند. یک pool حاوی یک IP (یا یک محدوده IP) ایجاد میکند. دو نوع pool وجود دارد: normal و load-balanced. نوع normal پیشفرض است و یک pool ساده از آدرسهای IP برای ترجمههای NAT ارائه میدهد. نوع lb (load-balanced) یک pool از آدرسهای IP ایجاد میکند که میتواند برای load balancing بین چندین سرور یا میزبان استفاده شود.
soodar(config)# ip nat pool p1 1.1.1.1
soodar(config)# ip nat pool p2 2.1.1.1 2.1.1.10
- ip nat inside source list <ACL-NAME> pool <POOL-NAME> [vrf VRF]
این دستور برای پیکربندی ترجمه آدرس شبکه (NAT) برای ترافیک خروجی از یک شبکه داخلی استفاده میشود. این دستور به روتر میگوید که آدرس IP مبدأ بستههای خروجی را که با ACL مشخص شده مطابقت دارند، با یک آدرس IP از pool مشخص شده جایگزین کند.
<ACL-NAME>: نام ACL که ترافیکهایی که باید NAT شوند را مشخص میکند.<POOL-NAME>: نام pool که آدرسهای IP برای ترجمه از آن انتخاب میشوند.vrf VRF: (اختیاری) اگر کلمه کلیدیvrf VRFمشخص شود، VRF مشخص شده استفاده خواهد شد.
- ip nat inside source list <ACL-NAME> interface <INTERFACE-NAME> [vrf VRF]
این دستور مشابه دستور قبلی است با این تفاوت که به جای استفاده از pool، از IP اینترفیس استفاده میکند.
Note
در حالت استفاده از interface به جای pool از اولین IP روی اینترفیس برای pool استفاده میشود.
مثال Dynamic NAT
برای توضیح بهتر در مثال زیر یک نمونه Dynamic NAT را تنظیم میکنیم:
در شکل زیر دو کاربر مختلف با آدرسهای غیر اینترنتی 192.168.1.10 و 192.168.10.20 قصد دارند به سروری که در اینترنت قرار دارد وصل شوند. با استفاده از Dynamic NAT در روتر سودار این ارتباط را فراهم میکنیم:

اینترفیس 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 POOL1 200.1.2.10 200.1.2.10
در آخرین مرحله با تعریف یک ACL مشخص میکنیم که چه ترافیکهایی باید NAT شوند (البته در اینجا همه ترافیک را NAT میکنیم):
soodar1(config)# ip access-list nat-acl
soodar1(config-acl)# permit any any
soodar1(config-acl)# q
soodar1(config)# ip nat inside source list nat-acl pool POOL1
استفاده از interface به جای تعریف pool
در اینجا میتوانیم تنظیم را به شکل دیگر نیز انجام دهیم و به جای تعریف pool از interface استفاده کنیم تنظیمات به شکل زیر تغییر خواهد کرد:
soodar1(config)# int ge1
soodar1(config-if)# ip nat outside
soodar1(config)# int ge2
soodar1(config-if)# ip nat inside
soodar1(config-if)# q
soodar1(config)# ip access-list nat-acl
soodar1(config-acl)# permit any any
soodar1(config-acl)# q
soodar1(config)# ip nat inside source list nat-acl interface ge1
Load Balancing with NAT
NAT load balancing یک تکنیک است که برای توزیع ترافیک ورودی در چندین سرور در یک شبکه استفاده میشود. این با پیکربندی یک روتر برای انجام NAT با load balancing به دست میآید.
NAT load balancing با اختصاص یک آدرس IP عمومی به یک گروه از آدرسهای IP خصوصی در شبکه کار میکند. هنگامی که ترافیک ورودی به روتر میرسد، روتر آدرس IP مقصد و شماره پورت را بررسی میکند. آن را با استفاده از یک الگوریتم round-robin به یکی از آدرسهای IP خصوصی در pool نگاشت میکند. سپس روتر NAT را انجام میدهد، آدرس IP مقصد در هدر بسته را با آدرس IP خصوصی انتخاب شده جایگزین میکند و بسته را به سرور مناسب ارسال میکند.
NAT load balancing میتواند برای برنامههای مختلف، مانند وب سرورها، سرورهای ایمیل و سایر برنامههایی که نیاز به دسترسی بالا و مقیاسپذیری دارند، استفاده شود. همچنین به ترافیک از شبکههای خارجی اجازه میدهد به دستگاههای خاص در شبکه شما که پشت یک روتر NAT پنهان شدهاند، دسترسی داشته باشند.
- ip nat inside destination <tcp|udp> A.B.C.D (1-65535) pool PNAT44
این دستور برای پیکربندی load balancing و ترجمه مقصد برای Network Address Translation (NAT) استفاده میشود. این دستور به شما اجازه میدهد یک پروتکل (TCP یا UDP)، یک آدرس IP عمومی، یک شماره پورت مقصد و یک pool از آدرسهای IP سرورهای خصوصی که ترافیک باید به آنها ارسال شود را مشخص کنید.
<tcp|udp>: بخشی از دستور که مشخص میکند ترافیک ورودی از پروتکل TCP یا UDP استفاده میکند.A.B.C.D: بخشی از دستور که آدرس IP عمومی است که ترافیک به آن مقصد است. این آدرس IP عمومی دستگاه در شبکه شما است که میخواهید ترافیک را دریافت کند.(1-65535): بخشی از دستور که شماره پورت مقصد است که ترافیک روی آن دریافت میشود.PNAT44: نام NAT pool که میخواهید برای ترجمه مقصد استفاده کنید. این pool از آدرسهای IP خصوصی برای ارسال ترافیک به سرورها استفاده میشود.
فرض کنید دو وب سرور در شبکه خصوصی خود داریم، با آدرسهای IP 192.168.1.10 و 192.168.1.11، و میخواهیم ترافیک HTTP ورودی را به آنها با استفاده از آدرس IP عمومی 203.0.113.10 load balance کنیم. میتوانیم NAT را با load balancing با استفاده از دستورات زیر پیکربندی کنیم:
ابتدا یک NAT pool با آدرسهای IP وب سرورهای خود ایجاد میکنیم:
soodar(config)# ip nat pool web-servers 192.168.1.10 192.168.1.11 type lb
سپس NAT را برای ترجمه آدرس IP مقصد ترافیک HTTP ورودی به آدرس IP یکی از وب سرورهای خود پیکربندی میکنیم:
soodar(config)# ip nat inside destination tcp 203.0.113.10 80 pool web-servers
NAT Timeouts
به طور پیشفرض، ترجمههای NAT مقادیر timeout خاصی بر اساس پروتکل مورد استفاده دارند. این timeout ها تعیین میکنند که یک ترجمه NAT چقدر فعال میماند قبل از اینکه از جدول NAT حذف شود. مدیران میتوانند این مقادیر timeout را برای بهتر مناسب بودن با نیازهای شبکه خود تغییر دهند.
- ip nat translation icmp-timeout (1-536870)
مقدار timeout برای ترجمههای NAT ICMP را تنظیم میکند. مقدار بر حسب ثانیه مشخص میشود و میتواند از 1 تا 536870 ثانیه باشد.
مقدار
default60 ثانیه است.
- ip nat translation udp-timeout (1-536870)
مقدار timeout برای ترجمههای NAT UDP را تنظیم میکند. مقدار بر حسب ثانیه مشخص میشود و میتواند از 1 تا 536870 ثانیه باشد.
مقدار
default300 ثانیه است.
- ip nat translation syn-timeout (1-536870)
مقدار timeout برای ترجمههای NAT TCP SYN را تنظیم میکند. ترجمههای TCP SYN زمانی ایجاد میشوند که یک اتصال TCP آغاز میشود اما هنوز به طور کامل برقرار نشده است. مقدار بر حسب ثانیه مشخص میشود و میتواند از 1 تا 536870 ثانیه باشد.
مقدار
default240 ثانیه است.
- ip nat translation tcp-timeout (1-536870)
مقدار timeout برای ترجمههای NAT TCP برقرار شده را تنظیم میکند. مقدار بر حسب ثانیه مشخص میشود و میتواند از 1 تا 536870 ثانیه باشد.
مقدار
default7440 ثانیه است.
Put Interface Behind NAT
- ip nat inside
یک اینترفیس را به عنوان اینترفیس NAT inside تعریف میکند.
- ip nat outside
یک اینترفیس را به عنوان اینترفیس NAT outside تعریف میکند.
NAT Forwarding
هنگامی که یک بسته به یک اینترفیس inside یا outside میرسد، Dataplane به دنبال یک ترجمه برای استفاده یا ایجاد میگردد. اگر هیچ ترجمهای پیدا نشود، بسته drop میشود. مدیر میتواند این رفتار را تغییر دهد و به جای drop کردن آنها، آنها را مانند بستههای عادی در اینترفیسهای غیر NAT-enabled ارسال کند.
- ip nat forwarding
ویژگی NAT forwarding را روی دستگاه فعال میکند.
Clearing Translations
- clear ip nat translation inside A.B.C.D [outside A.B.C.D]
این دستور برای پاک کردن ترجمههای Network Address Translation (NAT) برای یک آدرس IP inside خاص و به صورت اختیاری، یک آدرس IP outside خاص استفاده میشود.
soodar# clear ip nat translation inside 192.168.1.100
این دستور تمام ترجمههای NAT را برای آدرس IP inside 192.168.1.100 پاک میکند. اگر ترجمههای NAT فعالی برای این آدرس وجود داشته باشد، حذف میشوند و به ترجمههای جدید اجازه داده میشود برقرار شوند.
soodar# clear ip nat translation inside 192.168.1.100 outside 203.0.113.10
این دستور تمام ترجمههای NAT را برای ترافیک با مبدأ آدرس IP inside 192.168.1.100 و ترجمه شده به آدرس IP outside 203.0.113.10 پاک میکند.
- clear ip nat translation *
این دستور برای پاک کردن تمام ترجمههای Network Address Translation (NAT) روی روتر استفاده میشود.
- clear ip nat translation tcp inside A.B.C.D [(1-65535) outside A.B.C.D (1-65535)]
دستور clear ip nat translation برای پاک کردن ترجمههای Network Address Translation (NAT) استفاده میشود. کلمه کلیدی tcp نشان میدهد که فقط ترجمههای TCP پاک میشوند.
اگر بخواهیم ترجمههای NAT TCP را برای یک آدرس IP inside 192.168.1.10 در پورت 80، که با یک آدرس IP outside 203.0.113.10 در هر پورتی ارتباط برقرار میکند، پاک کنیم، از دستور زیر استفاده میکنیم:
soodar# clear ip nat translation tcp inside 192.168.1.10 80 outside 203.0.113.10
- clear ip nat translation udp inside A.B.C.D [(1-65535) outside A.B.C.D (1-65535)]
دستور clear ip nat translation برای پاک کردن ترجمههای Network Address Translation (NAT) استفاده میشود. کلمه کلیدی udp نشان میدهد که فقط ترجمههای UDP پاک میشوند.
- clear ip nat translation icmp inside A.B.C.D [(1-65535) outside A.B.C.D (1-65535)]
دستور clear ip nat translation برای پاک کردن ترجمههای Network Address Translation (NAT) استفاده میشود. کلمه کلیدی icmp نشان میدهد که فقط ترجمههای ICMP پاک میشوند.
بررسی ارتباط 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
Debugging
لاگهای دیباگ میتوانند در صورت نیاز تنظیم شوند.
- debug nat44 event
فرآیندهای نصب و نتایج data plane را لاگ میکند.
soodar1# debug nat44 event
- show ip nat statistics
آمار مربوط به ترجمهها و پیکربندی NAT فعلی را نمایش میدهد.
soodar# show ip nat statistics
Total active translations: 4 (1 static, 3 dynamic)
Outside interfaces:
ge1
Inside interfaces:
ge0
NAT Forwarding: Disabled
- show ip nat translations
ترجمههای فعال فعلی را نمایش میدهد.
soodar# show ip nat translations
Pro Inside Local Inside Global Outside Local Outside Global
---------------------------------------------------------------------------
--- 1.1.1.10 200.2.3.3 --- ---
ICMP 1.1.1.10:48 200.2.3.3:48 2.1.1.10:48 2.1.1.10:48
TCP 1.1.1.10:46122 200.2.3.3:46122 2.1.1.10:5201 2.1.1.10:5201
TCP 1.1.1.10:46120 200.2.3.3:46120 2.1.1.10:5201 2.1.1.10:5201
ICMP 1.1.1.10:45 200.2.3.3:63327 2.1.1.10:45 2.1.1.10:45
Total number of translations: 4
Example Configuration
soodar(config)# int ge0
soodar(config-if)# ip nat outside
soodar(config)# int ge2
soodar(config-if)# ip nat inside
soodar(config)# ip nat pool nat1 200.1.2.1
خلاصه
NAT یک ویژگی قدرتمند برای:
✅ اشتراک آدرس IP عمومی بین چندین دستگاه شبکه خصوصی
✅ افزایش امنیت با پنهان کردن آدرسهای IP خصوصی
✅ Load Balancing ترافیک ورودی بین چندین سرور
✅ انعطافپذیری در پیکربندی ترجمه آدرسها
✅ مدیریت ترافیک با کنترل دقیق ترجمهها
با استفاده صحیح از NAT میتوانید شبکه خود را بهینه کرده و امنیت و کارایی آن را بهبود بخشید.