[SSSD] testing dyndns_update
Jakub Hrozek
jhrozek at redhat.com
Thu May 9 16:28:37 UTC 2013
On Thu, May 09, 2013 at 03:28:25PM +0200, steve wrote:
> On 09/05/13 15:03, steve wrote:
> >On 09/05/13 13:32, Jakub Hrozek wrote:
> >>On Thu, May 09, 2013 at 01:00:02PM +0200, steve wrote:
> >>>Hi
> >>>sssd seems to be sending the wrong request to the DNS server:
> >>>
> >>>(Thu May 9 12:57:04 2013) [sssd[be[default]]]
> >>>[ad_dyndns_nsupdate_done] (0x0040): DNS update finished
> >>>(Thu May 9 12:57:06 2013) [sssd[be[default]]]
> >>>[resolv_gethostbyname_done] (0x0040): querying hosts database failed
> >>>[5]: Error de entrada/salida
> >>>(Thu May 9 12:57:06 2013) [sssd[be[default]]]
> >>>[nsupdate_get_addrs_done] (0x0040): Could not resolve address for
> >>>this machine, error [5]: Error de entrada/salida, resolver returned:
> >>>[11]: Could not contact DNS servers
> >>
> >>The logs are telling you that the SSSD cannot resolve the machine's host
> >>name. Can you try overriding it with "ad_hostname" or adding the
> >>hostname to /ec/hosts ?
> >
> >
> >Hi
> >I added:
> >ad_hostname = pinoso.hh3.site
> >to sssd.conf. It was already in /etc/hosts
> >
> >Now the request is sent and we can see it on the Samba4 DC:
> >
> >Tkey handshake completed
> >Got a dns update request.
> >update count is 1
> >Looking at record:
> > discard_const(update): struct dns_res_rec
> > name : 'pinoso.hh3.site'
> > rr_type : DNS_QTYPE_A (0x1)
> > rr_class : DNS_QCLASS_IN (0x1)
> > ttl : 0x00000e10 (3600)
> > length : 0x0004 (4)
> > rdata : union dns_rdata(case 0x1)
> > ipv4_record : 192.168.1.100
> > unexpected : DATA_BLOB length=0
> >Terminating connection - 'dns_tcp_call_loop:
> >tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
> >single_terminate: reason[dns_tcp_call_loop: tstream_read_pdu_blob_recv()
> >- NT_STATUS_CONNECTION_DISCONNECTED]
> >Terminating connection - 'dns_tcp_call_loop:
> >tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]]
> >
> >But the IP is not updated. We changed it from 192.168.1.100 to
> >192.168.1.101. It does update if we reboot the machine
> >
> >[sdap_dyndns_update_done] (0x0080): nsupdate failed, retrying with
> >server name
> >; TSIG error with server: tsig verify failure
> >; TSIG error with server: tsig verify failure
> >; TSIG error with server: tsig verify failure
> >update failed: SERVFAIL
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]] [child_sig_handler]
> >(0x0020): child [1809] failed with status [2].
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]] [nsupdate_child_handler]
> >(0x0040): Dynamic DNS child failed with status [512]
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]] [be_nsupdate_done]
> >(0x0040): nsupdate child execution failed [1432158226]: Dynamic DNS
> >update failed
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]]
> >[ad_dyndns_sdap_update_done] (0x0040): Dynamic DNS update failed
> >[1432158226]: Dynamic DNS update failed
> >(Thu May 9 14:55:21 2013) [sssd[be[default]]] [ad_dyndns_nsupdate_done]
> >(0x0040): Updating DNS entry failed [1432158226]: Dynamic DNS update failed
> >(Thu May 9 14:55:36 2013) [sssd[be[default]]] [ad_dyndns_nsupdate_done]
> >(0x0040): DNS update finished
> >(Thu May 9 14:55:52 2013) [sssd[be[default]]] [ad_dyndns_nsupdate_done]
> >(0x0040): DNS update finished
> >(Thu May 9 14:56:08 2013) [sssd[be[default]]] [ad_dyndns_nsupdate_done]
> >(0x0040): DNS update finished
> >
>
> It is sending the old IP. 101 is the old IP. We changed it to 100,
> restarted the network, removed the cache and restarted sssd:
>
If you restarted the SSSD, then it *should* pick up the new address.
There are two ways a client can learn what IP address to use for
dynamic DNS update:
1) retrieve the address automatically from the socket that is used
to connect to the LDAP server. This is the default.
2) You can set the dyndns_iface option to name of an interface and
then all addresses from that interface will be used during the
update.
I presume you are using 1), then without SSSD restart the old address
might still be read from the socket I guess, but since you say you
restarted the sssd, then I would expect it to pick up a new address.
Does this client use DHCP or only static addresses? Any chance the DHCP
server might clobber the new address you set?
> server hh16.hh3.site
> realm HH3.SITE
> update delete pinoso.hh3.site. in A
> send
> update delete pinoso.hh3.site. in AAAA
> send
> update add pinoso.hh3.site. 3600 in A 192.168.1.101
> send
>
> We can only make it get the new IP by rebooting the client. Must we
> reboot each time?
> Thanks
More information about the sssd-devel
mailing list