Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by Peter Arnol » Mon, 14 Jun 2004 08:43:51



I've got a solaris 9 04/04 box set up with the bundled DNS and DHCP servers but I can't seem to get windows XP clients to dynamicaly register their names in DNS. DHCP seems to work just fine.

I've followed the rather simple doco at http://docs.sun.com/db/doc/806-5529/6jehkcs59?a=view however it still does not work.
This doco covers adding the allow-update directive to the named.conf file, which I've done for local and loop back IPs and then ticking the "Update DNS host information upon client request" check box in DHCP configuration.

When I configure a DHCP domain from scratch and it comes to the section on where to store host names, I choose DNS, I get a popup that says "Unable to manage defined hosts table". I've gone back to "none" then later ticked Edit -> Modify: "Update DNS host information upon client request"....still no updates.

There is nothing loged in the DHCP logs relevant to dns problems.

My named.conf file is:
bash-2.05# cat /etc/named.conf
options {
        directory "/etc/named";
        pid-file "/var/run/named.pid";
        forwarders {
                <dns 1>;
                <dns 2>;
                <dns 3>;
                };
        forward first;
        };

zone "." {
        type hint;
        file "/etc/named/db.cache";
        };

zone "pjama.loc" {
        type master;
        file "/etc/named/<my domain>.hosts";
        allow-update {
                127.0.0.1;
                192.168.200.1;
                192.168.200.11;
                };
        };

zone "200.168.192.in-addr.arpa" {
        type master;
        allow-update {
                127.0.0.1;
                192.168.200.1;
                192.168.200.11;
                };
        file "/etc/named/192.168.200.rev";
        };

logging {
        category default {
                default_syslog;
                default_debug;
                default_stderr;
                };
        };
bash-2.05

Any assistance appreciated.

Cheers
Peter Arnold

 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by Robert Escu » Mon, 14 Jun 2004 13:15:30


On Sun, 13 Jun 2004 09:43:51 +1000, Peter Arnold


>I've got a solaris 9 04/04 box set up with the bundled DNS and DHCP servers but I can't seem to get windows XP clients to dynamicaly register their names in DNS. DHCP seems to work just fine.

>I've followed the rather simple doco at http://docs.sun.com/db/doc/806-5529/6jehkcs59?a=view however it still does not work.
>This doco covers adding the allow-update directive to the named.conf file, which I've done for local and loop back IPs and then ticking the "Update DNS host information upon client request" check box in DHCP configuration.

>When I configure a DHCP domain from scratch and it comes to the section on where to store host names, I choose DNS, I get a popup that says "Unable to manage defined hosts table". I've gone back to "none" then later ticked Edit -> Modify: "Update DNS host information upon client request"....still no updates.

>There is nothing loged in the DHCP logs relevant to dns problems.

>My named.conf file is:
>bash-2.05# cat /etc/named.conf
>options {
>        directory "/etc/named";
>        pid-file "/var/run/named.pid";
>        forwarders {
>                <dns 1>;
>                <dns 2>;
>                <dns 3>;
>                };
>        forward first;
>        };

>zone "." {
>        type hint;
>        file "/etc/named/db.cache";
>        };

>zone "pjama.loc" {
>        type master;
>        file "/etc/named/<my domain>.hosts";
>        allow-update {
>                127.0.0.1;
>                192.168.200.1;
>                192.168.200.11;
>                };
>        };

>zone "200.168.192.in-addr.arpa" {
>        type master;
>        allow-update {
>                127.0.0.1;
>                192.168.200.1;
>                192.168.200.11;
>                };
>        file "/etc/named/192.168.200.rev";
>        };

>logging {
>        category default {
>                default_syslog;
>                default_debug;
>                default_stderr;
>                };
>        };
>bash-2.05

>Any assistance appreciated.

>Cheers
>Peter Arnold

Peter,

Why do you have localhost in your zones?

Robert Escue
System Administrator

 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by patricksoltan » Mon, 14 Jun 2004 14:11:04



> I've got a solaris 9 04/04 box set up with the bundled DNS and DHCP
> servers but I can't seem to get windows XP clients to dynamicaly
> register their names in DNS. DHCP seems to work just fine.

