On 19.02.19 16:45, Vincent Wiemann wrote: > A kernel VPN module should not depend > on a user space daemon for doing regular checks or a daemon running at > all. It doesn't. You only need userspace when the external IP address changes *and* the other side either doesn't initiate a link to us, or can no longer reach us due to firewall or NAT issues. This is already orders of magnitude better than OpenVPN. DNS is a complex protocol that's nontrivial to implement securely, DNSSEC even more so. You do not want that in the kernel. I'd wager a large chunk of money that neither does Linus Torvalds. > One could build up on > https://www.kernel.org/doc/Documentation/networking/dns_resolver.txt , > but it's a lot of work and shouldn't be a goal before WireGuard becomes > an upstream kernel module. I'm pretty sure that's the way to go long-term. Umm … you might want to read that. It specifies upcalling to userspace. How is that better than running a WG daemon? We'd also lose flexibility. I might want to teach that WG daemon to get the new address from somewhere else, like a secure connection to a VPN server (given that DNS timeouts might be too long), or to use that netlink callback to trigger an alert or to activate a fallback connection. -- -- Matthias Urlichs