Thanks to all who responded on this.
My original post was:
I just changed my primary DNS from one system to another (all systems in
question are running DU 4.0b). The modifications went without any apparent
hitches. The original primary is now my secondary and a new system has been
installed as my primary. Everything appears to function properly on both of
these systems. I have no problem resolving host names on any system on my
network. If I do an nslookup on either dns, I can resolve any host name,
change default servers , list all hosts, etc.
The problem is on one of my clients (also DU4.0b). I changed
/etc/resolv.conf to reflect the new dns:
domain mydomain.com (not the real domain :))
nameserver 10.99.1.30 (this is the address of the new primary dns)
nameserver 10.99.1.11 (this is the address or the original primary, now
the secondary)
The client appears to resolve names properly, if I ping or telnet to a host
I connect without a problem. However, if a do an nslookup at the client, I
get an error message saying :
"Can't find server name for address 10.99.1.30: non-existent hosts/domain"
and it proceeds to use the secondary dns server.
I have tried putting the hostname and address for the new primary in
/etc/hosts (even though the original primary was never there)
I have rebooted a couple times.
__________________________________________________
The best description of a solution comes from Hans Ranke
<Hans.Ranke_at_Regent.E-Technik.TU-Muenchen.DE> who wrote:
Old versions of nslookup use a deprecated DNS feature named "inverse query".
Recent versions of named support this feature only, if they are compiled
with a special option, but they have a runtime options to make nslookup
happy.
Short-time solution: add `` options fake-iquery '' to your server's
named.boot.
Long-time solution: get a newer nslookup for your client.
The following is a quote ftom the OPTIONS file from the BIND sources:
INVQ (origin: U C Berkeley, with #ifdef's by Paul Vixie)
enables "inverse queries", which in all of the internet only one
client ever uses: ancient nslookup. if you build named with INVQ defined,
you get the time-honored behaviour of supporting this whole class of queries
for no real purpose other than to waste a few hundred kilobytes of your
memory and about 3% of named's total CPU time. if you build with INVQ
undefined, old nslookups will not be able to reach your server in their
startup phase, and you will have to use the "server" command after it fails
over to some other server, or use "nslookup - 0" to get in from the shell.
if you need to support old nslookups try "options fake-iquery"
instead of enabling this option.
________________________________________________________
Well, I tried putting "options fake-iquery" in my DNS to no avail.
I suspect there may some other problem in my named.boot, hosts.rev or
hosts.db files but unfortunately I don't have time to troubleshoot it right
now. (I'm leaving for the sunny shores of Cancun, Mexico tomorrow :))
I'll pursue this further in a week or two and post a real summary then.
/--------------------------\
| John Seel |
| Senior Systems Engineer |
| Total Tec Systems, Inc. |
| (908) 906-6500 ext 185 |
| Fax (908) 744-2246 |
| "johns_at_totaltec.com" |
\--------------------------/
Received on Thu May 01 1997 - 19:32:19 NZST