loading...

بازدید : 2
چهارشنبه 9 بهمن 1403 زمان : 15:07

قابلیت NAT Extendable در IOS‌های شرکت سیسکو این قابلیت را به ما می‌دهد تا بتوانیم یک آی پی آدرس پرایوت یا داخلی را به بیش از یک آی پی پابلیک ترجمه کنیم.بگذارید راه اندازی قابلیت NAT Extendable را در قالب یک سناریو یاد بگیریم.به توپولوژی زیر نگاه کنید:

در این توپولوژی روتر S1 را بعنوان یک سرور در نظر گرفته ایم که روی آن یک وب سرور قرار دارد و می‌خواهیم که در اینترنت قابل دسترس باشد. برای این کار روتر R1 را که به دو ISP متصل شده را برای NAT پیکربندی می‌کنیم.

بیشتر بخوانید: آموزش تصویری آشنایی و پیکربندی انواع NAT

در این مثال فرض کنیم که آی پی 192.168.12.100 یک آی پی پابلیک مربوط به ISP1 است و آی پی 192.168.13.100 هم یک آی پی پابلیک مربوط به ISP2 می‌باشد و قرار است آی پی 192.168.1.1 را از اینترنت ببینیم.

پیکربندی یا Configuration:

ابتدا روتر S1 را کانفیگ می‌کنیم. به دلیل اینکه هیچ راه دیگری برای S1 بجز اتصال به R1 وجود ندارد، روتینگ را غیرفعال و فقط یک default-gateway برای دسترسی به روتر R1 برایش تنظیم می‌کنیم:

								S1(config)#
									no ip routing
S1(config)#
									ip default-gateway 192.168.1.254
								
							

حالا NAT‌های Inside و Outside را برای اینترفیس‌های R1 تعریف می‌کنیم.

								R1(config)#
									interface GigabitEthernet 0/1
R1(config-if)#
									ip nat inside

R1(config)#
									interface GigabitEthernet 0/2
R1(config-if)#
									ip nat outside

R1(config)#
									interface GigabitEthernet 0/3
R1(config-if)#
									ip nat outside
								
							

حالا فکر کنید که میخواهیم آی پی سرور را از اینترنت مربوط به ISP1 که آی پی پابلیک 192.168.12.100 دارد ببینیم. این کار را به راحتی با دستور زیر می‌توانیم انجام دهیم:

								R1(config)#
									ip nat inside source static 192.168.1.1 192.168.12.100
								
							

با این دستور یک NAT یک به یک 1:1 بین آی پی 192.168.1.1 و 192.168.12.100 ایجاد کردیم که تا به اینجا مسیر درستی بوده. اما اگر بخواهیم همین کار را با آی پی پابلیک 192.168.13.100 انجام بدهیم چطور؟ روتر این اجازه را به ما می‌دهد؟

بگذارید تست کنیم:

								R1(config)#
									ip nat inside source static 192.168.1.1 192.168.13.100
% 192.168.1.1 already mapped (192.168.1.1 -> 192.168.12.100)
							

با توجه به اینکه قبلا آی پی 192.168.1.1. به آی پی 192.168.12.100 ترجمه شده بود، روتر امکان ترجمه مجدد این آی پی پرایوت را به آی پی پابلیک دیگری به ما نمی‌دهد.

اما یک راه دیگر برای اینکه بتوانیم دو آی پی پابلیک را به یک آی پی پرایوت در یک روتر ترجمه کنیم وجود دارد.

ابتدا برویم و دستور NAT قبلی را برداریم:

								R1(config)#
									no ip nat inside source static 192.168.1.1 192.168.12.100
								
							

الان مجددا دستور قبلی را تکرار می‌کنیم با این فرق که از کلمه extendable در انتهای دستور استفاده میکنیم تا روتر متوجه بشود که نیازمند این هستیم تا دو NAT برای یک آی پی در نظر بگیریم:

								R1(config)#
									ip nat inside source static 192.168.1.1 192.168.12.100 extendable 
R1(config)#
									ip nat inside source static 192.168.1.1 192.168.13.100 extendable
								
							

دیدید؟ سیسکو دیگر ایرادی به دستور ما نگرفت.

بیشتر بخوانید: جامع ترین دوره آموزشی CCNP Enterprise به زبان فارسی

بررسی یا Verification:

ببینیم که آیا این تنظیمات به درستی کار می‌کنند یا خیر؟

								R1#
									show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---
							

می‌بینیم که آی پی 192.168.1.1 به هر دو آی پی 192.168.12.100 و 192.168.13.100 ترجمه شده. بریم ببینیم آیا روتر‌های ISP1 و ISP2 می‌توانند به سرور ما دسترسی داشته باشند یا خیر.

