<?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 NAT Failover SK 25152 in General Topics</title>
    <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281737#M46822</link>
    <description>&lt;P&gt;For your ISP redundancy question: Outbound is gonna be pinned to the ISP link that's active from the cpisp_update script, and that will be selected in the NAT rule like the SK shows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 01 Sep 2026 14:23:28 GMT</pubDate>
    <dc:creator>Duane_Toler</dc:creator>
    <dc:date>2026-09-01T14:23:28Z</dc:date>
    <item>
      <title>Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281694#M46803</link>
      <description>&lt;P&gt;Hello! We are attempting to set up ISP Redundancy for our static NAT objects according to &lt;A href="https://support.checkpoint.com/results/sk/sk25152" target="_self"&gt;SK 25152&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;We have done all of the steps up until step 10 where the&amp;nbsp;&lt;SPAN&gt;cpisp_update script is updated. In the SK it shows this:&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# You can see which ISP link is up with this command: tail -f /tmp/cpisp_state
echo "--------------------------" &amp;gt;&amp;gt; /tmp/cpisp_state
echo `/bin/date +%d-%b-%Y_%Hh-%Mm-%Ss` &amp;gt;&amp;gt; /tmp/cpisp_state
echo "RESTARTING SCRIPT" &amp;gt;&amp;gt; /tmp/cpisp_state
echo "LINK1" &amp;gt;&amp;gt; /tmp/cpisp_state
echo $LINK1_STATE &amp;gt;&amp;gt; /tmp/cpisp_state
echo "LINK2" &amp;gt;&amp;gt; /tmp/cpisp_state
echo $LINK2_STATE &amp;gt;&amp;gt; /tmp/cpisp_state
echo "--------------------------" &amp;gt;&amp;gt; /tmp/cpisp_state
echo " " &amp;gt;&amp;gt; /tmp/cpisp_state

# Check if the Link is up or down
if ($LINK2_STATE == "down" || $LINK2_STATE == "disabled") then
  fw tab -t dynobj_cache -x -y
  dynamic_objects -o DYN_ISP_A -r 0.0.0.0 255.255.255.255 -a
  dynamic_objects -o DYN_ISP_B -r 0.0.0.0 255.255.255.255 -d
  dynamic_objects -o DYN_ISP_B -r 0.0.0.0 0.0.0.0 -a 
endif

if ($LINK1_STATE == "down" || $LINK1_STATE == "disabled") then
  fw tab -t dynobj_cache -x -y
  dynamic_objects -o DYN_ISP_B -r 0.0.0.0 255.255.255.255 -a
  dynamic_objects -o DYN_ISP_A -r 0.0.0.0 255.255.255.255 -d
  dynamic_objects -o DYN_ISP_A -r 0.0.0.0 0.0.0.0 -a 
endif&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;In the previous step, I added the dynamic objects and replaced 0.0.0.0 0.0.0.0 with our Public IP ranges from the ISPs. Do I need to add the ISP ranges to this script as well or keep it exactly as shown?&lt;/P&gt;</description>
      <pubDate>Mon, 31 Aug 2026 18:16:28 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281694#M46803</guid>
      <dc:creator>Jesse140515</dc:creator>
      <dc:date>2026-08-31T18:16:28Z</dc:date>
    </item>
    <item>
      <title>Re: Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281707#M46809</link>
      <description>&lt;P&gt;If you're indeed referring to *static* NAT, then this script is of no use. &amp;nbsp;Static NAT is (by definition) just that; static. &amp;nbsp;What you need for static NAT on ISP Redundancy is manual NAT entries for the internal host and manual static NAT for an IP on both ISP interfaces. &amp;nbsp;You can get away with DNS trickery with an external DNS host if you list multiple IPs for the host (round-robin externally). &amp;nbsp;The firewall will track the inbound/outbound connections for that external host to your inbound static NAT host, regardless of the ISP it came in on. &amp;nbsp;Downside with this trickery is that you are fully at the mercy of external round-robin; might not be an issue if both ISP links are similar (100mbps here, 120mbps there).&lt;/P&gt;
