bind_add_dkim_zone_master.sh: Support adding DKIM zone even if zone is not yet official responsible.
This commit is contained in:
@@ -96,6 +96,12 @@ usage() {
|
|||||||
-k <tsig key name>
|
-k <tsig key name>
|
||||||
Name of the TSIG key used for dynamical updates.
|
Name of the TSIG key used for dynamical updates.
|
||||||
|
|
||||||
|
-m <dns_master>
|
||||||
|
Main Domains Master DNS Server
|
||||||
|
|
||||||
|
-s <dns_slave>
|
||||||
|
Main Domains Slave DNS Server
|
||||||
|
|
||||||
-t <allow-transfer options>
|
-t <allow-transfer options>
|
||||||
allow-transfer for zone declaration. Possible values are ip-address(es)
|
allow-transfer for zone declaration. Possible values are ip-address(es)
|
||||||
or existing 'acl' defininition(s).
|
or existing 'acl' defininition(s).
|
||||||
@@ -290,6 +296,10 @@ while getopts hk:qt: opt ; do
|
|||||||
;;
|
;;
|
||||||
k) TSIG_KEY_NAME="$OPTARG"
|
k) TSIG_KEY_NAME="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
m) DNS_MASTER="$OPTARG"
|
||||||
|
;;
|
||||||
|
s) DNS_SLAVE="$OPTARG"
|
||||||
|
;;
|
||||||
q) verbose=true
|
q) verbose=true
|
||||||
;;
|
;;
|
||||||
t) ALLOW_TRANSFER_OPTION="$OPTARG"
|
t) ALLOW_TRANSFER_OPTION="$OPTARG"
|
||||||
@@ -430,42 +440,47 @@ fi
|
|||||||
# - Get DNS server
|
# - Get DNS server
|
||||||
# -
|
# -
|
||||||
echononl "Get responsible zone for domain '$dkim_domain'.."
|
echononl "Get responsible zone for domain '$dkim_domain'.."
|
||||||
found=true
|
if [[ -n "${DNS_MASTER}" ]] && [[ -n "${DNS_SLAVE}" ]] ; then
|
||||||
zone="${dkim_domain}"
|
echo_skipped
|
||||||
dns_servers="$(dig +short $zone NS 2>/dev/null)"
|
dns_server_arr=("${DNS_MASTER}" "${DNS_SLAVE}")
|
||||||
while [[ -z "$dns_servers" ]] ; do
|
|
||||||
zone=${zone#*.}
|
|
||||||
if [[ ! $zone =~ \. ]]; then
|
|
||||||
found=false
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
dns_servers="$(dig +short $zone NS 2>/dev/null)"
|
|
||||||
done
|
|
||||||
if $found ; then
|
|
||||||
echo_ok
|
|
||||||
info "Found responsible zone for '${dkim_domain}': \033[37m\033[1m${zone}\033[m"
|
|
||||||
echononl "Get nameservers for domain '${zone}'.."
|
|
||||||
declare -i _count=0
|
|
||||||
for _dns_server in $dns_servers ; do
|
|
||||||
if [[ $_count -eq 0 ]]; then
|
|
||||||
_tmp_dns_server="$_dns_server"
|
|
||||||
else
|
|
||||||
_tmp_dns_server="$_tmp_dns_server $_dns_server"
|
|
||||||
fi
|
|
||||||
dns_server_arr+=("$_dns_server")
|
|
||||||
if [[ ${#dns_server_arr[@]} -eq 0 ]]; then
|
|
||||||
echo_failed
|
|
||||||
error "Determin DNS servers for domain '$zone' failed!"
|
|
||||||
clean_up 17
|
|
||||||
else
|
|
||||||
echo_ok
|
|
||||||
info "Found nameservers \033[37m\033[1m${_tmp_dns_server}\033[m"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
else
|
||||||
echo_failed
|
found=true
|
||||||
error "No responsible zone for '$dkim_domain' found!"
|
zone="${dkim_domain}"
|
||||||
clean_up 16
|
dns_servers="$(dig +short $zone NS 2>/dev/null)"
|
||||||
|
while [[ -z "$dns_servers" ]] ; do
|
||||||
|
zone=${zone#*.}
|
||||||
|
if [[ ! $zone =~ \. ]]; then
|
||||||
|
found=false
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
dns_servers="$(dig +short $zone NS 2>/dev/null)"
|
||||||
|
done
|
||||||
|
if $found ; then
|
||||||
|
echo_ok
|
||||||
|
info "Found responsible zone for '${dkim_domain}': \033[37m\033[1m${zone}\033[m"
|
||||||
|
echononl "Get nameservers for domain '${zone}'.."
|
||||||
|
declare -i _count=0
|
||||||
|
for _dns_server in $dns_servers ; do
|
||||||
|
if [[ $_count -eq 0 ]]; then
|
||||||
|
_tmp_dns_server="$_dns_server"
|
||||||
|
else
|
||||||
|
_tmp_dns_server="$_tmp_dns_server $_dns_server"
|
||||||
|
fi
|
||||||
|
dns_server_arr+=("$_dns_server")
|
||||||
|
if [[ ${#dns_server_arr[@]} -eq 0 ]]; then
|
||||||
|
echo_failed
|
||||||
|
error "Determin DNS servers for domain '$zone' failed!"
|
||||||
|
clean_up 17
|
||||||
|
else
|
||||||
|
echo_ok
|
||||||
|
info "Found nameservers \033[37m\033[1m${_tmp_dns_server}\033[m"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "No responsible zone for '$dkim_domain' found!"
|
||||||
|
clean_up 16
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user