> I've followed the rather simple doco at
> http://docs.sun.com/db/doc/806-5529/6jehkcs59?a=view however it still
> does not work.
> This doco covers adding the allow-update directive to the named.conf
> file, which I've done for local and loop back IPs and then ticking the
> "Update DNS host information upon client request" check box in DHCP
> configuration.

> When I configure a DHCP domain from scratch and it comes to the section
> on where to store host names, I choose DNS, I get a popup that says
> "Unable to manage defined hosts table". I've gone back to "none" then
> later ticked Edit -> Modify: "Update DNS host information upon client
> request"....still no updates.

> There is nothing loged in the DHCP logs relevant to dns problems.

> My named.conf file is:
> bash-2.05# cat /etc/named.conf
> options {
>        directory "/etc/named";
>        pid-file "/var/run/named.pid";
>        forwarders {
>                <dns 1>;
>                <dns 2>;
>                <dns 3>;
>                };
>        forward first;
>        };

> zone "." {
>        type hint;
>        file "/etc/named/db.cache";
>        };

> zone "pjama.loc" {
>        type master;
>        file "/etc/named/<my domain>.hosts";
>        allow-update {
>                127.0.0.1;
>                192.168.200.1;
>                192.168.200.11;
>                };
>        };

> zone "200.168.192.in-addr.arpa" {
>        type master;
>        allow-update {
>                127.0.0.1;
>                192.168.200.1;
>                192.168.200.11;
>                };
>        file "/etc/named/192.168.200.rev";
>        };

> logging {
>        category default {
>                default_syslog;
>                default_debug;
>                default_stderr;
>                };
>        };
> bash-2.05

> Any assistance appreciated.

> Cheers
> Peter Arnold

I don't see anything wrong with the config, however, I know that earlier
versions of bind and dhcpd did not play well together on ddns piece.
I'd suggest to upgrade both of these pieces to the latest version before
turning the debug mode on these daemons and seeing what's going on.

Regards,
Patrick Soltani.

 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by Peter Arnol » Mon, 14 Jun 2004 16:43:32


<snip>

Quote:

> Peter,

> Why do you have localhost in your zones?

Because it's on the same host as the DHCP service. Initially I didn't but I thought it'd be worth a try.

Quote:

> Robert Escue
> System Administrator

Cheers
Peter Arnold
 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by ps » Tue, 15 Jun 2004 03:43:31




Quote:> I've got a solaris 9 04/04 box set up with the bundled DNS and DHCP servers
> but I can't seem to get windows XP clients to dynamicaly register their names
> in DNS. DHCP seems to work just fine.

> I've followed the rather simple doco at
> http://docs.sun.com/db/doc/806-5529/6jehkcs59?a=view however it still does not
> work.
> This doco covers adding the allow-update directive to the named.conf file,
> which I've done for local and loop back IPs and then ticking the "Update DNS
> host information upon client request" check box in DHCP configuration.

> When I configure a DHCP domain from scratch and it comes to the section on
> where to store host names, I choose DNS, I get a popup that says "Unable to
> manage defined hosts table". I've gone back to "none" then later ticked Edit
> -> Modify: "Update DNS host information upon client request"....still no
> updates.

> There is nothing loged in the DHCP logs relevant to dns problems.

> My named.conf file is:

Can you post your dhcpd.conf?
 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by Peter Arnol » Tue, 15 Jun 2004 09:12:40


<snip>

Quote:

> Can you post your dhcpd.conf?

Sure:
# cat /etc/inet/dhcpsvc.conf
DAEMON_ENABLED=TRUE
RUN_MODE=server
RESOURCE=SUNWfiles
PATH=/var/dhcp
CONVER=1
VERBOSE=TRUE
ICMP_VERIFY=TRUE
INTERFACES=hme0
LOGGING_FACILITY=7
UPDATE_TIMEOUT=15
#
 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by Peter Arnol » Tue, 15 Jun 2004 09:38:55


<snip my included post>

Quote:

> I don't see anything wrong with the config, however, I know that earlier
> versions of bind and dhcpd did not play well together on ddns piece.
> I'd suggest to upgrade both of these pieces to the latest version before
> turning the debug mode on these daemons and seeing what's going on.

> Regards,
> Patrick Soltani.

Hi Patrick,
I was hoping that the bundled versions of DHCP and DNS were at least compatable given that this feature is documented on docs.sun.com.

