2 # example script to setup DNS for a vampired domain
5 echo "Usage: setup_dns.sh HOSTNAME DOMAIN IP"
9 HOSTNAME
="$(echo $1 | tr '[a-z]' '[A-Z]')"
10 DOMAIN
="$(echo $2 | tr '[a-z]' '[A-Z]')"
13 RSUFFIX
=$
(echo $DOMAIN |
sed s
/[\.
]/,DC
=/g
)
15 [ -z "$PRIVATEDIR" ] && {
16 PRIVATEDIR
=$
(bin
/testparm
--section-name=global
--parameter-name='private dir' --suppress-prompt 2> /dev
/null
)
19 OBJECTGUID
=$
(bin
/ldbsearch
-s base
-H "$PRIVATEDIR/sam.ldb" -b "CN=NTDS Settings,CN=$HOSTNAME,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=$RSUFFIX" objectguid|
grep ^objectGUID| cut
-d: -f2)
21 echo "Found objectGUID $OBJECTGUID"
23 echo "Running kinit for $HOSTNAME\$@$DOMAIN"
24 bin
/samba4kinit
-e arcfour-hmac-md5
-k -t "$PRIVATEDIR/secrets.keytab" $HOSTNAME\$@
$DOMAIN ||
exit 1
25 echo "Adding $HOSTNAME.$DOMAIN"
26 scripting
/bin
/nsupdate-gss
--noverify $HOSTNAME $DOMAIN $IP 300 ||
{
27 echo "Failed to add A record"
30 echo "Adding $OBJECTGUID._msdcs.$DOMAIN => $HOSTNAME.$DOMAIN"
31 scripting
/bin
/nsupdate-gss
--realm=$DOMAIN --noverify --ntype="CNAME" $OBJECTGUID _msdcs.
$DOMAIN $HOSTNAME.
$DOMAIN 300 ||
{
32 echo "Failed to add CNAME"
37 host $HOSTNAME.
$DOMAIN
38 host $OBJECTGUID._msdcs.
$DOMAIN