diff --git a/infra/image/system-service/fixipaip.sh b/infra/image/system-service/fixipaip.sh index 599aa15a2..f7053e029 100755 --- a/infra/image/system-service/fixipaip.sh +++ b/infra/image/system-service/fixipaip.sh @@ -44,13 +44,18 @@ if [ -z "${PTR}" ] || [ -n "${PTR//[0-9]}" ]; then echo "ERROR: Failed to get PTR from IPv4 address: '${PTR}'" exit 1 fi +FORWARDER=$(grep -s -m 1 ^nameserver /etc/resolv.conf.fixnet | cut -d" " -f 2) +if [ -z "${FORWARDER}" ] || [ "${FORWARDER}" == "127.0.0.1" ]; then + FORWARDER="8.8.8.8" +fi -echo "Fix IPA IP:" +echo "Fix IPA:" echo " HOSTNAME: '${HOSTNAME}'" echo " IP: '${IP}'" echo " PTR: '${PTR}'" +echo " FORWARDER: '${FORWARDER}'" -if ! echo "SomeADMINpassword" | kinit -c "${KRB5CCNAME}" +if ! echo "SomeADMINpassword" | kinit -c "${KRB5CCNAME}" admin >/dev/null then echo "ERROR: Failed to obtain Kerberos ticket" exit 1 @@ -77,6 +82,8 @@ for zone in ${ZONES}; do fi done +ipa dnsserver-mod "${HOSTNAME}" --forwarder="${FORWARDER}" + kdestroy -c "${KRB5CCNAME}" -A exit 0 diff --git a/infra/image/system-service/fixnet.sh b/infra/image/system-service/fixnet.sh index e4ee3dff6..0bf6d0369 100755 --- a/infra/image/system-service/fixnet.sh +++ b/infra/image/system-service/fixnet.sh @@ -51,7 +51,11 @@ else echo -e "$IP\t${HOSTNAME} ${HOSTNAME%%.*}" >> /etc/hosts fi -echo "nameserver 127.0.0.1" > /etc/resolv.conf +cp -a /etc/resolv.conf /etc/resolv.conf.fixnet +cat > /etc/resolv.conf <