I've turned on debug level 5 on DNS and found that with DHCP not set to update DNS there is no activity. Then when it is changed to update DNS I get the log attached below. This is all rather meaningless to me but I can see the name (clientpc) is at least being mentioned in DNS's log but still net getting tabled. The pc name and domain have been replaced to protect the innocent:).

Cheers
Peter Arnold

poll() returns 1 (err: none)
Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
datagram from [192.168.200.1].45232, fd 23, len 37
ns_req(from [192.168.200.1].45232)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48759
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      clientpc.mydomain.net, type = A, class = IN
req: nlookup(clientpc.mydomain.net) id 48759 type=1 class=1
req: found 'clientpc.mydomain.net' as 'mydomain.net' (cname=0)
findns: np 9ce10 'pjama'
findns: SOA found
req: leaving (clientpc.mydomain.net, rcode 3)
make_rr(mydomain.net, a4cc0, ffbfeab5, 475, 1) 49 zone 2 ttl 38400
doaddinfo() addcount = 1
do additional "mydomain.net" (from "mydomain.net")
found it
ns_req: answer -> [192.168.200.1].45232 fd=23 id=48759 size=100 rc=3
poll() returns 1 (err: none)
Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
datagram from [192.168.200.1].45233, fd 23, len 37
ns_req(from [192.168.200.1].45233)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58330
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      clientpc.mydomain.net, type = SOA, class = IN
req: nlookup(clientpc.mydomain.net) id 58330 type=6 class=1
req: found 'clientpc.mydomain.net' as 'mydomain.net' (cname=0)
findns: np 9ce10 'pjama'
findns: SOA found
req: leaving (clientpc.mydomain.net, rcode 3)
make_rr(mydomain.net, a4cc0, ffbfeab5, 475, 1) 49 zone 2 ttl 38400
doaddinfo() addcount = 1
do additional "mydomain.net" (from "mydomain.net")
found it
ns_req: answer -> [192.168.200.1].45233 fd=23 id=58330 size=100 rc=3
poll() returns 1 (err: none)
Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
datagram from [192.168.200.1].45234, fd 23, len 27
ns_req(from [192.168.200.1].45234)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58331
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      mydomain.net, type = NS, class = IN
req: nlookup(mydomain.net) id 58331 type=2 class=1
req: found 'mydomain.net' as 'mydomain.net' (cname=0)
wanted(9fd10, IN NS) [IN NS]
wanted(a4cc0, IN NS) [IN SOA]
wantedtsig(9fd10, IN NS) [IN NS]
wantedtsig(a4cc0, IN NS) [IN SOA]
make_rr(mydomain.net, 9fd10, ffbfeaab, 485, 1) 6 zone 2 ttl 38400
finddata: added 1 class 1 type 2 RRs
req: foundname=1, count=1, founddata=1, cname=0
findns: np 9ce10 'pjama'
findns: SOA found
req: leaving (mydomain.net, rcode 0)
findns: np 9ce10 'pjama'
findns: 1 NS's added for 'pjama'
doaddinfo() addcount = 2
do additional "megan" (from "mydomain.net")
found it
do additional "mydomain.net" (from "mydomain.net")
found it
ns_req: answer -> [192.168.200.1].45234 fd=23 id=58331 size=46 rc=0
poll() returns 1 (err: none)
Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
datagram from [192.168.200.1].45235, fd 23, len 23
ns_req(from [192.168.200.1].45235)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58332
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      megan, type = A, class = IN
req: nlookup(megan) id 58332 type=1 class=1
req: found 'megan' as 'megan' (cname=0)
wanted(b4d80, IN SOA) [IN SOA]
wantedtsig(b4d80, IN SOA) [IN SOA]
make_rr(megan, b4d80, ffbfeaa7, 489, 1) 63 zone 0 ttl 1087183539
finddata: added 1 class 1 type 6 RRs
NXDOMAIN aa = 0
doaddinfo() addcount = 1
do additional "" (from "")
found it
ns_req: answer -> [192.168.200.1].45235 fd=23 id=58332 size=98 rc=3
poll() returns 1 (err: none)
Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
datagram from [192.168.200.1].45236, fd 23, len 23
ns_req(from [192.168.200.1].45236)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58333
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      megan, type = AAAA, class = IN
req: nlookup(megan) id 58333 type=28 class=1
req: found 'megan' as 'megan' (cname=0)
wanted(b4d80, IN SOA) [IN SOA]
wantedtsig(b4d80, IN SOA) [IN SOA]
make_rr(megan, b4d80, ffbfeaa7, 489, 1) 63 zone 0 ttl 1087183539
finddata: added 1 class 1 type 6 RRs
NXDOMAIN aa = 0
doaddinfo() addcount = 1
do additional "" (from "")
found it
ns_req: answer -> [192.168.200.1].45236 fd=23 id=58333 size=98 rc=3

 
 
 

