i don’t even know where to start with this.
if only i could have you experience what it’s like trying to reverse engineer an openvpn connection to a destination where you don’t know the exact ciphers and configuration on the remote end. trying to make openvpn work with ec2 or usg gateway from linux. spending hours tweaking a cipher here or an option there and checking the debug output to see how much further p1 or p2 handshake managed to get…
all of that shit goes out the window. it’s now just a question of versioning. each version will have a list of ciphers which are currently considered safe. if you’re out of date, all you have to do is update your client/server and bam. it literally just fucking works. there’s ONE config file on each end. that’s it. they’re so fucking simple, a caveman can figure it out.
xl2tpd.conf? gone. options.xl2tpd.client? poof.
i’ve set up vpn’s on windows, mac, linux, site to site with fortinet, meraki, cisco…this is hands down the easiest and streamlined vpn i’ve ever touched. i honestly found myself at times going “surely there must be more. that couldn’t have been the entire setup…could it? let’s see…*click*…holy shit. it’s connected. and it works…clearly magic”
while the documentation on the wireguard site could use a bit more eli5, there are PLENTY of good write-ups on how to get this set up on a ton of various environments.
i’ve got mine running on a pi2 and cobbled this script together to get everything up and running, including generating the client side configs.
oh. almost forgot. one of the reasons i was looking at this was because i was unable to vpn home over a cellular connection from my pixel 2 on the google fi network (by the way, if you haven’t checked this out, you absolutely should). i was able to connect when i was on a remote wifi, but that wasn’t good enough. with the android wireguard client, i can keep it connected 24/7 if i felt like it and it just works. everywhere. all the time.
l2tp on i think both iOS and android require an IP address for always on functionality. wireguard allows the endpoint to be entered as fqdn which makes life considerably easier for those with dynamic IPs or other use cases where you don’t want to be changing ips on your, or potentially hundreds/thousands of employee devices.
it only routes traffic to my lan when necessary. on top of which, wireguard eats up considerably less battery/resources as the connection is only active when data needs to traverse. you don’t have a consistent flow of data to maintain the (non-existent) p1/p2 components of the tunnel.
is this still new? yes. does it need more eyes and review? absolutely. does it, regardless of the former, appear to be the best thing to happen to VPN since sliced bread in terms of oversight, configuration, and performance? fuck a doodle yes.