در این سناریو مجددا Stateful NAT پیاده سازی شده است اما این بار پروتکل HSRP در شبکه پیاده سازی نشده است. در این سناریو با تغییر cost لینک بین روتر HOST و GW1، ترافیک را از مسیر بالا به اینترنت هدایت می کنیم. همچنین روی روتر اینترنت دو مسیر به آدرس 12.12.12.0/24، که آدرس بیرونی سازمان است،
وجود دارد که مسیر پایینی distance بیشتری دارد و بنابراین در برگشت هم مسیر بالایی نسبت به مسیر پایینی اولویت داده می شود.
در این سناریو قصد داریم نشان دهیم که Stateful NAT مستقل از BGP و یا HSRP است. اما با این حال تاکید می شود که این ویژگی معمولا به همراه HSRP و BGP در شبکه های سازمانی بکار گرفته می شود.
پیاده سازی Stateful NAT بدون HSRP
ابتدا روی هر دو روتر GW1 و GW2 بخش inside و بخش outside را در پروسه NAT تعیین می کنیم. آدرسی که بین دو روتر برای جابجایی جدول NAT داده می شود حتما باید از اینترفیس های inside انتخاب شود.
!!! GW1, GW2 interface Ethernet0/0 ip nat inside ! interface Ethernet0/1 ip nat outside |
تعیین بخش inside و outside اعضاء گروه NAT
در مرحله بعد محدوده آدرس های داخلی و بیرونی سازمان تعریف می شوند. جهت تعریف محدوده آدرس داخلی از دستور access-list و برای تعیین محدوده آدرس بیرونی از دستور ip nat pool استفاده می گردد. در انتهای دستور دوم از کلمه type match-host استفاده شده است. این بدان معناست که بخش host آدرس داخلی با بخش host آدرس بیرونی که ترافیک روی آن NAT می شود، یکسان در نظر گرفته شود. به عنوان مثال اگر کامپیوتر با آدرس 1.1.1.110 وارد اینترنت می شود، آدرس بیرونی آن 12.12.12.110 انتخاب شود. همچنین آدرس 12.12.12.200 به آدرس 1.1.1.200 اختصاص داده شود.
!!! GW1 , GW2 access-list 1 permit 1.1.1.0 0.0.0.255 ! ip nat pool POOL 12.12.12.1 12.12.12.200 prefix-length 24 type match-host |
تعیین محدوده آدرس های داخلی و بیرونی NAT
مرحله بعدی اصلی ترین بخش پیاده سازی سناریوی Stateful NAT است. از آنجایی که در این سناریو از پروتکل HSRP استفاده نشده است، از دستورات primary و backup به همراه peer جهت تعیین اعضاء گروه NAT استفاده می شود. واژه mapping-id 1 نیز همان معنایی را دارد که در سناریوی قبل مطرح نمودیم. بدین معنی که رکوردهایی که در جدول NAT با شناسه 1 وجود دارند، بین اعضاء گروه NAT توزیع می شود.
!!! GW1 ip nat Stateful id 1 primary 10.1.1.1 peer 10.1.2.1 mapping-id 1 ! !!! GW2 ip nat Stateful id 2 backup 10.1.2.1 peer 10.1.1.1 mapping-id 1 |
پیاده سازی Stateful NAT بدون HSRP
با اجرای دستورات فوق پیغام های زیر در صفحه کنسول روترهای GW1 و GW2 ظاهر می گردد. بدین معنی که ارتباط NAT بین دو روتر همگرا شده است و آمادگی توزیع هر گونه تغییر در جدول NAT بین دو روتر GW1 و GW2 وجود دارد.
*Jan 3 18:22:29.039: %OSPF-5-ADJCHG: Process 1, Nbr 13.1.1.1 on Ethernet0/1 from LOADING to FULL, Loading Done GW1(config)# *Jan 3 18:23:04.995: %SNAT-5-PROCESS: Id 1, System starts converging GW1(config)# *Jan 3 18:23:07.019: SNAT (Receive): CONVERGENCE Message for Router-Id: 2 from Peer Router-Id: 2's entries GW1(config)# *Jan 3 18:23:07.019: %SNAT-5-PROCESS: Id 1, System fully converged ! *Jan 3 18:23:05.063: %SNAT-5-PROCESS: Id 2, System starts converging GW2(config)# *Jan 3 18:23:07.087: SNAT (Receive): CONVERGENCE Message for Router-Id: 1 from Peer Router-Id: 1's entries GW2(config)# *Jan 3 18:23:07.087: %SNAT-5-PROCESS: Id 2, System fully converged |
یکی شدن محتویات جدول NAT در دو روتر PRIMARY و BACKUP در Stateful NAT
مجددا دستور show ip snat distributed، روتر ACTIVE و STANDBY را در گروه NAT نشان می دهد که البته در این سناریو که HSRP وجود ندارد به PRIMARY و BACKUP تغییر نام داده اند.
!!! GW1 ip nat Stateful id 1 primary 10.1.1.1 peer 10.1.2.1 mapping-id 1 ! !!! GW2 ip nat Stateful id 2 backup 10.1.2.1 peer 10.1.1.1 mapping-id 1 |
پیاده سازی Stateful NAT بدون HSRP
با اجرای دستورات فوق پیغام های زیر در صفحه کنسول روترهای GW1 و GW2 ظاهر می گردد. بدین معنی که ارتباط NAT بین دو روتر همگرا شده است و آمادگی توزیع هر گونه تغییر در جدول NAT بین دو روتر GW1 و GW2 وجود دارد.
GW1#sh ip snat distributed Stateful NAT Connected Peers SNAT: Mode PRIMARY : State READY : Local Address 10.1.1.1 : Local NAT id 1 : Peer Address 10.1.2.1 : Peer NAT id 2 : Mapping List 1 ! Stateful NAT Connected Peers SNAT: Mode BACKUP : State READY : Local Address 10.1.2.1 : Local NAT id 2 : Peer Address 10.1.1.1 : Peer NAT id 1 : Mapping List 1 |
مانیتورینگ و تایید عملکرد صحیح Stateful NAT
نهایتا دستور nat که تغییر آدرس را در روترها فعال می کند روی دو روتر GW1 و GW2 با mapping-id 1 وارد می شود. از این لحظه آدرس مبدا ترافیک هایی که از LAN به اینترنت خارج می شوند و شرایط ترجمه شدن آدرس را داشته باشند، تغییر داده شده و با شناسه 1 در جدول NAT ذخیره می شوند و بلافاصله کپی آن نیز در دیگر روترهای گروه NAT توزیع خواهد شد
!!! GW1 , GW2 ip nat inside source list 1 pool POOL mapping-id 1 |
پیاده سازی NAT و تعیین mapping-id
در انتهای این سناریو نیز نشان داده شده است که با ایجاد ارتباط از LAN به اینترنت، علی رغم اینکه همه ترافیک ها از مسیر بالا به اینترنت خارج می شوند، اما جدول NAT در هر دو روتر GW1 و GW2 ایجاد می گردد. همچنین نشان داده شده است که بخش host آدرس ترجمه شده با بخش host آدرس داخلی همواره یکسان است که به دلیل وجود دستور type match-host در دستور ip nat pool است.
HOST#ping 13.1.1.1 source loopback 1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 13.1.1.1, timeout is 2 seconds: Packet sent with a source address of 1.1.1.2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/12 ms HOST#ping 13.1.1.1 source loopback 2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 13.1.1.1, timeout is 2 seconds: Packet sent with a source address of 1.1.1.3 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms ! Pro Inside global Inside local Outside local Outside global icmp 12.12.12.2:0 1.1.1.2:0 13.1.1.1:0 13.1.1.1:0 --- 12.12.12.2 1.1.1.2 --- --- icmp 12.12.12.3:1 1.1.1.3:1 13.1.1.1:1 13.1.1.1:1 --- 12.12.12.3 1.1.1.3 --- --- ! GW2#sh ip nat translations Pro Inside global Inside local Outside local Outside global icmp 12.12.12.2:0 1.1.1.2:0 13.1.1.1:0 13.1.1.1:0 --- 12.12.12.2 1.1.1.2 --- --- icmp 12.12.12.3:1 1.1.1.3:1 13.1.1.1:1 13.1.1.1:1 --- 12.12.12.3 1.1.1.3 --- --- |
تست عملکرد صحیح Stateful NAT بدون HSRP