Major Release
This contains new features, some performance improvements and bug fixes.
Major Changes
- Will now respond to LAN-local machine hostnames and PTR record queries using the internal discovered clients list
- MAC address based DNS steering policies were added
- Will no longer respond to DNS queries made from WAN IP addresses by default
- Any RFC1918/CGNAT/local DNS upstream will now be automatically used for PTR discovery
Added
- Support MAC address-based policies.
- Add a flag to set the upstream type in CD mode.
- Add reload command.
- Add a config option to [enable an upstream to be used for LAN/PTR queries.
- Add a config option to specify how the client ID is generated.
- Add a config option to enable/disable answering queries from WAN clients.
- Add NextDNS mode.
Improved
- Relax the service's dependency on systemd-netword-wait-online.
- Upstream monitor checking more aggressively.
- mDNS discovery will not complain about the use of closed network connections.
- An RFC 1918 address will be used in client info instead of localhost for requests to local listeners.
- Bump golang.org/x/net to v0.17.0
- Probing for IPv6 will not flood requests to the Control D server.
- PTR discovery will result in less noise in the log.
- "ctrld service start" will not do router setup anymore, allowing power users full control of configuring
ctrld
manually. ctrld
will now notify users when reading or writing to the configuration file.- Pre-run conditions on Merlin routers are more thoroughly checked.
- DNS loop test queries will not be sent for non-local upstreams.
- WAN originating DNS queries will be refused by default using REFUSED RCODE
Fixed
- Fix mobile platforms that crash if fetching the resolver configuration fails in CD mode.
- Fix the wrong checking condition that causes
--cd-org
not to be removed from the command line arguments. - Network policies now function correctly when
ctrld
is upstream for dnsmasq. - Fix EDNS0 with RFC 1918 and loopback addresses results in suboptimal Control D server responses.
- Eliminate duplicate client IDs generated for the same IPv6 client.
- Re-bootstrap transport in cases of network outages more aggressively