&lt;P&gt;However, the preferred/recommended/documented way, tho, is to let the firewall read the inbound DNS requests which means (yay!) you hosting your own DNS server internally so the firewall re-writes the DNS reply based on the DYN_ISP_A/DYN_ISP_B state. &amp;nbsp;This only works if you build the table of hostnames and their ISP A/B IP addresses. &amp;nbsp;Not fun to do. &amp;nbsp;(are you *sure* you want to host static NAT through ISP Redundancy? just sayin'... &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; ).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The ISP update script is more appropriate for primary/backup failure for outbound only. &amp;nbsp;It doesn't matter for inbound traffic (because that's not the goal of ISP Redundancy).&lt;/P&gt;
&lt;P&gt;The inbound static NAT rule will be:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;- original_source: Any
  original_destination: HostA_ISP1_NAT
  translated_source: Original
  translated_destination: HostA
- original_source: Any
  original_destination: HostA_ISP2_NAT
  translated_source: Original
  translated_destination: HostA
&lt;/LI-CODE&gt;
&lt;P&gt;Because it's manual now, you'll need an outbound NAT for *each* ISP for this host, and that's where you DYN_ISP_A/DYN_ISP_B dynamic objects come into play:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;- original_source: HostA
  original_destination: DYN_ISP_A
  translated_source: HostA_ISP1_NAT
  translated_destination: Original
- original_source: HostA
  original_destination: DYN_ISP_B
  translated_source: HostA_ISP2_NAT
  translated_destination: Original
&lt;/LI-CODE&gt;
&lt;P&gt;Yes, you counted that correctly.. 4 rules per host. &amp;nbsp;Yep. &amp;nbsp;It's not so bad now with Ansible, tho (in fact I just gave you the YAML model for them) &amp;nbsp; However, "back in the day" when I configured this on R70.40 manually clicking my way through SmartDashboard... omg... and *of course* the customer had a dozen or so hosts. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Be sure you also set some ISP link aliveness check. &amp;nbsp;Unique ping hosts per ISP. &amp;nbsp;The firewall will take care of emitting these packets; no route table trickery necessary.&lt;/P&gt;
&lt;P&gt;Anyhoo.. it works.. it's just a pain to setup the one time. &amp;nbsp;That's why it's considered "poor man's BGP". &amp;nbsp;Once it's in place, it works well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 02:06:52 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281707#M46809</guid>
      <dc:creator>Duane_Toler</dc:creator>
      <dc:date>2026-09-01T02:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281735#M46820</link>
      <description>&lt;P&gt;Thanks for the reply! We use AWS for our external DNS with health checks that will fail over to the secondary if the primary is inaccessible. I have created 3 manual objects for the host, Host_ISPA, Host_ISPB, and Host_Internal. So if I'm understanding you correctly, it should just work for inbound NAT since the firewall will receive the traffic from AWS in the event of a primary ISP outage? The firewall is configured with ISP redundancy in primary/backup mode as a whole, so would I still need to configure outbound NAT objects for each host or will the firewall figure out how to route the traffic automatically?&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 14:20:06 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281735#M46820</guid>
      <dc:creator>Jesse140515</dc:creator>
      <dc:date>2026-09-01T14:20:06Z</dc:date>
    </item>
    <item>
      <title>Re: Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281736#M46821</link>
      <description>&lt;P&gt;Yep! So long as the packet "gets there", you're good to go.&lt;/P&gt;
&lt;P&gt;Granted "get there" would also mean you need to have proxy ARP in place, one way or another. &amp;nbsp;Global Properties has the option now to merge manual proxy ARP. &amp;nbsp;Be sure you verify this is published before troubleshooting the wrong things (&lt;EM&gt;&lt;FONT face="andale mono,times"&gt;fw ctl arp -n&lt;/FONT&gt;&lt;/EM&gt; is your friend here.)&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 14:18:37 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281736#M46821</guid>
      <dc:creator>Duane_Toler</dc:creator>
      <dc:date>2026-09-01T14:18:37Z</dc:date>
    </item>
    <item>
      <title>Re: Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281737#M46822</link>
      <description>&lt;P&gt;For your ISP redundancy question: Outbound is gonna be pinned to the ISP link that's active from the cpisp_update script, and that will be selected in the NAT rule like the SK shows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 14:23:28 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281737#M46822</guid>
      <dc:creator>Duane_Toler</dc:creator>
      <dc:date>2026-09-01T14:23:28Z</dc:date>
    </item>
    <item>
      <title>Re: Question about NAT Failover SK 25152</title>
      <link>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281808#M46830</link>
      <description>&lt;P&gt;Hi, our outbound NAT is hidden behind the firewall's IP address, so I don't believe we need to configure outbound NAT for each host. The issue we're running into now is that the manual inbound NAT will work for a few hours, but then it dies and the host is inaccessible from the internet. We have health checks running in AWS and the firewall logs show that traffic flow stopping. We have 'merge manual ARP' enabled on the firewalls. I set the AWS record to simple so that it's forced to resolve to that address without dependency on the health check, so I don't think this is an AWS issue.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I ran 'fw ctl arp -n' and do not see the public IP of the object. ip neighbor does show the local address of the host in question. Is this issue likely related to ARP?&lt;/P&gt;</description>
      <pubDate>Wed, 02 Sep 2026 23:56:58 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/General-Topics/Question-about-NAT-Failover-SK-25152/m-p/281808#M46830</guid>
      <dc:creator>Jesse140515</dc:creator>
      <dc:date>2026-09-02T23:56:58Z</dc:date>
    </item>
  </channel>
</rss>

