در مسیریاب ژرف قابلیت NAT با امکانات متعددی در نظر گرفته شده است. در زیر به بررسی دستورات در بخش های مختلف این سرویس می پردازیم.
تعیین نوع اینترفیس ها در سرویس NAT
برای تعیین نوع اینترفیس در سرویس NAT از دستور زیر استفاده میشود. اینترفیس ها در سرویس NAT یا اینترفیس های داخلی هستند که در شبکه داخلی قرار دارند و یا اینترفیس های خارجی هستند که در شبکه ی خارجی قرار گرفته اند.
این دستور در سطح پیکربندی اینترفیس قرار دارد
برای حذف دستور از شکل no آن استفاده میشود
1 2 |
Zharf(config-if)# ip nat { inside | outside } Zharf(config-if)# no ip nat { inside | outside } |
inside: مشخص می کند که اینترفیس به شبکه داخلی متصل است
outside: مشخص می کند که اینترفیس به شبکه خارجی متصل است.
مثال:
نمونه زیر آدرس مبدا میزبان های داخلی از شبکه 192.168.1.0 یا 192.168.2.0 را به بخشی از شبکه سراسری 171.69.233.0 ترجمه می کند.
1 2 |
ip nat pool net-208 171.69.233.208 171.69.233.223 ip nat inside source list 1 pool net-208 ! interface gbeth 0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 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 |
ترجمه آدرس مقصد داخلی
برای فعال سازی NAT بر روی آدرس مقصد داخلی از این دستور در سطح پیکربندی سراسری استفاده می شود. به منظور حذف از شکل no دستور استفاده می شود.
1 2 |
Zharf(config)# ip nat inside destination list access-list-number pool name Zharf(config)#no ip nat inside destination list access-list-number |
توضیح پارامترهای دستور در زیر آورده شده است:
access–list–number: شماره لیست دسترسی. بسته ها با آدرس مقصدی که مطابق لیست دسترسی باشند، با استفاده از آدرس های سراسری موجود در pool ترجمه می شوند.
name: نام pool که در آن آدرس های IP سراسری در طول ترجمه پویا تخصیص داده می شوند، تعریف شده است. تعداد آدرس هایی که میتوان در pool تعریف کرد حداکثر 255 آدرس است
مثال:
نمونه زیر ترافیک به مقصد میزبان های داخلی به آدرس شبکه 192.168.1.0 یا 192.168.2.0 را به بخشی از شبکه سراسری 171.69.233.0 ترجمه می کند.
1 2 3 |
ip nat pool net-208 171.69.233.208 171.69.233.223 ip nat inside destination list 1 pool net-208 ! interface gbeth0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 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 |
ترجمه آدرس مبدا داخلی
برای فعال سازی NAT بر روی آدرس مبدا داخلی از این دستور استفاده می شود. به منظور حذف تخصیص پویا به دستور از شکل no دستور استفاده می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Zharf(config)# ip nat inside source {list access-list-number { interface if-name | pool pool-name } | static { inside-local-ip { inside-global-ip | interface if-name } | network inside-local-network inside-global-network { subnet-mask | prefix-length }} Static NAT Zharf(config)# ip nat inside source static inside-local-ip {inside-global-ip|interface if-name } Zharf(config)# no ip nat inside source inside-local-ip {inside-global-ip|interface if-name } Port Static NAT Zharf(config)# ip nat inside source static {tcp | udp} inside-local-ip local-port inside-global-ip global-port} Zharf(config)# no ip nat inside source {tcp | udp} inside-local-ip local-port inside-global-ip global-port} Network Static NAT Zharf(config)# ip nat inside source static network inside-local-network inside-global-network { subnet-mask | prefix-length }} Zharf(config)# no ip nat inside source static network inside-local-network inside-global-network { subnet-mask | prefix-length }} |
مثال:
نمونه زیر شبکه های داخلی از آدرس های شبکه 192.168.1.0 یا 192.168.2.0 را به بخشی از شبکه سراسری 171.69.233.0 ترجمه می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ip nat pool net-208 171.69.233.208 171.69.233.223 ip nat inside source list 1 pool net-208 ! interface gbeth0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 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 |
نمونه زیر ترافیک TCP از آدرس 192.168.1.5 و پورت مبدا8080 را به آدرس 171.69.232.100 و پورت مبدا 80 ترجمه می کند.
نمونه زیر شبکه 192.168.1.0 را به شبکه سراسری 171.69.100.0 ترجمه می کند. در این نمونه آدرس شبکه تغییر کرده و آدرس میزبان تغییر نمی کند، به عنوان مثال آدرس 192.168.1.60 به 171.69.100.60 ترجمه می شود.
1 2 3 4 5 6 7 8 9 |
ip nat inside source static network 192.168.1.0 171.69.100.0 /24 ! interface gbeth0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 ip address 192.168.1.94 255.255.255.0 ip nat inside |
ترجمه آدرس مبدا خارجی
برای فعال سازی NAT بر روی آدرس مبدا خارجی از این دستور استفاده می شود. به منظور حذف ترجمه ایستا یا تخصیص پویا از شکل no دستور استفاده می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Zharf(config)# ip nat outside source { list access-list-number pool pool-name } Zharf(config)# no ip nat outside source { list access-list-number pool pool-name } Static NAT Zharf(config)# ip nat outside source static outside-global-ip outside-local-ip Zharf(config)# no ip nat outside source static outside-global-ip outside-local-ip Port Static NAT Zharf(config)# ip nat outside source static {tcp | udp} outside-global-ip global-port outside-local-ip local-port} Zharf(config)# no ip nat outside source static {tcp | udp} outside-global-ip global-port outside-local-ip local-port} Network Static NAT Zharf(config)# ip nat outside source static network outside-global-network outside-local-network { subnet-mask | prefix-length} } Zharf(config)# no ip nat outside source static network outside-global-network outside-local-network { subnet-mask | prefix-length} } |
مثال:
نمونه زیر میزبان های داخلی از شبکه 9.114.11.0 را به شبکه سراسری 171.69.233.0 ترجمه میکند. بسته های میزبان های خارجی از آدرس شبکه 9.114.11.0 (شبکه واقعی 9.114.11.0) ترجمه شده و به نظر می رسد از آدرس 10.0.1.0/24 دریافت شده اند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
ip nat pool net-208 171.69.233.208 171.69.233.223 ip nat pool net-10 10.0.1.0 10.0.1.255 ip nat inside source list 1 pool net-208 ip nat outside source list 1 pool net-10 ! interface gbeth0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 ip address 9.114.11.39 255.255.255.0 ip nat inside ! access-list 1 permit 9.114.11.0 0.0.0.255 |
تعریف Pool
به منظور تعریف pool از آدرس های IP برای عملیات NAT از این دستور در سطح پیکربندی global استفاده می شود. برای حذف pool از شکل no دستور استفاده می شود.
1 2 |
Zharf(config)# ip nat pool name start-ip end-ip Zharf(config)# no ip nat pool name |
name: اسم pool
start-ip: آدرس شروع بازه ی آدرس دهی pool
end-ip: آدرس پایان بازه ی آدرس دهی pool
نکته: بازه ی آدرس های داخل pool نمی تواند بیشتر از تعداد 255 آدرس داشته باشد.
مثال:
نمونه زیر آدرس میزبان های داخلی از شبکه 192.168.1.0 یا 192.168.2.0 را به بخشی از شبکه 171.69.233.0 (171.69.233.208-171.69.233.223) ترجمه می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ip nat pool net-208 171.69.233.208 171.69.233.223 ip nat inside source list 1 pool net-208 ! interface gbeth0 ip address 171.69.232.182 255.255.255.0 ip nat outside ! interface gbeth1 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 |
دستورات نمایشی سرویس NAT
به منظور نمایش ترجمه های موجود، از این دستور در سطح EXEC Privilege استفاده می شود.
1 |
Zharf# show ip nat translations |