VPN Protocol suggested for large Hub and Spoke topology

VPN Protocol

  • Gre/Ipip/Eoip over IPSec
  • ROS7 OpenVPN (udp)
  • Wireguard
  • PPTP
  • L2TP
  • SSTP
0 voters

Hello Forum,
I was wondering which is the best VPN protocol for a large Hub and Spoke topology based on your previous experiences.
In my scenario, I am talking about 50+ spokes. Every firewall site is a Mikrotik device. The HQ firewall is a CCR1036.

In order to make you understand better:

  • HQ has two Internet links, each of them with a /28 public subnet.
  • BO has three Internet links, each of them with a single IP address.

Basically, I want to realize every possible transport interface from BOs to HQ.
Here a stupid screenshot that can help.
Focus-Single-Scenario.PNG

  1. Which is the best way to realize the transport layer?
  • GRE/IPIP/EOIP over IPSEC ? If yes, in which way?
  • RouterOS 7 OpenVPN over UDP?
  • Wireguard?
    … any other suggestion?
  1. BO will have the VPN transport tunnel as default route. Is it suggested to use a Dynamic routing protocol like OSPF?
    Be aware of the fact I want to be able to separate data and voice traffic over two different transport tunnels.

  2. Any suggestion about things I should care about while realizing this kind of project?

Thanks !

That sounds like a management nightmare. Most people use dmvpn for such a use case. No matter what you do, your going to want to automate everything. if you can script then use your language of choice, if you can’t then look into ansible. good luck, as that’s a huge undertaking

Is this a typical network one sees in the field or is it a homework question??

Based on his other questions, its a relatively long standing problem, so probably not a homework question.

Unfortunately it’s a real scenario, any suggestion would be appreciated…

I agree.. I’ll see what I can do…

It also depends on what functionality you expect from the two internet links at the HQ.
We have a structure like that, and we use L2TP/IPsec with a DNS name that resolves to the two addresses of the HQ.
On connection, the BO do a DNS request and get a “random” sequence of the two addresses (you need to check if your DNS provider does rotate them), and the BO connects via one of the two paths.
When that fails at some point in time, it retries and eventually reconnects to the working one. But at any time there is only one active L2TP link.

An advantage is that this solution scales quite well, you only need a user/password for each BO in the HQ. We assign it a fixed IP and use BGP to route the subnets for the BO.
This also means you can add additional links, e.g. a backup link via 4G or a link between two BO, and include them in the BGP so they will automatically be used in the routing table.
In fact you can also use this to setup more than one permanent link between BO and HQ and switchover the routing when one fails. However, in RouterOS it is infeasible to do balancing over these two links, so it will always be a primary/secondary (hot standby) solution.

You can also integrate fixed GRE tunnels in such a setup, but of course it requires manual configuration for each of them and of course fixed external IP addresses (or at least a fixed DNS name mapped to the variable address, e.g. via a DDNS service).

IPsec with GRE and OSPF with ECMP on top… Thats the classical solution to solve this.

If you have Mikrotiks on both ends, then EoIP with IPSEC should give you best “wireline compatible” link.

When you have a network like that, with 50+ nodes, EoIP (or L2TP ethernet bridging) is the LAST thing you want to use!

So inquiring minds what to know.

WHO is full of shit then

pe1chl or root. I should start a poll. My bet is on root, to be full of it! :wink:

I would pay the money for zerotier if I were in your shoes. Zerotier can seamlessly use all links and does all the hard work behind the scenes. It’s a SD-WAN type solution which is exactly what your looking for.

zerotier is not available on all models and thus a cautionary offering. :wink:

True, but it can be spun up on, and ran off of almost any linux box. but then your adding complexity, cost and reliability issues.

As per the OPs notes; “Every firewall site is a Mikrotik device.”

Nobody asked what is the current solution that he uses.
Also you can scratch OpenVPN from that list as OpenVPN and RouterOS aren’t friends yet.

I had Bad experiences with EoIP, I would not consider it.

It could be an idea but since I have also tile, mibpse devices and so on, it can’t be a way.

Wanna laugh?
First setup, years ago, I had PPTP.
Not secure anymore, but not bad performances after all.
Then I switched on OpenVPN TCP. A completely disaster.
Now I am in a hybrid situation between Gre/IPSEC and OpenVPN.

Notes:

  1. All the Mikrotiks have the last versions of routerOS 6
  2. I am experiencing some problems with Gre/IPSEC… @pe1chl tried to help me a few months ago without success. (Still trying to fix them)

My hope was about OpenVPN with UDP with the new RouterOS but…
well… in testing environments on tile Mikrotiks, it causes a kernel panic…
I opened a ticket with the support and it will be fixed with 7.1.4…

Ok I use GRE/IPsec (and also without IPsec) and L2TP/IPsec in production on routers with TILE and MIPSBE on RouterOS v6 without any issues.
I use BGP on top of that for the routing, others use OSPF (may be better suited, I have no practical experience with it).

Do you have any configuration with keepalive active?
What is your setup with DPD?

Cisco has a document about GRE keepalives over IPSec Encryption.
https://www.cisco.com/c/en/us/support/docs/ip/generic-routing-encapsulation-gre/118370-technote-gre-00.html#anc7
Is RouterOS afflicted the same?

…It could be my problem afterall…

Sounds like a real challenge. How many routers are there in total and how many are working full time with network operations? Any requirements on uptime like 24/7 operations or throughput?

I always configure GRE without keepalive, it is known to be a problem in interoperability.
With IPsec I use the default DPD settings.
I never see the IPsec issues that sometimes occur when DPD does not work (link dead for the remainder of the 8 hour lifetime).
With plain GRE I sometimes see issues when the other end is behind a NAT router. Some of them get in incorrect state and can be recovered by a reboot or keeping the GRE tunnel silent for >5 minutes.
In such cases I add IPsec and it normally is solved. L2TP/IPsec is the least troublesome, although it is known to cause issues when clients are behind CGNAT (e.g. mobile users).