Dynamic DNS not working with Solaris DHCP/DNS server and win clients

Post by patricksoltan » Tue, 15 Jun 2004 18:53:14




> <snip my included post>

>> I don't see anything wrong with the config, however, I know that
>> earlier versions of bind and dhcpd did not play well together on ddns
>> piece.
>> I'd suggest to upgrade both of these pieces to the latest version
>> before turning the debug mode on these daemons and seeing what's going
>> on.

>> Regards,
>> Patrick Soltani.

> Hi Patrick,
> I was hoping that the bundled versions of DHCP and DNS were at least
> compatable given that this feature is documented on docs.sun.com.

> I've turned on debug level 5 on DNS and found that with DHCP not set to
> update DNS there is no activity. Then when it is changed to update DNS I
> get the log attached below. This is all rather meaningless to me but I
> can see the name (clientpc) is at least being mentioned in DNS's log but
> still net getting tabled. The pc name and domain have been replaced to
> protect the innocent:).

> Cheers
> Peter Arnold

> poll() returns 1 (err: none)
> Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
> datagram from [192.168.200.1].45232, fd 23, len 37
> ns_req(from [192.168.200.1].45232)
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48759
> ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> ;;      clientpc.mydomain.net, type = A, class = IN
> req: nlookup(clientpc.mydomain.net) id 48759 type=1 class=1
> req: found 'clientpc.mydomain.net' as 'mydomain.net' (cname=0)
> findns: np 9ce10 'pjama'
> findns: SOA found
> req: leaving (clientpc.mydomain.net, rcode 3)
> make_rr(mydomain.net, a4cc0, ffbfeab5, 475, 1) 49 zone 2 ttl 38400
> doaddinfo() addcount = 1
> do additional "mydomain.net" (from "mydomain.net")
> found it
> ns_req: answer -> [192.168.200.1].45232 fd=23 id=48759 size=100 rc=3
> poll() returns 1 (err: none)
> Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
> datagram from [192.168.200.1].45233, fd 23, len 37
> ns_req(from [192.168.200.1].45233)
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58330
> ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> ;;      clientpc.mydomain.net, type = SOA, class = IN
> req: nlookup(clientpc.mydomain.net) id 58330 type=6 class=1
> req: found 'clientpc.mydomain.net' as 'mydomain.net' (cname=0)
> findns: np 9ce10 'pjama'
> findns: SOA found
> req: leaving (clientpc.mydomain.net, rcode 3)
> make_rr(mydomain.net, a4cc0, ffbfeab5, 475, 1) 49 zone 2 ttl 38400
> doaddinfo() addcount = 1
> do additional "mydomain.net" (from "mydomain.net")
> found it
> ns_req: answer -> [192.168.200.1].45233 fd=23 id=58330 size=100 rc=3
> poll() returns 1 (err: none)
> Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
> datagram from [192.168.200.1].45234, fd 23, len 27
> ns_req(from [192.168.200.1].45234)
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58331
> ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> ;;      mydomain.net, type = NS, class = IN
> req: nlookup(mydomain.net) id 58331 type=2 class=1
> req: found 'mydomain.net' as 'mydomain.net' (cname=0)
> wanted(9fd10, IN NS) [IN NS]
> wanted(a4cc0, IN NS) [IN SOA]
> wantedtsig(9fd10, IN NS) [IN NS]
> wantedtsig(a4cc0, IN NS) [IN SOA]
> make_rr(mydomain.net, 9fd10, ffbfeaab, 485, 1) 6 zone 2 ttl 38400
> finddata: added 1 class 1 type 2 RRs
> req: foundname=1, count=1, founddata=1, cname=0
> findns: np 9ce10 'pjama'
> findns: SOA found
> req: leaving (mydomain.net, rcode 0)
> findns: np 9ce10 'pjama'
> findns: 1 NS's added for 'pjama'
> doaddinfo() addcount = 2
> do additional "megan" (from "mydomain.net")
> found it
> do additional "mydomain.net" (from "mydomain.net")
> found it
> ns_req: answer -> [192.168.200.1].45234 fd=23 id=58331 size=46 rc=0
> poll() returns 1 (err: none)
> Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
> datagram from [192.168.200.1].45235, fd 23, len 23
> ns_req(from [192.168.200.1].45235)
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58332
> ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> ;;      megan, type = A, class = IN
> req: nlookup(megan) id 58332 type=1 class=1
> req: found 'megan' as 'megan' (cname=0)
> wanted(b4d80, IN SOA) [IN SOA]
> wantedtsig(b4d80, IN SOA) [IN SOA]
> make_rr(megan, b4d80, ffbfeaa7, 489, 1) 63 zone 0 ttl 1087183539
> finddata: added 1 class 1 type 6 RRs
> NXDOMAIN aa = 0
> doaddinfo() addcount = 1
> do additional "" (from "")
> found it
> ns_req: answer -> [192.168.200.1].45235 fd=23 id=58332 size=98 rc=3
> poll() returns 1 (err: none)
> Dispatch.File: fd 23, mask 0x1, func 0x2e438, uap 0xa408c
> datagram from [192.168.200.1].45236, fd 23, len 23
> ns_req(from [192.168.200.1].45236)
> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58333
> ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
> ;;      megan, type = AAAA, class = IN
> req: nlookup(megan) id 58333 type=28 class=1
> req: found 'megan' as 'megan' (cname=0)
> wanted(b4d80, IN SOA) [IN SOA]
> wantedtsig(b4d80, IN SOA) [IN SOA]
> make_rr(megan, b4d80, ffbfeaa7, 489, 1) 63 zone 0 ttl 1087183539
> finddata: added 1 class 1 type 6 RRs
> NXDOMAIN aa = 0
> doaddinfo() addcount = 1
> do additional "" (from "")
> found it
> ns_req: answer -> [192.168.200.1].45236 fd=23 id=58333 size=98 rc=3

