The third party is requiring a unique public IP for the "Gateway IP", but then also another public IP for the "encryption domain". The connecting partner won't allow ANY private IPs in their tunnel definitions. Can VNS3 solve this problem?
Yes, this is something we do all the time, and it is fairly straightforward to set up.
Here is the gist:
Let's pretend the network behind your customer's device is:
And their IPsec device is at 188.8.131.52
Let's pretend your VNS3 Overlay Network is:
And your VNS3 instance gets an EIP of 184.108.40.206
The problem is they won't talk directly to your 172.16.0.0/22 Overlay Network (for example).
What you do is: in another VPC (preferably a separate AWS account), allocate a new EIP but DO NOT associate it to anything. Leave it there, and alone "forever". Let's pretend you received 220.127.116.11.
You would create the IPsec endpoint to 18.104.22.168 as normal, then use that new EIP to define the tunnel to the partner's IPsec device.
So instead of trying to create tunnel/cryptomap/policy like this: 172.16.0.17/32 - 10.10.0.0/16, you will do: 22.214.171.124/32 - 10.10.0.0/16
Then in a simple operation in the VNS3 Firewall, we need to "netmap" the inbound traffic for 126.96.36.199 to 172.16.0.17/32 and back again on the way out:
PREROUTING_CUST -s 10.10.0.0/16 -d 188.8.131.52/32 -j NETMAP --to 172.16.0.17/32
POSTROUTING_CUST -s 172.16.0.17/32 -d 10.10.0.0/16 -j NETMAP --to 184.108.40.206/32
Alternatively, you can use an SNAT rule to let you entire 172.16.0.0/22 overlay reach across:
POSTROUTING_CUST -s 172.16.0.0/22 -d 10.10.0.0/16 -j SNAT --to 220.127.116.11
In the second case, your peer would not be able to initiate connections to your overlay hosts due to the NAT.
In the first case, only the .17 host is able to use the tunnel, but connections can be made in either direction.
NOTE: in the event you are using the unencrypted underlay VLAN for your cloud network as an alternative to the unencrypted Overlay Network, simply include this additional rule in the VNS3 firewall:
FORWARD_CUST -j ACCEPT