infra/image system-services: Fix DNS forwarder

The DNS forwarder is set while deploying the IPA server. This forwarder
might not be correct later on.

The old /etc/resolv.conf is copied to /etc/resolv.conf.fixnet by the
fixnet service and later on the fixipaip service is trying to get the
nameserver from the copied file. If the retrieval failed of if the
namesever is 127.0.0.1, then the nameserver will be set to 8.8.8.8.

After fixing the IP addresses for the forward and reverse zone, also the
forwarder is set for the dnsserver "${HOSTNAME}".
This commit is contained in:
Thomas Woerner
2024-08-07 14:51:52 +02:00
parent 88dc4c6923
commit e2bdbeef6d
2 changed files with 13 additions and 2 deletions

View File

@@ -44,11 +44,16 @@ 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}"
then
@@ -77,6 +82,8 @@ for zone in ${ZONES}; do
fi
done
ipa dnsserver-mod "${HOSTNAME}" --forwarder="${FORWARDER}"
kdestroy -c "${KRB5CCNAME}" -A
exit 0

View File

@@ -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 <<EOF
search ${HOSTNAME#*.}
nameserver 127.0.0.1
EOF
echo "/etc/hosts:"
cat "/etc/hosts"