Android and local IPv4 DNS name resolution

Much has been written of problems with local IPv4 DNS name resolution over quite some years, and some of it may have been software defects, but some of it seems to be a side effect of IPv6.

I have run a home network with local DNS and DHCP (doing dynamic DNS updates) for close on 20 years mostly without problems. This is a similar configuration to many corporate networks with an Intranet and gateway to the Internet.

Recent installation of a iiNet TG-1 VDSL gateway changed all that.

Try as I might, the Android tablets (6.01) would not resolve names defined in the local DNS even though they showed that they had acquired the correct IPv4 DNS and search path.

The Android tablets certainly try to discover available routers (and DNS).

screenshot-17_10_16-20_11_26

The packet trace above shows the Router Solicitation message from one of the Android tablets.

It seems that Android prefers auto configured IPv6 name resolution if available, and the availability of the gateway DNS service was fine for external names but lacked internal network names. The solution seemed to be preventing Android using the gateway IPv6 DNS.

screenshot-18_10_16-09_54_24By trial and error, it was found that turning the “IPv6 state” OFF solved the problem. The manual has no documentation about this switch, but it seems to stop the gateway announcing its state or responding to solicitations.

Whilst I had restarted the tablet several times, I have discovered that restarting preserves some network settings (including the neighbour list) and that it behaves differently if powered down and then powered up. It is possible that the unwanted router + DNS address was retained over these restarts.

Having disabled the IPv6 state switch in the gateway, and shutting gateway and Android tablets down, on powering up they seem to work properly acquiring the internal IPv4 DNS and search path via DHCP, and resolving internal names correctly. The internal DNS forwards other name lookups to the gateway of course.

This might help people to solve problems with Android and Intranet name resolution using IPv4 DNS on this gateway.