wg wrote:
>
> Is there any reason why a cable internet provider's name servers would
> provide unacceptably slow name resolution to a Linux user when a DSL
> provider offers snappy name resolution to the same customer?
>
> I got annoyed with my DSL provider (BellSouth) yesterday and switched
> to the local cable monopoly, Time Warner RoadRunner. I was running
> SuSe 8.2 with BellSouth, and kept it when I switched to RoadRunner. I
> immediately noticed RoadRunner's name servers were taking 20-45
> seconds to resolve an address, if they didn't time out all together.
>
> This is a typical DHCP=fed home account.
>
> Just to be sure, I installed Slackware 9.0 and noticed no difference.
> Name resolution remained unacceptably slow.
>
> I've now installed Windows XP on the same machine. I do not -- do not
> -- see these name resolutions issues with XP.
>
> I've asked RoadRunner tech support "Why?" but they can't get beyond
> their canned scripts.
>
> Does anyone know why I'm getting such poor DNS with RoadRunner using
> Linux but not with Windows? Or, why DSL was OK but cable is awful?
Your ISP is probably handing you a list of nameservers with a duff one
in it, or it is temporarily down.
Have a look at the list of nameservers you get in /etc/resolv.conf after
connecting. Then send a query which should definitely work to each e.g.
dig @<server ip address> suse.de
If the server is working you should get a near instantaneous response
containing:
;; ANSWER SECTION:
suse.de. 3600 IN A 195.135.220.3
If you find that this is the case and one or more of your ISP's
nameservers don't respond then complain. Now you have something concrete
to complain about. In the short term, amend /etc/resolv.conf manually
and ensure that a working one is listed first. Remember that it'll get
overwritten when the lease is renewed unless you amend your DHCP client
configuration not to update resolv.conf.
Or run your own caching nameserver and point /etc/resolv.conf at
0.0.0.0. Likewise you will need to disable the DHCP client's updating
it.
If this is what is happening then the reason it works in Windows is the
non standard behaviour of the Windows resolver. It sends requests to all
its DNS servers simultaneously and accepts the first answer which comes
back. This in not how the relevant RFCs say a resolver should operate
and causes unnecessary network traffic and load on nameservers. Linux
follows the rules and tries the first one first, and the second only if
the first does not respond in a reasonable time. Hence if your first
listed nameserver doesn't respond, you see a delay until it tries the
next.
Presumably the DSL was OK because the DSL provider gave you good
nameservers.
Regards, Ian
|