[Dnsmasq-discuss] Temporary failure in name resolution when IPv6 is enabled
Amit
amit.uttam at gmail.com
Tue Feb 9 04:08:36 UTC 2021
On Wed, Feb 3, 2021 at 12:16 PM Geert Stappers <stappers at stappers.nl> wrote:
>
[snip]
>
> My guess:
>
> } } Where is the `ping www.google.com` done?
> } The ping is done at the end of the chain
> } } Where and how is IPv6 disabled?
> } Same machine, magic from Network Manager
> }
> } Although disabling IPv6 is probably not the solution this was just an
> } observation that disabling seems to allow queries to function again
>
> The dnsmasq machine has no or a broken IPv6 configuration.
> Breaking IPv6 on the client at the end of the chain
> results in a fallback (failback?) to IPv4.
>
>
> The install of version 2.82 probably has some side effects,
> side effects that cover or undo problems.
>
>
> > If there are more details required, I can provide them.
>
> Feedback on the guess is appriciated.
Following up. So about 20-30 devices in our fleet were affected, so a
rollback to 2.82 was performed. One of our
devs did an analysis which points to a different theory on why the
issue is happening:
```
tcpdump shows dnsmasq send the query out both Ethernet and Wi-Fi, but
only shows the reply coming back on Ethernet. ip link (output below)
shows my Wi-Fi interface, wlp2s0, is DORMANT, which could be the
reason we don't get the reply on Wi-Fi?
When building from git://thekelleys.org.uk/dnsmasq.git
cfcafdd27c74dc187fe96a9cfa88b1aef53540a0 with HAVE_DBUS enabled
in config.h (to make it work under NetworkManager), dnsmasq sees the
reply in reply_query, but doesn't get as far as process_reply.
It seems reply_query is returning early here [1] when lookup_frec
returns NULL? Perhaps the recently-introduced de-duplication isn't
storing all the correct query hashes? And/or it assumes we will
eventually get a reply on all configured interfaces?
http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=blob;f=src/forward.c;h=8fb03273e1744fb2c2a7606213eee7249ab02278;hb=cfcafdd27c74dc187fe96a9cfa88b1aef53540a0#l849
$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc
pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether 8c:16:45:ac:fe:88 brd ff:ff:ff:ff:ff:ff
3: enx70886b8e26e0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 70:88:6b:8e:26:e0 brd ff:ff:ff:ff:ff:ff
4: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
state UP mode DORMANT group default qlen 1000
link/ether 7c:2a:31:0c:53:55 brd ff:ff:ff:ff:ff:ff
```
Hope this gives you further clue.
More information about the Dnsmasq-discuss
mailing list