Merge pull request #6786 from alexandergott-afk/dev
Allow more than one DNS server for HA environments #6785
This commit is contained in:
+56
-41
@@ -6,7 +6,7 @@ Docs: github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_nsupdate
|
|||||||
Options:
|
Options:
|
||||||
NSUPDATE_SERVER Server hostname. Default: "localhost".
|
NSUPDATE_SERVER Server hostname. Default: "localhost".
|
||||||
NSUPDATE_SERVER_PORT Server port. Default: "53".
|
NSUPDATE_SERVER_PORT Server port. Default: "53".
|
||||||
NSUPDATE_KEY File path to TSIG key. Default: ""
|
NSUPDATE_KEY File path to TSIG key. Default: "". Optional.
|
||||||
NSUPDATE_ZONE Domain zone to update. Optional.
|
NSUPDATE_ZONE Domain zone to update. Optional.
|
||||||
'
|
'
|
||||||
|
|
||||||
@@ -34,42 +34,49 @@ dns_nsupdate_add() {
|
|||||||
[ -n "${NSUPDATE_KEY}" ] || NSUPDATE_KEY=""
|
[ -n "${NSUPDATE_KEY}" ] || NSUPDATE_KEY=""
|
||||||
[ -n "${NSUPDATE_OPT}" ] || NSUPDATE_OPT=""
|
[ -n "${NSUPDATE_OPT}" ] || NSUPDATE_OPT=""
|
||||||
|
|
||||||
|
NSUPDATE_SERVER_LIST=$(printf "%s" "$NSUPDATE_SERVER" | tr ',' ' ')
|
||||||
|
|
||||||
_info "adding ${fulldomain}. 60 in txt \"${txtvalue}\""
|
_info "adding ${fulldomain}. 60 in txt \"${txtvalue}\""
|
||||||
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_1" ] && nsdebug="-d"
|
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_1" ] && nsdebug="-d"
|
||||||
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_2" ] && nsdebug="-D"
|
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_2" ] && nsdebug="-D"
|
||||||
if [ -z "${NSUPDATE_ZONE}" ]; then
|
|
||||||
#shellcheck disable=SC2086
|
for NS_SERVER in $NSUPDATE_SERVER_LIST; do
|
||||||
if [ -z "${NSUPDATE_KEY}" ]; then
|
_info "Updating DNS server: $NS_SERVER"
|
||||||
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
if [ -z "${NSUPDATE_ZONE}" ]; then
|
||||||
|
#shellcheck disable=SC2086
|
||||||
|
if [ -z "${NSUPDATE_KEY}" ]; then
|
||||||
|
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
|
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
||||||
|
send
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
#shellcheck disable=SC2086
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
if [ -z "${NSUPDATE_KEY}" ]; then
|
||||||
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
send
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
#shellcheck disable=SC2086
|
|
||||||
if [ -z "${NSUPDATE_KEY}" ]; then
|
|
||||||
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
|
||||||
zone ${NSUPDATE_ZONE}.
|
zone ${NSUPDATE_ZONE}.
|
||||||
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
zone ${NSUPDATE_ZONE}.
|
zone ${NSUPDATE_ZONE}.
|
||||||
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
update add ${fulldomain}. 60 in txt "${txtvalue}"
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
done
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
_err "error updating domain"
|
_err "error updating domain"
|
||||||
return 1
|
return 1
|
||||||
@@ -91,42 +98,50 @@ dns_nsupdate_rm() {
|
|||||||
[ -n "${NSUPDATE_SERVER}" ] || NSUPDATE_SERVER="localhost"
|
[ -n "${NSUPDATE_SERVER}" ] || NSUPDATE_SERVER="localhost"
|
||||||
[ -n "${NSUPDATE_SERVER_PORT}" ] || NSUPDATE_SERVER_PORT=53
|
[ -n "${NSUPDATE_SERVER_PORT}" ] || NSUPDATE_SERVER_PORT=53
|
||||||
[ -n "${NSUPDATE_KEY}" ] || NSUPDATE_KEY=""
|
[ -n "${NSUPDATE_KEY}" ] || NSUPDATE_KEY=""
|
||||||
|
|
||||||
|
NSUPDATE_SERVER_LIST=$(printf "%s" "$NSUPDATE_SERVER" | tr ',' ' ')
|
||||||
|
|
||||||
_info "removing ${fulldomain}. txt"
|
_info "removing ${fulldomain}. txt"
|
||||||
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_1" ] && nsdebug="-d"
|
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_1" ] && nsdebug="-d"
|
||||||
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_2" ] && nsdebug="-D"
|
[ -n "$DEBUG" ] && [ "$DEBUG" -ge "$DEBUG_LEVEL_2" ] && nsdebug="-D"
|
||||||
if [ -z "${NSUPDATE_ZONE}" ]; then
|
|
||||||
#shellcheck disable=SC2086
|
for NS_SERVER in $NSUPDATE_SERVER_LIST; do
|
||||||
if [ -z "${NSUPDATE_KEY}" ]; then
|
_info "Updating DNS server: $NS_SERVER"
|
||||||
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
if [ -z "${NSUPDATE_ZONE}" ]; then
|
||||||
|
#shellcheck disable=SC2086
|
||||||
|
if [ -z "${NSUPDATE_KEY}" ]; then
|
||||||
|
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
update delete ${fulldomain}. txt
|
update delete ${fulldomain}. txt
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
|
else
|
||||||
|
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
|
update delete ${fulldomain}. txt
|
||||||
|
send
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
#shellcheck disable=SC2086
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
if [ -z "${NSUPDATE_KEY}" ]; then
|
||||||
update delete ${fulldomain}. txt
|
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
send
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
#shellcheck disable=SC2086
|
|
||||||
if [ -z "${NSUPDATE_KEY}" ]; then
|
|
||||||
nsupdate $nsdebug $NSUPDATE_OPT <<EOF
|
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
|
||||||
zone ${NSUPDATE_ZONE}.
|
zone ${NSUPDATE_ZONE}.
|
||||||
update delete ${fulldomain}. txt
|
update delete ${fulldomain}. txt
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
nsupdate -k "${NSUPDATE_KEY}" $nsdebug $NSUPDATE_OPT <<EOF
|
||||||
server ${NSUPDATE_SERVER} ${NSUPDATE_SERVER_PORT}
|
server ${NS_SERVER} ${NSUPDATE_SERVER_PORT}
|
||||||
zone ${NSUPDATE_ZONE}.
|
zone ${NSUPDATE_ZONE}.
|
||||||
update delete ${fulldomain}. txt
|
update delete ${fulldomain}. txt
|
||||||
send
|
send
|
||||||
EOF
|
EOF
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
done
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
_err "error updating domain"
|
_err "error updating domain"
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
Reference in New Issue
Block a user