1 |
On 13/08/2013 08:31, gevisz wrote: |
2 |
> 2013/8/12 Alan McKinnon <alan.mckinnon@×××××.com>: |
3 |
>> On 12/08/2013 09:13, gevisz wrote: |
4 |
>>> The response of the first router contained an error that prevented all the |
5 |
>>> other applications to use it, the system knew about it (for example from |
6 |
>>> the output of the host utility) but, nevertheless did not proceeded with |
7 |
>>> the next router listed in resolv.conf. |
8 |
>>> |
9 |
>>> I do undersand that this may be because of the layered structure of the |
10 |
>>> networked software. But, nevertheless, I think that something is fundamentally |
11 |
>>> wrong with this. |
12 |
>> |
13 |
>> What kind of error did you get? |
14 |
> |
15 |
> As I have already wrote it earlier, with three different DNS in |
16 |
> /etc/resolv.conf and /etc/conf.d/net files, the host utility correctly |
17 |
> reported IP address of a site (eg, www.google.com) but added |
18 |
> the following message: |
19 |
> ;; Warning: query response not set |
20 |
> |
21 |
> With only the first (my local DNS) in /etc/resolv.conf and |
22 |
> /etc/conf.d/net files, |
23 |
> the output of the host utility was as follows: |
24 |
> |
25 |
> # host www.google.com |
26 |
> www.google.com has address 74.125.232.52 |
27 |
> www.google.com has address 74.125.232.48 |
28 |
> www.google.com has address 74.125.232.49 |
29 |
> www.google.com has address 74.125.232.50 |
30 |
> www.google.com has address 74.125.232.51 |
31 |
> ;; Warning: query response not set |
32 |
> ;; Warning: query response not set |
33 |
> Host www.google.com not found: 4(NOTIMP) |
34 |
> |
35 |
> In both cases above no internet application (eg, links or firefox) |
36 |
> could convert site names to IP adresses and only after deleting |
37 |
> the first (local) DNS from /etc/resolv.conf and /etc/conf.d/net files, |
38 |
> internet applications started to work as expected (and the host |
39 |
> utility, in this case, returned no error or warning message) |
40 |
> |
41 |
> That have proved to myself that |
42 |
> |
43 |
> "The response of the first router contained an error |
44 |
> that prevented all the other applications to use it, |
45 |
> the system knew about it (for example from |
46 |
> the output of the host utility) but, nevertheless, |
47 |
> did not proceeded with the next router listed in |
48 |
> resolv.conf [or /etc/conf.d/net]. |
49 |
> I do undersand that this may be because of |
50 |
> the layered structure of the networked software. |
51 |
> But, nevertheless, I think that something is fundamentally |
52 |
> wrong with this." |
53 |
|
54 |
|
55 |
the host command is not your local resolver in libc, you cannot take the |
56 |
output of host and conclude anything about your resolver, as they |
57 |
operate in fundamentally different ways with entirely different purposes. |
58 |
|
59 |
Your DNS setup is doing exactly what it is supposed to do - the first |
60 |
cache returned an error and your local resolver concludes the query |
61 |
cannot be resolved, so stops trying. |
62 |
|
63 |
Solution: upgrade your router's firmware. It looks like it's bust. |
64 |
|
65 |
|
66 |
> |
67 |
>> If complete garbage came back, I'm not sure what the resolver does with |
68 |
>> that (oddly enough, I never tested that) |
69 |
>> |
70 |
>> The more usual case is you get a proper DNS result of NXDOMAIN which |
71 |
>> indicates the query is valid, but the entry is not in DNS. It's |
72 |
>> pointless trying another cache as per DNS, they should all then return |
73 |
>> that result. |
74 |
>> |
75 |
>> This is why the router did not try the other entries in resolv.conf - |
76 |
>> that usually only happens when a cache does not respond. So the |
77 |
>> behaviour you saw is probably correct albeit not the behaviour you wanted. |
78 |
>> |
79 |
>> |
80 |
>> -- |
81 |
>> Alan McKinnon |
82 |
>> alan.mckinnon@×××××.com |
83 |
>> |
84 |
>> |
85 |
> |
86 |
|
87 |
|
88 |
-- |
89 |
Alan McKinnon |
90 |
alan.mckinnon@×××××.com |