warner / flancer

get ACME certs on your LAN, like Glyph's lancer, but with foolscap extensions
MIT License
3 stars 0 forks source link

lookup errors of dyndns names after they've been registered #2

Open warner opened 4 years ago

warner commented 4 years ago

Looking at my logs, I see a funny series of errors just after the server was rebooted. The client took two and a half minutes to reconnect (not sure why, I might have been rebooting it at the same time). During that time, something was querying (and thus failing) the dyndns name quickly: 10-12 times per second, for three seconds, then some more bursts a bit later. When the client finally did reconnect (and updated the dyndns entry), the subsequent bursts of queries were given a mixture of successful responses and DomainError responses. Both were for A record lookups (there were also queries for other records, but of course all of those failed, as expected).

I'm seeing this "one A fails, other A works" pattern linger for a long time, at least an hour and a half after the dyndns entry was established. In fact, since the dyndns address is looked up so infrequently, I'm not seeing any period of entirely-successful A record lookups.

It's as if there's a cache involved that's only consulted half the time, but I didn't deliberately enable any caches, and I did a pass through DNSServerFactory and it doesn't automatically add any itself.

Maybe I'm subclassing FileAuthority badly, and I'm somehow making two queries per query: one to the dynamic records I added, and a second to the File that's not actually wired up. So maybe each client's query is being given two responses, rather than every other query getting a different response.

warner commented 4 years ago

One call to dig $DYNDNS_NAME on a remote machine resulted in six LOOKUP log messages: error, ok, error, ok, error, ok. The dig command itself reported success, which makes me think the program is only sending one response, or at least the errors aren't escaping the program.