<?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 Problem with Hairpinning on ASA in Network Security</title>
    <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521607#M216366</link>
    <description>&lt;P&gt;We have an ASA that needs to reroute an ASA to another firewall on the ASA's internal interface. The remote IPs are 10.12.14.0 / 24, so I've added the route to the ASA using "route inside 10.12.14.0 255.255.255.0 192.168.1.252", added "same-security-traffic permit intra-interface", and added the NAT statement "static (inside,inside) 192.168.1.0 192.168.1.0 netmask 255.255.255.0 norandomseq". Traffic is still not flowing but will if I put a static route into each of the local hosts. I've attached the packet tracer, but what confuses me is that phase 8 using "static (inside,inside)", phase 9 uses a static to our private cloud, and phase 11 uses yet another nat statement where the whole process fails. Can someone please help me figure out why traffic is going through so many nat processes and failing? The ASA is running 8.2(2).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ASA(config)# packet-tracer inp inside icmp 192.168.1.10 8 0 10.12.14.196&lt;/P&gt;&lt;P&gt;Phase: 1&lt;BR /&gt;Type: FLOW-LOOKUP&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;BR /&gt;Found no matching flow, creating a new flow&lt;/P&gt;&lt;P&gt;Phase: 2&lt;BR /&gt;Type: ROUTE-LOOKUP&lt;BR /&gt;Subtype: input&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;BR /&gt;in &amp;nbsp; 10.12.14.0 &amp;nbsp; &amp;nbsp; &amp;nbsp;255.255.255.0 &amp;nbsp; inside&lt;/P&gt;&lt;P&gt;Phase: 3&lt;BR /&gt;Type: ACCESS-LIST&lt;BR /&gt;Subtype: log&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;access-group INSIDE-TEMP in interface inside&lt;BR /&gt;access-list INSIDE-TEMP extended permit ip any any&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 4&lt;BR /&gt;Type: IP-OPTIONS&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 5&lt;BR /&gt;Type: INSPECT&lt;BR /&gt;Subtype: np-inspect&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 6&lt;BR /&gt;Type:&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 7&lt;BR /&gt;Type: DEBUG-ICMP&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 8&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;static (inside,inside) 192.168.1.0 192.168.1.0 netmask 255.255.255.0 norandomseq&lt;BR /&gt;&amp;nbsp; match ip inside 192.168.1.0 255.255.255.0 inside any&lt;BR /&gt;&amp;nbsp; &amp;nbsp; static translation to 192.168.1.0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 229, untranslate_hits = 710&lt;BR /&gt;Additional Information:&lt;BR /&gt;Static translate 192.168.1.0/0 to 192.168.1.0/0 using netmask 255.255.255.0&lt;/P&gt;&lt;P&gt;Phase: 9&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype: host-limits&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;static (inside,outside) 192.168.99.0 &amp;nbsp;access-list CBEYOND-NAT&lt;BR /&gt;&amp;nbsp; match ip inside 192.168.1.0 255.255.255.0 outside 10.216.14.64 255.255.255.224&lt;BR /&gt;&amp;nbsp; &amp;nbsp; static translation to 192.168.99.0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 1326, untranslate_hits = 414582&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 10&lt;BR /&gt;Type:&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 11&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype: rpf-check&lt;BR /&gt;Result: DROP&lt;BR /&gt;Config:&lt;BR /&gt;nat (inside) 1 0.0.0.0 0.0.0.0&lt;BR /&gt;&amp;nbsp; match ip inside any inside any&lt;BR /&gt;&amp;nbsp; &amp;nbsp; dynamic translation to pool 1 (No matching global)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 1639, untranslate_hits = 0&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Result:&lt;BR /&gt;input-interface: inside&lt;BR /&gt;input-status: up&lt;BR /&gt;input-line-status: up&lt;BR /&gt;output-interface: inside&lt;BR /&gt;output-status: up&lt;BR /&gt;output-line-status: up&lt;BR /&gt;Action: drop&lt;BR /&gt;Drop-reason: (acl-drop) Flow is denied by configured rule&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 12 Mar 2019 04:52:09 GMT</pubDate>
    <dc:creator>baskervi</dc:creator>
    <dc:date>2019-03-12T04:52:09Z</dc:date>
    <item>
      <title>Problem with Hairpinning on ASA</title>
      <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521607#M216366</link>
      <description>&lt;P&gt;We have an ASA that needs to reroute an ASA to another firewall on the ASA's internal interface. The remote IPs are 10.12.14.0 / 24, so I've added the route to the ASA using "route inside 10.12.14.0 255.255.255.0 192.168.1.252", added "same-security-traffic permit intra-interface", and added the NAT statement "static (inside,inside) 192.168.1.0 192.168.1.0 netmask 255.255.255.0 norandomseq". Traffic is still not flowing but will if I put a static route into each of the local hosts. I've attached the packet tracer, but what confuses me is that phase 8 using "static (inside,inside)", phase 9 uses a static to our private cloud, and phase 11 uses yet another nat statement where the whole process fails. Can someone please help me figure out why traffic is going through so many nat processes and failing? The ASA is running 8.2(2).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ASA(config)# packet-tracer inp inside icmp 192.168.1.10 8 0 10.12.14.196&lt;/P&gt;&lt;P&gt;Phase: 1&lt;BR /&gt;Type: FLOW-LOOKUP&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;BR /&gt;Found no matching flow, creating a new flow&lt;/P&gt;&lt;P&gt;Phase: 2&lt;BR /&gt;Type: ROUTE-LOOKUP&lt;BR /&gt;Subtype: input&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;BR /&gt;in &amp;nbsp; 10.12.14.0 &amp;nbsp; &amp;nbsp; &amp;nbsp;255.255.255.0 &amp;nbsp; inside&lt;/P&gt;&lt;P&gt;Phase: 3&lt;BR /&gt;Type: ACCESS-LIST&lt;BR /&gt;Subtype: log&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;access-group INSIDE-TEMP in interface inside&lt;BR /&gt;access-list INSIDE-TEMP extended permit ip any any&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 4&lt;BR /&gt;Type: IP-OPTIONS&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 5&lt;BR /&gt;Type: INSPECT&lt;BR /&gt;Subtype: np-inspect&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 6&lt;BR /&gt;Type:&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 7&lt;BR /&gt;Type: DEBUG-ICMP&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 8&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;static (inside,inside) 192.168.1.0 192.168.1.0 netmask 255.255.255.0 norandomseq&lt;BR /&gt;&amp;nbsp; match ip inside 192.168.1.0 255.255.255.0 inside any&lt;BR /&gt;&amp;nbsp; &amp;nbsp; static translation to 192.168.1.0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 229, untranslate_hits = 710&lt;BR /&gt;Additional Information:&lt;BR /&gt;Static translate 192.168.1.0/0 to 192.168.1.0/0 using netmask 255.255.255.0&lt;/P&gt;&lt;P&gt;Phase: 9&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype: host-limits&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;static (inside,outside) 192.168.99.0 &amp;nbsp;access-list CBEYOND-NAT&lt;BR /&gt;&amp;nbsp; match ip inside 192.168.1.0 255.255.255.0 outside 10.216.14.64 255.255.255.224&lt;BR /&gt;&amp;nbsp; &amp;nbsp; static translation to 192.168.99.0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 1326, untranslate_hits = 414582&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 10&lt;BR /&gt;Type:&lt;BR /&gt;Subtype:&lt;BR /&gt;Result: ALLOW&lt;BR /&gt;Config:&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Phase: 11&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype: rpf-check&lt;BR /&gt;Result: DROP&lt;BR /&gt;Config:&lt;BR /&gt;nat (inside) 1 0.0.0.0 0.0.0.0&lt;BR /&gt;&amp;nbsp; match ip inside any inside any&lt;BR /&gt;&amp;nbsp; &amp;nbsp; dynamic translation to pool 1 (No matching global)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 1639, untranslate_hits = 0&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Result:&lt;BR /&gt;input-interface: inside&lt;BR /&gt;input-status: up&lt;BR /&gt;input-line-status: up&lt;BR /&gt;output-interface: inside&lt;BR /&gt;output-status: up&lt;BR /&gt;output-line-status: up&lt;BR /&gt;Action: drop&lt;BR /&gt;Drop-reason: (acl-drop) Flow is denied by configured rule&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Mar 2019 04:52:09 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521607#M216366</guid>
      <dc:creator>baskervi</dc:creator>
      <dc:date>2019-03-12T04:52:09Z</dc:date>
    </item>
    <item>
      <title>Hi Baskervi, The packet</title>
      <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521608#M216369</link>
      <description>&lt;P&gt;Hi Baskervi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The packet tracer shows a drop due to RPF, it seems we are missing the global statement:&lt;/P&gt;&lt;P&gt;global (inside) 1 interface&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try adding that command and attach a new packet tracer.&lt;/P&gt;&lt;P&gt;Also try with real traffic.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please remember to rate and select the correct answer.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Oct 2014 04:47:45 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521608#M216369</guid>
      <dc:creator>Harvey Ortiz</dc:creator>
      <dc:date>2014-10-07T04:47:45Z</dc:date>
    </item>
    <item>
      <title>Hi,As Harvey pointed out</title>
      <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521609#M216374</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;As Harvey pointed out earlier , if you want to translate the addresses to the Interface inside IP , the above step should be good.&lt;/P&gt;&lt;P&gt;If you don't want to translate , you would have to add a NAT-EXEMPT on this inside interface to prevent it from using the :-&lt;/P&gt;&lt;P&gt;nat (inside) 1 0.0.0.0 0.0.0.0 &amp;gt;&amp;gt; As this is WIDE open for any IP&lt;/P&gt;&lt;P&gt;NAT exempt would be something like this:-&lt;/P&gt;&lt;P&gt;nat (inside) 0 access-list exempt&lt;/P&gt;&lt;P&gt;access-list exempt permit 192.168.1.0 255.255.255.0 10.12.14.0&amp;nbsp; 255.255.255.0&lt;/P&gt;&lt;P&gt;access-list exempt permit&amp;nbsp;10.12.14.0&amp;nbsp; 255.255.255.0 192.168.1.0 255.255.255.0&lt;/P&gt;&lt;P&gt;Or&lt;/P&gt;&lt;P&gt;Make the NAT statement much more specific&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Vibhor Amrodia&lt;/P&gt;</description>
      <pubDate>Tue, 07 Oct 2014 07:33:36 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521609#M216374</guid>
      <dc:creator>Vibhor Amrodia</dc:creator>
      <dc:date>2014-10-07T07:33:36Z</dc:date>
    </item>
    <item>
      <title>I had actually tried "global</title>
      <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521610#M216386</link>
      <description>&lt;P&gt;I had actually tried "global (inside) 1 interface" yesterday, but it still didn't work as shown in the following. However, I took it out because I created a static NAT rule, and it makes absolutely no sense to me why it would try the static NAT rule and then use the PAT rule. I've also tried with real traffic, which works with a static route on the server.&lt;/P&gt;&lt;P&gt;Phase: 11&lt;BR /&gt;Type: NAT&lt;BR /&gt;Subtype: rpf-check&lt;BR /&gt;Result: DROP&lt;BR /&gt;Config:&lt;BR /&gt;nat (inside) 1 0.0.0.0 0.0.0.0&lt;BR /&gt;&amp;nbsp; match ip inside any inside any&lt;BR /&gt;&amp;nbsp; &amp;nbsp; dynamic translation to pool 1 (192.168.1.1 [Interface PAT])&lt;BR /&gt;&amp;nbsp; &amp;nbsp; translate_hits = 437, untranslate_hits = 0&lt;BR /&gt;Additional Information:&lt;/P&gt;&lt;P&gt;Result:&lt;BR /&gt;input-interface: inside&lt;BR /&gt;input-status: up&lt;BR /&gt;input-line-status: up&lt;BR /&gt;output-interface: inside&lt;BR /&gt;output-status: up&lt;BR /&gt;output-line-status: up&lt;BR /&gt;Action: drop&lt;BR /&gt;Drop-reason: (acl-drop) Flow is denied by configured rule&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 07 Oct 2014 15:29:35 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521610#M216386</guid>
      <dc:creator>baskervi</dc:creator>
      <dc:date>2014-10-07T15:29:35Z</dc:date>
    </item>
    <item>
      <title>Just another thought... I had</title>
      <link>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521611#M216387</link>
      <description>&lt;P&gt;Just another thought...&amp;nbsp;I had done this yesterday for just the top line and not the bottom line of your exempt access list entries. The server was able to ping the remote system for a couple minutes, then the timeouts started occurring.&amp;nbsp;No hosts would able to access the remote locationl However,&amp;nbsp;I put both lines in today, and it works, but I'm not sure why the second line would even matter as asymmetrical routing is occurring (into our firewall, into theirs, but the return traffic only comes from theirs directly to the host). I configured TCP state bypass, which I realize doesn't do anything for ICMP, but this is at least working for the moment. Thanks for your help.&lt;/P&gt;&lt;P&gt;This is a completely separate question, but the ASA doesn't appear to send ICMP&amp;nbsp;redirections as the routers do. Is there a way to change this behavior?&lt;/P&gt;</description>
      <pubDate>Tue, 07 Oct 2014 16:07:20 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/problem-with-hairpinning-on-asa/m-p/2521611#M216387</guid>
      <dc:creator>baskervi</dc:creator>
      <dc:date>2014-10-07T16:07:20Z</dc:date>
    </item>
  </channel>
</rss>

