<?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 ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet in Network Security</title>
    <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393116#M955918</link>
    <description>&lt;P&gt;I have an interesting request from a remote-site&amp;nbsp;not wanting to allow access to a public facing IP. &amp;nbsp;We have a tunnel between their ASA &amp;amp; ours which hairpins traffic to 2 networks out the outside interface.&lt;/P&gt;
&lt;P&gt;(IPs have been changed to protect the innocent)&lt;/P&gt;
&lt;P&gt;From the remote-site&amp;nbsp;perspective, they are pointing a host to 10.0.0.1 &amp;amp; 10.0.0.2, then NATing on the edge of their tunnel to destinations 172.16.0.1 &amp;amp; 172.16.0.2 (to keep everything pointed to private IPs).&lt;/P&gt;
&lt;P&gt;Our outside interface has a private IP&amp;nbsp;on the 172.16.0.x/24 network.&lt;/P&gt;
&lt;P&gt;172.16.0.1 is the real IP of SERVER1&lt;/P&gt;
&lt;P&gt;172.16.0.2 is an unused dummy IP on the same subnet, &amp;amp; is only used to NAT to the public I'll refer to as 8.8.8.8.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All traffic is initiated from the client's private network, so I would think the stateful TCP connections should allow this to work, &amp;amp; I was able to prove this works in my ASA lab with a simple hairpin nat, but it doesn't seem to be working on the real network with a tunnel involved. &amp;nbsp;Is there something I'm missing that I need to do to allow this to work? &amp;nbsp;Packet-tracer shows the NATing is working as expected, but it claims a deny&amp;nbsp;at the end of the hairpin because it's no longer tunneled traffic once it's headed for the public internet. &amp;nbsp;I've seen in other forums that this is a normal limitation to the packet-tracer tool in regards to tunneled traffic.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have&amp;nbsp;same-security-traffic permit inter/intra-interface enabled. &amp;nbsp;Either one of my nat statements "should" work, but it doesn't seem to be doing the trick.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've included a generic firewall in the drawing to show our public IP for the L2L tunnel is passed through another firewall to us, &amp;amp; that this firewall has the 172.16.0.0/24 network connected to it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What am I missing to make this work as desired?&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hairpin.png" style="width: 999px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/12680iC54CA4E872A1E756/image-size/large?v=v2&amp;amp;px=999" role="button" title="hairpin.png" alt="hairpin.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;(EDIT/update with details on my ASA)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object network PRIV-IP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;host 172.16.0.2&lt;BR /&gt;object network PUB-IP&lt;BR /&gt;&amp;nbsp;host 8.8.8.8&lt;BR /&gt;object network REMOTE-HOST&lt;BR /&gt;&amp;nbsp;host 192.168.1.10&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;host 192.168.1.11&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object-group network REMOTE-SITE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;network-object object REMOTE-HOST&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;network-object object REMOTE-HOST2&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;access-list TUNNEL-ACL extended permit ip object SERVER1 object-group REMOTE-SITE &lt;BR /&gt;access-list TUNNEL-ACL extended permit ip object PRIV-IP object-group REMOTE-SITE &lt;BR /&gt;crypto map outside_map 10 match address TUNNEL-ACL&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;nat (outside,outside) source static REMOTE-HOST REMOTE-HOST destination static PRIV-IP PUB-IP&lt;BR /&gt;[should also work?] nat (outside,outside) source dynamic REMOTE-HOST interface destination static PRIV-IP PUB-IP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST&lt;/P&gt;
&lt;P&gt;&amp;nbsp;nat (outside,outside) dynamic interface&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;nat (outside,outside) dynamic interface&lt;/P&gt;</description>
    <pubDate>Fri, 21 Feb 2020 15:50:34 GMT</pubDate>
    <dc:creator>wstucky01</dc:creator>
    <dc:date>2020-02-21T15:50:34Z</dc:date>
    <item>
      <title>ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393116#M955918</link>
      <description>&lt;P&gt;I have an interesting request from a remote-site&amp;nbsp;not wanting to allow access to a public facing IP. &amp;nbsp;We have a tunnel between their ASA &amp;amp; ours which hairpins traffic to 2 networks out the outside interface.&lt;/P&gt;
