IPv6 DNS records now seem to take precedence in Ubuntu

Looks like there is a small change in how name resolution is done in Ubuntu 9.10.   It looks like IPv6 DNS resolution is applied first now, when it is available, and a silent failover to the IPv4 entry occurs when it isn't. 

I noticed this effect when apache was running on the local machine.  Trying to access a Web server on a server that had an IPv6 record of ::1 (don't ask) but a proper IPv4 record.   In the current version of Ubuntu that results in the local Web server being accessed when it is available rather than the IPv4 one.  When it is not available it silently falls over to the IPv4 address.

For example, trying to access a website (http://facti.net for argument's sake;) on the internal network when apache was running on the laptop resulted in firefox connecting to the laptop rather than the Web server on facti.net.  However, if apache was shut down on the laptop then firefox would connect to the facti.net Web server. 

I naturally assumed the problem was with how the new version of Ubuntu dealt with proxies, but some digging revealed the problem relates to IPv6.  Some component in the latest version of Ubuntu must have switched to default DNS resolution to IPv6, and this was somehow getting translated to ::1 (i.e. local).  When that failed the IPv4 address was used.  No warning or other indication of what was happening.

Not a big deal but interesting, and the moral of the story is you better start checking your DNS records for IPv6 entries or you might get some odd behaviour.

Reply

The content of this field is kept private and will not be shown publicly.
Captcha
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Copy the characters (respecting upper/lower case) from the image.