Hi,
Are you using TSIG on your DNS server?
Here is a link that you can use to compare your setup for "sanity check":
http://www.lesbell.com.au/Home.nsf/0/3f0a77f02a05e665ca256bee00104c74...

At least this should tell you if the code is broken or config is the
problem.  Good Luck!

Regards,
Patrick Soltani.

 
 
 

1. Dynamic DNS not working with Solaris DHCP/DNS server and win clients

I'd like to reference some of the previous posts but my ISP has already expired them (after just two weeks! Can you believe that!) I've also already replied but somehow it got lost but I can't blame the ISP for that.....yet.

I'd like to thank those that responded.

Firstly: the link that Patrick provided was helpful with troubleshooting as was another link I found on basic to advanced setup of bind. These links are:
http://www.lesbell.com.au/Home.nsf/0/3f0a77f02a05e665ca256bee00104c74...
http://langfeldt.net/DNS-HOWTO/BIND-8/DNS-HOWTO.html

My issue I *believe* was errors in the database files: namely the addition of missing "." after the domain name. I've done other things to tidy up as well though.

Useful commands that are now part of solaris c/w man pages that are also covered in the above web links to some degree are:
ndc, dig and nsupdate.

One word of warning: If you take the time to structure nice neat database files, take a copy before any dynamic DNS updates as bind rewrites them (heh, really!) but in a really crap format.

Cheers
Peter Arnold

2. Kernel Threads question on 2.4

3. Redhat 9.0 dhcp client & windows 2003 dhcp server: dynamic dns update

4. Xconfig Trident

5. DHCP, DNS, WINS, dynamic DNS, other questions

6. what is a .8 file?

7. dns update from dhcp server ok for windows clients, not ok for linux (dhclient) clients

8. firewalling three ways

9. Linux DNS server and Win 2000 DNS client.

10. DHCP, DNS/Dynamic DNS???

11. External DNS doesn't work for Win XP client thru RH 7.2 server!

12. ddclient to update dynamic DNS entries at a dynamic DNS service

13. dhcp and dynamic dns on a mixed linux and win 2k network