I can see this takes effect only if I change "Accept DNS Configuration" from "Exclusive" to "Strict". However, if I change to Strict, the DNS Leak Test shows my DNS is leaking to Cloudflare and my IP address shows as my own provider instead of the VPN. I suppose I can leave it as "Exclusive" and know that if my VPN drops offline or if I need to disconnect from the VPN, I'm still covered by DoT.
Seems to me this comes down to the definition of a DNS leak. For my purposes, a DNS leak is anytime you access DNS using your ISP's specified DNS server(s), OR, access some other DNS server(s) over the WAN and "in the clear".
But once you decide to use DoT, it doesn't really matter whether DNS is accessed over the WAN or VPN. It's no longer in the clear. And that's the whole point. Not unless you're particularly paranoid and have some reason to prevent your ISP from even knowing you're using a DoT provider.
- Has the VPN Director replaced the x3mRouting script or does that provide some additional features?
AFAIK, the author of x3mRouting has NOT been actively supporting it in recent months, and the current version is known to have incompatibilities w/ the VPN Director. I don't use it personally, but it appears to me the biggest advantage it offers over the VPN Director is its support for IPSET.
So unless you have a specific reason NOT to use the VPN Director, I think most ppl would be wise to use what's available in the GUI.
- If I enable all 5 VPN clients for the same interface, when the first one fails, will it roll to the second and so forth?
The lowered numbered OpenVPN clients always have precedence over the higher numbered ones. It will only roll over to the next available OpenVPN client *assuming* the failed VPN is shutdown cleanly and completely, because that's the only way the ip rule(s) for the failed OpenVPN client will be removed from the RPDB (routing policy database) and allow traffic to continue to the ip rule(s) for the next available OpenVPN client. But depending on how you have your OpenVPN clients configured, that may never happen.
For example, if you have two OpenVPN clients (#1 and #2) configured identically wrt their ip rules, and OpenVPN client #1 is configured to retry after a failure, the router will BLOCK access to the internet during this period, because OpenVPN client #1's ip rule(s) are still in-place and active! This is particularly true when it comes to using the GUI's kill switch. By definition, that feature can only be enforced w/ those rules in-place and active. There's also the problem of the use of the persist-tun and persist-key directives by the router. These prevent the failed tunnel from being deconstructed after a failure (
something I'm mentioned in a prior post).
IOW, this is a tricky thing to configure properly. Nothing about it is automatic. It's the result of making all the right configuration choices.
When dealing w/ multiple, concurrent OpenVPN clients, you also have to be careful that each one is using NON overlapping IP networks on their respective tunnels. This is always a risk, particularly when you're using the same OpenVPN provider. If the tunnels overlap, then you'll create routing ambiguity.
I'm of the opinion that it would be better to script this sort of thing yourself, where you only maintain a single OpenVPN client at any given time, then monitor it for failure (as you define it), and as necessary, shutdown that VPN and start a different OpenVPN client. But there is no such logic available in the GUI. The GUI is NOT monitoring anything in terms of failover. It's a matter of how you statically configure the OpenVPN clients whether you'll get the failover behavior you're expecting.
- I've also been considering replacing Cloudflare with NextDNS so that I can configure additional network level control (custom blacklist/whitelist, parental controls, etc). Can I configure this so I can use DoT with NextDNS inside the VPN tunnel?
Once again, DoT would normally make the issue of using the WAN vs. VPN moot. Once your DNS is secured, it's secured. But if you insist on forcing DoT over the VPN as well, then you'd need to use routing policy rules to bind those DNS servers to the OpenVPN client(s). Just beware that you can sometimes tie yourself into knots w/ stuff like this, since now even the router's own DNS is bound to the VPN (possibly a failed VPN!), NOT just the LAN clients bound to the VPN. I fear if the VPN fails, and the router needs to re-resolve the OpenVPN server's domain name, it may fail!
DNS is tricky stuff. Don't make it overly complicated. For most ppl, once you configure for DoT over the WAN, that should be the end of it. The one exception might be those who insist on having those clients bound to the WAN in general, also bind their DNS to the WAN, while those bound to the VPN in general, bind their DNS to the VPN. In that case, use "Exclusive" for "Accept DNS Configuration" on the OpenVPN client.