<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: question about dynamic nat on ACE in Application Networking</title>
    <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610453#M32740</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First of all, it is more important to understand&amp;nbsp; why nat is needed in ACE environment. &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;Asymetric routing is often not accepted by loadbalancers&lt;/SPAN&gt;&lt;/SPAN&gt;. Therefore, y&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;ou will need to check the reverse path making sure the server will respond to the client THROUGH the ACE.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is common topology you should use the nat on ACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;client-----&amp;nbsp; internet ----&amp;nbsp; router1 --- vlan10 -- ACE --- vlan 20 --- router2 ---&amp;nbsp; serverfarm -- server1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eth1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eth2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |_______________________________|&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's say&lt;/P&gt;&lt;P&gt;client ip :&amp;nbsp; 64.1.1.1&lt;/P&gt;&lt;P&gt;server1 : 40.1.1.1&lt;/P&gt;&lt;P&gt;vip address on vlan 10 of ACE : 10.1.1.10&lt;/P&gt;&lt;P&gt;int vlan 10 of ACE is : 10.1.1.1&lt;/P&gt;&lt;P&gt;int vlan 20 of ACE is : 20.1.1.1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int eth1 of router1 : 30.1.1.1&lt;/P&gt;&lt;P&gt;int eth2 of router2 : 30.1.1.2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. client sends tcp request to the vip address. So the first packet will be tcp syn and its address should be source with client ip :&amp;nbsp; 64.1.1.1 and dest with vip address on vlan 10 of ACE : 10.1.1.10.&lt;/P&gt;&lt;P&gt;2. If there is no routing issue, this request should get to the ACE and the ACE will go through classification to see if the request hits the vip or not.&lt;/P&gt;&lt;P&gt;3. If the request hits the vip, then the ACE will make forwarding decision to the serverfarm. When this happens, the ACE will be doing destination natting. i.e. the ACE will only replace the dest ip from vip to server1. So the address should be like&amp;nbsp; source with client ip :&amp;nbsp; 64.1.1.1 and dest with server1 : 40.1.1.1.&lt;/P&gt;&lt;P&gt;4. When the server receives this request, the server1 will &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; respond to the client &lt;/SPAN&gt;&lt;/SPAN&gt;64.1.1.1. So the reponse packet should be syn/ack and its address should be&amp;nbsp;&amp;nbsp; source with&amp;nbsp; server1 : 40.1.1.1 and dest with client ip :&amp;nbsp; 64.1.1.1.&lt;/P&gt;&lt;P&gt;5. This response will get to the router2 and if the router thinks shortest path to the client1 is via eth2, then the response will bypass the ACE.&lt;/P&gt;&lt;P&gt;6. This is the problem I said earlier as asymmetric routing.&lt;/P&gt;&lt;P&gt;7. The client sends the request with client ip :&amp;nbsp; 64.1.1.1 and dest with vip address on vlan 10 of ACE : 10.1.1.10 but the response with source with&amp;nbsp; server1 : 40.1.1.1 and dest with client ip :&amp;nbsp; 64.1.1.1.&lt;/P&gt;&lt;P&gt;8. The client will reset the connection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So let's apply dynamic natting to the ACE to avoid this sort of failure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;access-group input any&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;class-map match-all CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp; 2 match virtual-address 10.1.1.10 tcp eq www&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;policy-map multi-match VIPs&lt;BR /&gt;&amp;nbsp; class CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip inservice&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy CUSOMERC-POLICY-L7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip icmp-reply active&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nat dynamic 20 vlan 20&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;interface vlan 10&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; ip address 10.1.1.1 255.255.255.0&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; service-policy input VIPs&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;&amp;lt;-----&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; access-group input any&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;interface vlan 20&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; ip address 20.1.1.1 255.255.255.0&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; access-group input any&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; nat-pool 20 20.1.1.30 20.1.1.30 netmask 255.255.252.0 pat&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;-----&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Now two things to remember.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;+ We apply the service policy to the incoming interface which is int vlan 10 in this case.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;+ We need to change the client source ip to the natted ip as per the nat-pool. This should be applied to the outgoing interface vlan 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;So thus a sequence to process the dynamic natting for the request should be&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;service-policy input VIPs&amp;nbsp; --&amp;gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs&amp;nbsp; ---&amp;gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;class CUSOMERC-VIP ----&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;loadbalance policy CUSOMERC-POLICY-L7&amp;nbsp; ---&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;nat dynamic 20 vlan 20&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step1. request comes to int vlan 10. Then it will check "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;service-policy input VIPs". &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step2. since the service policy applied to the int vlan 10, it will check "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs".&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step3. &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs" comtains only one class-map which is &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;"class CUSOMERC-VIP" and the ACE will check if the request hits the vip defined on the class-map.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step4. Once it verifies if this is good request, then the ACE will find associated "policy-map type". The policy-map type basically perform "forwarding deciscion" which is load balaincing to the serverfarm.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step5. However, we has defined one more condition to perform "natting" with "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; nat dynamic 20 vlan 20".&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step6. when the ACE performs the natting, it will change the client source ip to the natted ip with nat-pool 20 which applied on int vlan 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;I hope this clarifies your question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;-Andrew&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Feb 2011 01:44:18 GMT</pubDate>
    <dc:creator>Andrew Nam</dc:creator>
    <dc:date>2011-02-04T01:44:18Z</dc:date>
    <item>
      <title>question about dynamic nat on ACE</title>
      <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610450#M32737</link>
      <description>&lt;P&gt;per documentation and training...i have always seen nat applied..using an accesss-list to define traffic,&lt;/P&gt;&lt;P&gt;class and policy maps than applied to an interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;howerver i ran across this configuration and wondering what exaclty it is doing..it seems overly simplified&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I will post the only mention of NAT in the config&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class-map match-all CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp; 2 match virtual-address 172.20.200.33 tcp eq www&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;policy-map multi-match VIPs&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; class CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip inservice&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy CUSOMERC-POLICY-L7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip icmp-reply active&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nat dynamic 722 vlan 722&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;interface vlan 120&lt;/P&gt;&lt;P&gt;ip address 10.11.20.8 255.255.255.0&lt;/P&gt;&lt;P&gt;peer ip address 10.11.20.9 255.255.255.0&lt;/P&gt;&lt;P&gt;no normalization&lt;/P&gt;&lt;P&gt;no icmp-guard&lt;/P&gt;&lt;P&gt;access-group input any&lt;/P&gt;&lt;P&gt;nat-pool 120 10.11.20.30 10.11.20.30 netmask 255.255.252.0 pat&lt;/P&gt;&lt;P&gt;service-policy input ALLOW_ICMP_POLICY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;interface vlan 722&lt;/P&gt;&lt;P&gt;&amp;nbsp; ip address 172.20.200.4 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; alias 172.20.200.10 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; peer ip address 172.20.200.5 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; no normalization&lt;/P&gt;&lt;P&gt;&amp;nbsp; access-group input any&lt;/P&gt;&lt;P&gt;&amp;nbsp; nat-pool 722 172.20.200.20 172.20.200.20 netmask 255.255.255.0 pat&lt;/P&gt;&lt;P&gt;&amp;nbsp; service-policy input VIPs&lt;/P&gt;&lt;P&gt;&amp;nbsp; service-policy input ALLOW_ICMP_POLICY&lt;/P&gt;&lt;P&gt;&amp;nbsp; no shutdown&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;could this be considered a proper configuration?..i don't even see global service policies which reference NAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i hit the vip of CUSOMERC-VIP it doesn not appear that i am being translated.but do show a connection&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;apptier# sh xlate&lt;BR /&gt;apptier# sh conn | inc 172.20.200.33&lt;BR /&gt;1624825&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp; in&amp;nbsp; TCP&amp;nbsp;&amp;nbsp; 722&amp;nbsp; 172.20.34.70:3481&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 172.20.200.33:80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESTAB&lt;/P&gt;</description>
      <pubDate>Wed, 02 Feb 2011 17:39:51 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610450#M32737</guid>
      <dc:creator>nygenxny123</dc:creator>
      <dc:date>2011-02-02T17:39:51Z</dc:date>
    </item>
    <item>
      <title>Re: question about dynamic nat on ACE</title>
      <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610451#M32738</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The config looks to be ok. However just one condition. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your vip address is&amp;nbsp; 172.20.200.33 and sitting on vlan 722. So your client side vlan is the vlan 722. This is ok. However, your nat statement applied to the same vlan 722. So your server should be in the vlan 722. If the request is not sent to this particular vlan, the nat will not happen. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the explanation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;..&lt;SNIPPED&gt;..&lt;/SNIPPED&gt;&lt;/P&gt;&lt;P&gt;policy-map multi-match VIPs&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; class CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip inservice&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy CUSOMERC-POLICY-L7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip icmp-reply active&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nat dynamic 722 vlan 722&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;----&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;interface vlan 722&lt;/P&gt;&lt;P&gt;&amp;nbsp; ip address 172.20.200.4 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; alias 172.20.200.10 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; peer ip address 172.20.200.5 255.255.255.0&lt;/P&gt;&lt;P&gt;&amp;nbsp; no normalization&lt;/P&gt;&lt;P&gt;&amp;nbsp; access-group input any&lt;/P&gt;&lt;P&gt;&amp;nbsp; nat-pool 722 172.20.200.20 172.20.200.20 netmask 255.255.255.0 pat&lt;/P&gt;&lt;P&gt;&amp;nbsp; service-policy input VIPs&lt;/P&gt;&lt;P&gt;&amp;nbsp; service-policy input ALLOW_ICMP_POLICY&lt;/P&gt;&lt;P&gt;&amp;nbsp; no shutdown&lt;/P&gt;&lt;P&gt;..&lt;SNIPPED&gt;..&lt;/SNIPPED&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now look closely with "nat dynamic 722 vlan 722" cmd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above cmd basically tells the ACE to make action when the request leaves the ACE. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;So the ACE will change client source ip address of the packet to natted ip. Your natted ip will be 172.20.200.20. This change will happen only if the request leaves the ACE to the vlan 722.&amp;nbsp; The first "722" refers to "nat-pool 722" and the "vlan 722" specifies the outbound interface after the LB decision (i.e. forwarding to the serverfarm).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this answers your question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 04:22:34 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610451#M32738</guid>
      <dc:creator>Andrew Nam</dc:creator>
      <dc:date>2011-02-03T04:22:34Z</dc:date>
    </item>
    <item>
      <title>Re: question about dynamic nat on ACE</title>
      <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610452#M32739</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so trying to understand this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we can assume that the only time a NAT will happen is when a "user" attempt to hit that particular VIP?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;other than that...any user trying to hit another VIP which is in the same VLAN 722 will not be NAT'd&lt;/P&gt;&lt;P&gt;unless we add that nat dynamic statement under the Layer 3 class map?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if for example i wanted to nat all "user incoming to that vlan" i would simpley creat an access list with a permit "any any"&lt;/P&gt;&lt;P&gt;and than apply that to a class map and than policy map?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 17:20:36 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610452#M32739</guid>
      <dc:creator>nygenxny123</dc:creator>
      <dc:date>2011-02-03T17:20:36Z</dc:date>
    </item>
    <item>
      <title>Re: question about dynamic nat on ACE</title>
      <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610453#M32740</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First of all, it is more important to understand&amp;nbsp; why nat is needed in ACE environment. &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;Asymetric routing is often not accepted by loadbalancers&lt;/SPAN&gt;&lt;/SPAN&gt;. Therefore, y&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;ou will need to check the reverse path making sure the server will respond to the client THROUGH the ACE.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is common topology you should use the nat on ACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;client-----&amp;nbsp; internet ----&amp;nbsp; router1 --- vlan10 -- ACE --- vlan 20 --- router2 ---&amp;nbsp; serverfarm -- server1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eth1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eth2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |_______________________________|&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let's say&lt;/P&gt;&lt;P&gt;client ip :&amp;nbsp; 64.1.1.1&lt;/P&gt;&lt;P&gt;server1 : 40.1.1.1&lt;/P&gt;&lt;P&gt;vip address on vlan 10 of ACE : 10.1.1.10&lt;/P&gt;&lt;P&gt;int vlan 10 of ACE is : 10.1.1.1&lt;/P&gt;&lt;P&gt;int vlan 20 of ACE is : 20.1.1.1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int eth1 of router1 : 30.1.1.1&lt;/P&gt;&lt;P&gt;int eth2 of router2 : 30.1.1.2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. client sends tcp request to the vip address. So the first packet will be tcp syn and its address should be source with client ip :&amp;nbsp; 64.1.1.1 and dest with vip address on vlan 10 of ACE : 10.1.1.10.&lt;/P&gt;&lt;P&gt;2. If there is no routing issue, this request should get to the ACE and the ACE will go through classification to see if the request hits the vip or not.&lt;/P&gt;&lt;P&gt;3. If the request hits the vip, then the ACE will make forwarding decision to the serverfarm. When this happens, the ACE will be doing destination natting. i.e. the ACE will only replace the dest ip from vip to server1. So the address should be like&amp;nbsp; source with client ip :&amp;nbsp; 64.1.1.1 and dest with server1 : 40.1.1.1.&lt;/P&gt;&lt;P&gt;4. When the server receives this request, the server1 will &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; respond to the client &lt;/SPAN&gt;&lt;/SPAN&gt;64.1.1.1. So the reponse packet should be syn/ack and its address should be&amp;nbsp;&amp;nbsp; source with&amp;nbsp; server1 : 40.1.1.1 and dest with client ip :&amp;nbsp; 64.1.1.1.&lt;/P&gt;&lt;P&gt;5. This response will get to the router2 and if the router thinks shortest path to the client1 is via eth2, then the response will bypass the ACE.&lt;/P&gt;&lt;P&gt;6. This is the problem I said earlier as asymmetric routing.&lt;/P&gt;&lt;P&gt;7. The client sends the request with client ip :&amp;nbsp; 64.1.1.1 and dest with vip address on vlan 10 of ACE : 10.1.1.10 but the response with source with&amp;nbsp; server1 : 40.1.1.1 and dest with client ip :&amp;nbsp; 64.1.1.1.&lt;/P&gt;&lt;P&gt;8. The client will reset the connection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So let's apply dynamic natting to the ACE to avoid this sort of failure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;access-group input any&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;class-map match-all CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp; 2 match virtual-address 10.1.1.10 tcp eq www&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;policy-map multi-match VIPs&lt;BR /&gt;&amp;nbsp; class CUSOMERC-VIP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip inservice&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy CUSOMERC-POLICY-L7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance vip icmp-reply active&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nat dynamic 20 vlan 20&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;interface vlan 10&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; ip address 10.1.1.1 255.255.255.0&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; service-policy input VIPs&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;&amp;lt;-----&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; access-group input any&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;interface vlan 20&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; ip address 20.1.1.1 255.255.255.0&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&amp;nbsp; access-group input any&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&amp;nbsp; nat-pool 20 20.1.1.30 20.1.1.30 netmask 255.255.252.0 pat&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;-----&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Now two things to remember.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;+ We apply the service policy to the incoming interface which is int vlan 10 in this case.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;+ We need to change the client source ip to the natted ip as per the nat-pool. This should be applied to the outgoing interface vlan 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;So thus a sequence to process the dynamic natting for the request should be&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;service-policy input VIPs&amp;nbsp; --&amp;gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs&amp;nbsp; ---&amp;gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;class CUSOMERC-VIP ----&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;loadbalance policy CUSOMERC-POLICY-L7&amp;nbsp; ---&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;nat dynamic 20 vlan 20&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step1. request comes to int vlan 10. Then it will check "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;service-policy input VIPs". &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step2. since the service policy applied to the int vlan 10, it will check "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs".&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step3. &lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;policy-map multi-match VIPs" comtains only one class-map which is &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt;"class CUSOMERC-VIP" and the ACE will check if the request hits the vip defined on the class-map.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step4. Once it verifies if this is good request, then the ACE will find associated "policy-map type". The policy-map type basically perform "forwarding deciscion" which is load balaincing to the serverfarm.&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step5. However, we has defined one more condition to perform "natting" with "&lt;SPAN class="Apple-style-span" style="border-collapse: separate; color: #000000; font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;SPAN class="Apple-style-span" style="color: #333333; font-family: Arial,verdana,sans-serif; font-size: 12px; text-align: left;"&gt; nat dynamic 20 vlan 20".&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;Step6. when the ACE performs the natting, it will change the client source ip to the natted ip with nat-pool 20 which applied on int vlan 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;I hope this clarifies your question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0px; padding: 0px;"&gt;-Andrew&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Feb 2011 01:44:18 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610453#M32740</guid>
      <dc:creator>Andrew Nam</dc:creator>
      <dc:date>2011-02-04T01:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: question about dynamic nat on ACE</title>
      <link>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610454#M32741</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;it does&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thx!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Feb 2011 17:17:54 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/question-about-dynamic-nat-on-ace/m-p/1610454#M32741</guid>
      <dc:creator>nygenxny123</dc:creator>
      <dc:date>2011-02-07T17:17:54Z</dc:date>
    </item>
  </channel>
</rss>

