This is really frustrating for me. If you put a DNS name as a peer endpoint, wg-quick will resolve the name and then _replace the name with the ip address_. My IP address changes frequently and I have a script to update the A record when it does, but wireguard didn't have built in support for just keeping the domain name around when I last looked.
That particular jab was pretty strange.
The very first example in the OpenVPN documentation is of a server config:
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key
That's three lines. The client needs a "remote" entry as well. How much more terse can it get?There are many applications with complex configuration formats, but OpenVPN is not it. It has both a simple format and good defaults. It should be an example to others!
OpenVPN has a terse and logical configuration language. For all the complaints that open source projects do bad UX, someone put a bit of thought into this one, and it shows.
OpenVPN config files can be pretty small once you remove all the comments (my server is 22 lines)
That being said, I like WireGuard. I've switched over a lot of stuff to it. It does have some issues though:
* Road warrior configurations aren't easy. If you use a DNS name as an endpoint, and that DNS entry changes, you have to refresh it. They have a contrib script in the repo that you can put in cron and do this for you, but it's still not built in.
* You might need keep-alives in certain configurations
* You can't bind Wireguard to an IP address. It listens on all adapters. The devs argue it doesn't matter since WG won't respond via UDP unless it gets a valid key, but this does put WG into a weird state where it might send on an IP it's not receiving on.
There are others I'm probably forgetting. I do like it though. It's faster, the setup is clear. If you have one setting wrong in OpenVPN the connection could fail and you not get useful stuff in the logs.