&lt;P&gt;(IPs have been changed to protect the innocent)&lt;/P&gt;
&lt;P&gt;From the remote-site&amp;nbsp;perspective, they are pointing a host to 10.0.0.1 &amp;amp; 10.0.0.2, then NATing on the edge of their tunnel to destinations 172.16.0.1 &amp;amp; 172.16.0.2 (to keep everything pointed to private IPs).&lt;/P&gt;
&lt;P&gt;Our outside interface has a private IP&amp;nbsp;on the 172.16.0.x/24 network.&lt;/P&gt;
&lt;P&gt;172.16.0.1 is the real IP of SERVER1&lt;/P&gt;
&lt;P&gt;172.16.0.2 is an unused dummy IP on the same subnet, &amp;amp; is only used to NAT to the public I'll refer to as 8.8.8.8.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All traffic is initiated from the client's private network, so I would think the stateful TCP connections should allow this to work, &amp;amp; I was able to prove this works in my ASA lab with a simple hairpin nat, but it doesn't seem to be working on the real network with a tunnel involved. &amp;nbsp;Is there something I'm missing that I need to do to allow this to work? &amp;nbsp;Packet-tracer shows the NATing is working as expected, but it claims a deny&amp;nbsp;at the end of the hairpin because it's no longer tunneled traffic once it's headed for the public internet. &amp;nbsp;I've seen in other forums that this is a normal limitation to the packet-tracer tool in regards to tunneled traffic.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have&amp;nbsp;same-security-traffic permit inter/intra-interface enabled. &amp;nbsp;Either one of my nat statements "should" work, but it doesn't seem to be doing the trick.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've included a generic firewall in the drawing to show our public IP for the L2L tunnel is passed through another firewall to us, &amp;amp; that this firewall has the 172.16.0.0/24 network connected to it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What am I missing to make this work as desired?&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hairpin.png" style="width: 999px;"&gt;&lt;img src="https://community.cisco.com/t5/image/serverpage/image-id/12680iC54CA4E872A1E756/image-size/large?v=v2&amp;amp;px=999" role="button" title="hairpin.png" alt="hairpin.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;(EDIT/update with details on my ASA)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object network PRIV-IP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;host 172.16.0.2&lt;BR /&gt;object network PUB-IP&lt;BR /&gt;&amp;nbsp;host 8.8.8.8&lt;BR /&gt;object network REMOTE-HOST&lt;BR /&gt;&amp;nbsp;host 192.168.1.10&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;host 192.168.1.11&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object-group network REMOTE-SITE&lt;/P&gt;
&lt;P&gt;&amp;nbsp;network-object object REMOTE-HOST&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;network-object object REMOTE-HOST2&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;access-list TUNNEL-ACL extended permit ip object SERVER1 object-group REMOTE-SITE &lt;BR /&gt;access-list TUNNEL-ACL extended permit ip object PRIV-IP object-group REMOTE-SITE &lt;BR /&gt;crypto map outside_map 10 match address TUNNEL-ACL&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;nat (outside,outside) source static REMOTE-HOST REMOTE-HOST destination static PRIV-IP PUB-IP&lt;BR /&gt;[should also work?] nat (outside,outside) source dynamic REMOTE-HOST interface destination static PRIV-IP PUB-IP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST&lt;/P&gt;
&lt;P&gt;&amp;nbsp;nat (outside,outside) dynamic interface&lt;/P&gt;
&lt;P&gt;object network REMOTE-HOST2&lt;/P&gt;
&lt;P&gt;&amp;nbsp;nat (outside,outside) dynamic interface&lt;/P&gt;</description>
      <pubDate>Fri, 21 Feb 2020 15:50:34 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393116#M955918</guid>
      <dc:creator>wstucky01</dc:creator>
      <dc:date>2020-02-21T15:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393193#M955919</link>
      <description>&lt;P&gt;Are you NATing at both firewalls? 10.0.0.2 to 172.16.0.2 and then again 172.16.0.2 to 8.8.8.8?&lt;/P&gt;</description>
      <pubDate>Sun, 03 Jun 2018 13:03:55 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393193#M955919</guid>
      <dc:creator>Marius Gunnerud</dc:creator>
      <dc:date>2018-06-03T13:03:55Z</dc:date>
    </item>
    <item>
      <title>Re: ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393296#M955920</link>
      <description>&lt;P&gt;yes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Updated original post with more details, but here's the essential nat flow:&lt;/P&gt;
&lt;P&gt;10.0.0.2 &amp;gt; 172.16.0.2 (tunnel) 172.16.0.2 &amp;gt; 8.8.8.8&lt;/P&gt;</description>
      <pubDate>Sun, 03 Jun 2018 20:12:56 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3393296#M955920</guid>
      <dc:creator>wstucky01</dc:creator>
      <dc:date>2018-06-03T20:12:56Z</dc:date>
    </item>
    <item>
      <title>Re: ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3396413#M955921</link>
      <description>Can you add route-lookup at the end of the nat statement?&lt;BR /&gt;</description>
      <pubDate>Fri, 08 Jun 2018 13:28:28 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3396413#M955921</guid>
      <dc:creator>Florin Barhala</dc:creator>
      <dc:date>2018-06-08T13:28:28Z</dc:date>
    </item>
    <item>
      <title>Re: ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3402854#M955922</link>
      <description>&lt;P&gt;No, it will not accept that command. &amp;nbsp;I think I can only use that if I'm keeping the NATs the same&amp;nbsp;on the statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry for the delay- I was waiting on feedback if I could have the remote ASA NAT to the real IP before the tunnel but was just denied, so I'm back to trying to making this thrice-nat thing work again.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Jun 2018 17:47:51 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3402854#M955922</guid>
      <dc:creator>wstucky01</dc:creator>
      <dc:date>2018-06-20T17:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: ASA 5510 Hairpin/U-Turn Traffic to escape tunnel to public internet</title>
      <link>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3674632#M955923</link>
      <description>&lt;P&gt;UPDATE:&lt;/P&gt;
&lt;P&gt;I ended up routing this traffic Inside instead of haripinning. &amp;nbsp;Funny thing is it still didn't work until I removed the network objects referenced in the NAT statement &amp;amp; added them back. &amp;nbsp;Since that fixed it, I didn't care to try it with the hairpin again to see if that was really all I needed to do.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Jul 2018 17:57:19 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/asa-5510-hairpin-u-turn-traffic-to-escape-tunnel-to-public/m-p/3674632#M955923</guid>
      <dc:creator>wstucky01</dc:creator>
      <dc:date>2018-07-25T17:57:19Z</dc:date>
    </item>
  </channel>
</rss>

