- Products
- Learn
- Local User Groups
- Partners
- More
Access Control and Threat Prevention Best Practices
5 November @ 5pm CET / 11am ET
Ask Check Point Threat Intelligence Anything!
October 28th, 9am ET / 3pm CET
Check Point Named Leader
2025 Gartner® Magic Quadrant™ for Hybrid Mesh Firewall
HTTPS Inspection
Help us to understand your needs better
CheckMates Go:
Spark Management Portal and More!
Thanks for all the help and apologies for not replying.
It took a LOT of work to get this working, but we managed it.
I'll paste my instructions below after anonymizing them.
Basic Plan |
1. Make new AWS tunnel, add Transit Gateway on AWS end. |
2. Build VTI interfaces on both firewalls for both tunnels (4 in total) on Check Point End |
3. Resolve routing issues in AWS (remove static routes, add BGP) |
4. Check BGP is advertising the new routes. |
5. Test traffic flow down the new tunnels. |
6. Test redundancy with failover test etc. |
We cannot use the old VPN tunnels as they do not support BGP.
Make new VPN tunnels, using BGP, and using the same Transit Gateway and Customer Gateway as the old tunnel uses.
Use the same name as the old tunnel, but with “-bgp” appended to the name.
We are doing this through Click Ops. this is not too difficult for people with basic AWS training.
Lastly, once the tunnel is built, download the configuration with the button, choose “Check Point” and R80.10+
Gateway Cluster properties -> Network Management -> VPN Domain
Tick "Exclude Gateway’s external IP from the VPN Domain"
Set specific VPN domain we are working on to "Empty_Group" so that other VPN tunnels are not affected.
We don’t want to turn on Anti-Spoofing for all external traffic, just for AWS traffic & all virtual tunnel peers.
The object already exists and can be used for all Gateway clusters, but will need the virtual tunnel peers added for each Gateway cluster we do.
The old names we use are too long, they get cut off in one of the fields in Smart Console, this makes them both the “same” name which does not work.
Work out new objects names from the old ones. For example AWS-TRANSIT-CORE-EU-WEST1-OFFICE3-TUNNEL2 turns into to AWS-TRANSIT-CORE-EU-WEST2-O3-T1.
This will allow each name to stay unique in the field where it is too long.
For now, just write this down, we don’t need to make this change in Smart Console as we will actually make these objects in CLISH
NOTE! Using objects we named in the previous step.
Download the instructions from the AWS website.
Find the tunnel instruction commands and modify them.
add vpn tunnel 1 type numbered local 169.xx.xx.170 remote 169.xx.xx.169 peer AWS_Tunnel1
set interface vpnt1 state on
set interface vpnt1 mtu 1399
save config
TO
add vpn tunnel 1 type numbered local 169.xx.xx.1 remote 169.xx.xx.169 peer AWS-TRANSIT-CORE-EU-WEST1- S0-T1
set interface vpnt1 state on
set interface vpnt1 mtu 1399
save config
Note, not only has the name changed, but we have also put in a “fake” IP. This is because the cluster object uses the real, .170 IP. We use “1” as our IP as it helps us work out which tunnel this IP is linked to and is different enough from the real one that you cannot accidentally mistake it for one of the real IPs.
Don’t forget there are 4 tunnels in total, 1 for each Firewall / Gateway, plus 2 for the 2 tunnels, makes a total of 4. Make sure you make all four in CLISH (two per gateway).
Use the same VPN object as the old tunnels, this is not an issue as nothing is changed until we publish the changes.
Add new objects we just made to Satellite objects locations. (This removes the old tunnels from use, and lines up our new one.)
Set VPN Domain to “EmptyGroup” if not already.
Turned off MEP
Turned off NAT
Set Phase 1 & 2 timers to 60 mins (known to resolve some bugs)
All other settings can stay the same.
Go into the Gateway cluster’s properties, then go to Network Management.
Click “Get Interfaces” -> “Without Topology”
You will see the two new VPN Tunnels appear (only 1 in the picture below)
You must now configure the correct cluster IP. Double click on “vpnt1” in the list.
You will see the two “fake” IPs we created earlier, and an empty field for the clustered IP.
Place the real IP (.170 in our earlier example) into the IPv4 box.
Do the same for “VPNT2” with the correct IP for that tunnel.
We need to build custom NAT rules because the clustered IP without custom NAT will stop BGP traffic being replied to.
We need to build two sets of NAT Rules.
The VPN tunnel needs to translate the two “fake” IPs (Source) into the cluster IP (translated source) so that the return traffic has a real IP address to be sent to.
Make all the objects listed above, then create these rules.
Then make the objects again for Tunnel 2 (see pic above for the correct layout)
Next we make the “Do not NAT” NAT. This turns off NAT for other traffic which goes down the tunnel we are making.
This rule is pretty simple, it takes all local traffic, and if it’s moving to AWS it keeps all NAT info to original, IE no NAT. The rule below is the same, but in reverse.
We need to make two major changes to the policy. We need to add in BGP rules, and remove the VPN setting for traffic we plan to move down the tunnel (or convert the VPN settings to be the same as the BGP Out rule)
As you can see, the rules allow BGP traffic from the Local tunnel addresses, to the remote tunnel addresses. The VPN settings are more unique though.
For the VPN settings we need to use “Directional Match Condition” VPN, we cannot use traditional VPN. If we do, it will not work. (A different daemon will process it, and it will not be pushed down the tunnel)
Hope this helps others.
About CheckMates
Learn Check Point
Advanced Learning
YOU DESERVE THE BEST SECURITY