ابتدا Debugging را روی روتر فعال می‌کنیم تا تمام اتفاقاتی که روی روتر R1 می‌افتد را بتوانیم مانیتور کنیم:

								R1#
									debug ip nat
IP NAT debugging is on
							

یک پینگ از ISP1 به آی پی 192.168.12.100 می‌گذاریم: (توجه کنید که آی پی 192.168.12.100 روی هیچ اینترفیسی ست نشده است)

								ISP1#
									ping 192.168.12.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/4 ms
							

ارتباط ما برقرار است. اگر به روتر R1 بر گردیم میبینیم که NAT به درستی در حال کار کردن است:

								R1#
NAT*: s=192.168.12.2, d=192.168.12.100->192.168.1.1 [33]
NAT*: s=192.168.1.1->192.168.12.100, d=192.168.12.2 [33]
							

آی پی 192.168.1.1 به درستی به آی پی 192.168.12.100 ترجمه شده. حالا برویم و از ISP2 همین تست را تکرار کنیم:

								ISP2#
									ping 192.168.13.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms
							

و در روتر R1 می‌بینیم که الان این ترجمه از IP جدید در حال انجام است:

								R1#
NAT*: s=192.168.13.3, d=192.168.13.100->192.168.1.1 [20]
NAT*: s=192.168.1.1->192.168.13.100, d=192.168.13.3 [20]
							

تا اینجای کار به درستی پیش رفته است و آی پی 192.168.1.1 از هر دو آی پی 192.168.12.100 و 192.168.13.100 قابل دسترس است.

اما اگر از روتر S1 ترافیکی ایجاد شود از کدام NAT استفاده می‌کند؟

								S1#
									ping 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/6 ms
							

ارتباط بین S1 و ISP1 که به درستی برقرار است. اما با چه NAT ای؟

								R1#
									show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.12.100:5  192.168.1.1:5      192.168.12.2:5     192.168.12.2:5
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---
							

خب در جدول NAT روتر R1 می‌بینیم که آدرس 192.168.1.1 به 192.168.12.100 ترجمه شده. اما در مورد پینگ به آی پی 192.168.13.3 چطور؟ مجدد به روتر S1 بر میگردیم:

								S1#
									ping 192.168.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
							

پینگ این آی پی کار نکرد. چرا؟ جدول NAT روتر R1 را نگاه می‌کنیم:

								R1#
									show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.12.100:5  192.168.1.1:5      192.168.12.2:5     192.168.12.2:5
icmp 192.168.12.100:6  192.168.1.1:6      192.168.13.3:6     192.168.13.3:6
--- 192.168.12.100     192.168.1.1        ---                ---
--- 192.168.13.100     192.168.1.1        ---                ---
							

در جدول بالا می‌بینیم که این ترافیک هم به آی پی 192.168.12.100 ترجمه شد. اما چرا؟ آیا به خاطر این است که ابتدا به ISP1 پینگ ارسال کردیم؟ بگذارید جدول NAT را خالی کنیم و مجددا تست کنیم:

								R1#
									clear ip nat translation *
								
							

و مجددا این بار به روتر ISP2 پینگ ارسال می‌کنیم:

								S1#
									ping 192.168.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
							

پینگ این بار هم به مقصد نرسید. اما چرا؟ به نظرتون به خاطر ترتیب NAT‌ها در تنظیمات است؟

								R1#
									show running-config | include nat inside source
ip nat inside source static 192.168.1.1 192.168.12.100 extendable
ip nat inside source static 192.168.1.1 192.168.13.100 extendable
							

در خروجی بالا می‌بینیم که Inside NAT مربوط به آی پی 192.168.12.100 در ابتدای دستورات قرار گرفته و سیسکو هم همیشه از این دستور برای NAT‌هایی که ترافیک مبدا آن از آی پی 192.168.1.1 است استفاده می‌کند.

پس باید این مورد که دستور اول NAT در تنظیمات بعنوان آدرس اصلی برای آدرس‌هایی که از داخل شبکه به بیرون ترافیک ارسال می‌کنند استفاده می‌شود را در راه اندازی Extendable NAT مورد توجه قرار بدهید.

بیشتر بخوانید: اولین و کاملترین دوره آموزش پیشرفته BGP به زبان فارسی

Adversary Emulation در امنیت سایبری چیست؟ شبیه سازی دشمن

تعداد صفحات : -1

آمار سایت
  • کل مطالب : 0
  • کل نظرات : 0
  • افراد آنلاین : 9
  • تعداد اعضا : 0
  • بازدید امروز : 11
  • بازدید کننده امروز : 10
  • باردید دیروز : 0
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 12
  • بازدید ماه : 12
  • بازدید سال : 12
  • بازدید کلی : 35
  • کدهای اختصاصی