[strongSwan] working example of GRE over IPSec when both VPN servers are behind NAT
Florin Andrei
florin at andrei.myip.org
Wed Jul 10 03:51:31 CEST 2019
I'm trying to figure out this scenario:
Two VPN servers (running some version of Red Hat Linux or a similar
distro). Both are behind NAT (AWS instances with private IPs assigned to
eth0, and public EIPs attached to them - so all their Internet traffic
is NATed to the EIP addresses). I want to create an IPSec tunnel between
these systems. Within IPSec, I want to create a GRE tunnel. I want to
keep the IPSec configuration (especially routing) as simple as possible
- just the minimum required for GRE. Through GRE, later on, I will do
more complex routing (BGP, etc) - but that's phase 2, and I haven't
figured out phase 1 yet (plain GRE through IPSec when the IPSec tunnel
is NATed on both sides).
I could not find a single working example of this scenario anywhere.
I've found some examples that assume there is no NAT between the VPN
servers. Due to the way IPSec works, there are very substantial
differences between NAT and non-NAT scenarios.
I've tried to build a test environment with GRE encapsulated in IPSec,
as described above, but I can't make GRE work at all.
I've used strongSwan before, for site-to-site VPN with static routing,
it was not hard to setup, and it worked great. But GRE tunnels in a
fully NATed scenario seem a lot more difficult. Maybe I'm missing
something obvious.
#############################
Speaking in general, when IPSec servers are behind NAT, everything
becomes exponentially more complicated when setting up anything related
to IPSec. A lot of tunnels - GRE, VTI, etc - assume certain facts about
the IP at the other end of the tunnel, and NAT breaks all those
assumptions. This is a major difficulty when you're trying to setup VPN
and you're not familiar with very intricate details of IPSec and routing
on Linux. Some examples of working configurations would be extremely
helpful. But this is just a general observation.
--
Florin Andrei
http://florin.myip.org/
More information about the Users
mailing list