Here's an odd one. Couldn't figure out why my replacement server would not work when it said it was doing everything it should and worked on test. Ran tcpdump. Found the problem.
I'm listening on all addresses using
DnsServer(IPAddress.Any, 10, 10, ProcessQuery)
Server has 2 public IP's. Problem is, queries come in one ip and out the other so are ignored by the client.
The old server does not do this.
Is there anything I can do to ensure replies are sent from the same IP they are recieved on?
I could fix and listen on 1 IP only, but I do actually want to listen on both IP's.