Changing DHCP options and static configurations does not prove that every client has migrated. Appliances, containers, VPN profiles, hard-coded application settings, and rarely booted systems may continue querying the old resolver. Query logs are useful, but caching and long idle periods make a quiet server difficult to interpret.
What evidence should be collected before retiring the resolver? A possible plan is to keep the old address available for longer than the maximum lease cycle, log source addresses and query times, compare the traffic with DHCP and configuration-management data, and review relevant TTLs. After that, the address could be moved to a monitored sink or forwarding resolver before being removed entirely, allowing late clients to be identified without immediately breaking name resolution.
How long should observation continue, and how should NAT, privacy addresses, split DNS, rarely used devices, maintenance windows, and disaster-recovery systems be handled? Is a staged firewall block and failure-monitoring approach the best final test, or is there a more reliable method?
4 Answers
If possible, keep the old resolver IP assigned to the replacement service or use a carefully controlled NAT redirect. This avoids an immediate outage while still letting you monitor and identify clients that have not migrated. It should be treated as a transition measure, not proof that all configurations have been corrected.
Do not rely on a single quiet observation period. Compare resolver logs with DHCP leases, inventory and configuration-management records, VPN and container configurations, and known split-DNS paths. Then test during a normal operating window as well as a maintenance or recovery exercise, since rarely active systems may not appear until those events.
Capture traffic arriving at the old address on both UDP and TCP port 53. A packet capture can show which source addresses are still making requests, and DNS server query logging can provide the names and timestamps. Using both is helpful because packet captures reveal traffic even when application-level logging is disabled.
For BIND, enabling its query log temporarily is one straightforward way to see which clients are still sending queries. Remember to turn it back off or limit the duration because query logging can be noisy.
A staged shutdown is a practical final check: first monitor the old address, then block or reject queries for a controlled group or time window while watching application and host failures. Keep a rollback path, communicate the test, and leave the old address available long enough to cover the longest lease, boot, and operational cycle relevant to the environment.

A redirect can keep things working, but make sure the monitoring records the original client information where possible. NAT may otherwise make many devices appear as one source.