From 352fb5c7e4465de938910a531b3ad640a37a6553 Mon Sep 17 00:00:00 2001 From: Andrew Kroeger Date: Sun, 13 Jun 2010 10:48:31 -0500 Subject: [PATCH] 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. --- source4/scripting/python/samba/provision.py | 6 ++++++ source4/setup/provision.zone | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 -- 2.34.1