diff options
author | Andrew Kroeger <andrew@id10ts.net> | 2010-06-13 10:48:31 -0500 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-06-14 12:14:46 +0200 |
commit | 352fb5c7e4465de938910a531b3ad640a37a6553 (patch) | |
tree | 1bdb5d99e8b40f36fbb9df04469c5613e45efbda /source4 | |
parent | 3f54b415199d8fd2f9a36ec83e159d2aae5b0c3b (diff) | |
download | samba-352fb5c7e4465de938910a531b3ad640a37a6553.tar.gz samba-352fb5c7e4465de938910a531b3ad640a37a6553.tar.bz2 samba-352fb5c7e4465de938910a531b3ad640a37a6553.zip |
s4:provision: Make gc._msdcs DNS entries A/AAAA records
When adding an additional DC as a GC server, the new DC attempts to register its
own gc._msdcs records. If the existing gc._msdcs record is a CNAME, BIND fails
the update with the message "attempt to add non-CNAME alongside CNAME ignored",
and the new DC is not registered as a GC server.
The A & AAAA record types for gc._msdcs have been verified against the DNS
server of a W2K8 DC.
Diffstat (limited to 'source4')
-rw-r--r-- | source4/scripting/python/samba/provision.py | 6 | ||||
-rw-r--r-- | source4/setup/provision.zone | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index dcf84624bf..60d7fc9271 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -1516,16 +1516,20 @@ def create_zone_file(lp, logger, paths, targetdir, setup_path, dnsdomain, if hostip6 is not None: hostip6_base_line = " IN AAAA " + hostip6 hostip6_host_line = hostname + " IN AAAA " + hostip6 + gc_msdcs_ip6_line = "gc._msdcs IN AAAA " + hostip6 else: hostip6_base_line = "" hostip6_host_line = "" + gc_msdcs_ip6_line = "" if hostip is not None: hostip_base_line = " IN A " + hostip hostip_host_line = hostname + " IN A " + hostip + gc_msdcs_ip_line = "gc._msdcs IN A " + hostip else: hostip_base_line = "" hostip_host_line = "" + gc_msdcs_ip_line = "" dns_dir = os.path.dirname(paths.dns) @@ -1553,6 +1557,8 @@ def create_zone_file(lp, logger, paths, targetdir, setup_path, dnsdomain, "NTDSGUID": ntdsguid, "HOSTIP6_BASE_LINE": hostip6_base_line, "HOSTIP6_HOST_LINE": hostip6_host_line, + "GC_MSDCS_IP_LINE": gc_msdcs_ip_line, + "GC_MSDCS_IP6_LINE": gc_msdcs_ip6_line, }) # note that we use no variable substitution on this file diff --git a/source4/setup/provision.zone b/source4/setup/provision.zone index 2c25fd08f8..2c8195b0b5 100644 --- a/source4/setup/provision.zone +++ b/source4/setup/provision.zone @@ -14,7 +14,8 @@ ${HOSTIP_BASE_LINE} ; ${HOSTIP6_HOST_LINE} ${HOSTIP_HOST_LINE} -gc._msdcs IN CNAME ${HOSTNAME} +${GC_MSDCS_IP_LINE} +${GC_MSDCS_IP6_LINE} ${NTDSGUID}._msdcs IN CNAME ${HOSTNAME} ; ; global catalog servers |