I absolutely love RouterOS. It’s the same software that runs on every MikroTik router. It’s also available as a VM image in level 4, 5 and 6 licenses, depending on how many VPN tunnels you need to support. It supports the out-of-the-box L2TP/ipsec functionality on the Windows 10 VPN client, MacOS client, Android client, and iPhone client. So, no need for additional client software to be installed. If you’re using Windows 10, it also supports SSTP. If you have some other VPN routers that may not be so good (only support PPTP), RouterOS also supports that (I don’t recommend it though, for security reasons).
There’s plenty of tutorials for setting it up because MikroTik/RouterOS has a lot of grassroots support:
https://www.google.com/search?rlz=1C1GCEU_enCA920CA921&sxsrf=ALeKk00wDLv0q066xQqL_eRcCKPvZ4KgTQ%3A1604738375005&ei=Rl2mX4zzPLKk_Qb245PACw&q=how+to+connect+to+a+routeros+l2tp%2Fipsec+vpn&oq=how+to+connect+to+a+routeros+l2tp%2Fipsec+vpn&gs_lcp=CgZwc3ktYWIQAzIICCEQFhAdEB46BAgjECc6BQgAEJECOggIABCxAxCDAToLCC4QsQMQxwEQowI6BQgAELEDOgIILjoECC4QQzoICAAQyQMQkQI6CAguEMcBEK8BOgIIADoHCAAQFBCHAjoFCAAQyQM6BggAEBYQHjoHCAAQyQMQDToECAAQDToJCAAQyQMQFhAeOgQIIRAVOgUIIRCgAToHCCEQChCgAVD6kQdYmI8IYNKgCGgJcAF4AIABeIgBiCWSAQU0Mi4xMJgBAKABAaoBB2d3cy13aXrAAQE&sclient=psy-ab&ved=0ahUKEwiMrrKmhPDsAhUyUt8KHfbxBLgQ4dUDCA0&uact=5
If you want to install it on Vultr, here are the instructions:
https://www.wirelessnetware.ca/blog/mikrotik-canada-install-mikrotik-routeros-on-a-vultr-vps/
If you want to install it on your own virtualization environment, I’ve successfully run it on VMWare, KVM and Virtualbox.
You’ll need to download a CHR file (Cloud Hosted Router: vmdk, vhdx, vdi, ova, img formats) from:
https://mikrotik.com/download#chr
Or an ISO file (for virtualization platforms that you can’t use the CHR file formats on) from:
https://mikrotik.com/download#md5_6_47_7
After you’ve downloaded that, you’ll need to purchase a license. One place you can purchase them from is Wireless Netware (https://www.shop.wirelessnetware.ca/35-software). Full disclaimer: I do not work for them, own the company or receive any kickbacks from the company. They’re just a vendor I’m extremely happy with and am happy to recommend. Hani, the owner also goes above and beyond for support.
Once you’ve purchased the license, it’s time to install the image in your favorite virtualization platform. For a very powerful installation, 1GB RAM, 1GB drive space, and 1 core should be more than sufficient if it’s being run non Xeon class hardware. If you decide later that 1 core isn’t enough, you can always increase the number of CPUs on the VM. RouterOS will take advantage of more than one core for most operations (most notable exception is BGP, so if you need dynamic routing, I would suggest using OSPF if you want it to be scalable across more than one VCPU).
Finally, in closing, if you want to evaluate RouterOS to see if it’ll pass the muster for what you need to do and to see if it’s something you’ll feel comfortable with, if you don’t activate a license on it, the install is good for 24 hours without being activated, and you can install as many times as you want.
There’s also plenty of help on the wiki:
https://wiki.mikrotik.com/wiki/Main_Page
And The Brothers WISP are also a good resource on Youtube:
https://www.youtube.com/channel/UCXSdfxQv7SpoRQYNyLwntZg
If you’re just looking for something you can install into an existing Linux or Windows box to provide a VPN server and/or client, you can also look at OpenVPN. The packages are freely available via the package manager of all major Linux vendors. For Windows, you’ll need to download an installer for either the server or the client. Trying to navigate OpenVPN’s website to find the proper download is proving to be a nightmare lately because they’re trying to promote their commercial product more now, but the relevant section of their website is at:
https://openvpn.net/download-open-vpn/