fix: when guessing domain, double check domain returns right ip (#117)
This commit is contained in:
parent
bfc5762335
commit
0d83db25fc
|
@ -2,7 +2,7 @@
|
|||
|
||||
echo "I am a nwaku node"
|
||||
|
||||
if test -n "${ETH_CLIENT_ADDRESS}" -o ; then
|
||||
if [ -n "${ETH_CLIENT_ADDRESS}" ] ; then
|
||||
echo "ETH_CLIENT_ADDRESS variable was renamed to RLN_RELAY_ETH_CLIENT_ADDRESS"
|
||||
echo "Please update your .env file"
|
||||
exit 1
|
||||
|
@ -17,7 +17,7 @@ MY_EXT_IP=$(wget -qO- https://api4.ipify.org)
|
|||
DNS_WSS_CMD=
|
||||
|
||||
if [ -z "${DOMAIN}" ]; then
|
||||
echo "DOMAIN is unset, trying to guess it"
|
||||
echo "auto-domain: DOMAIN is unset, trying to guess it"
|
||||
|
||||
# Check if we have an IP
|
||||
IPCHECK=$(echo "${MY_EXT_IP}" | grep -c '^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$')
|
||||
|
@ -25,6 +25,7 @@ if [ -z "${DOMAIN}" ]; then
|
|||
if [ "${IPCHECK}" -ne 1 ]; then
|
||||
echo "Failed to get ip, received: '${MY_EXT_IP}'"
|
||||
else
|
||||
echo "auto-domain: ip is '${MY_EXT_IP}'"
|
||||
# TODO: Include this in nwaku docker image
|
||||
apk update
|
||||
apk add bind-tools
|
||||
|
@ -39,7 +40,18 @@ if [ -z "${DOMAIN}" ]; then
|
|||
echo "Failed to get DNS, received: '${DNS}'"
|
||||
else
|
||||
DOMAIN=$(echo "${DNS}" | sed s/\.$//)
|
||||
echo "DOMAIN deduced and set to ${DOMAIN}"
|
||||
echo "auto-domain: DOMAIN deduced and set to ${DOMAIN}"
|
||||
|
||||
# Double check the domain is setup to return right IP
|
||||
# OpenDNS servers are used to bypass /etc/hosts as it may return loopback address
|
||||
DNS_IP=$(dig +short @208.67.222.222 "${DNS}")
|
||||
|
||||
if [ "${DNS_IP}" != "${MY_EXT_IP}" ]; then
|
||||
echo "auto-domain: DNS queried returned a different ip: '${DNS_IP}', unsetting DOMAIN"
|
||||
unset DOMAIN
|
||||
else
|
||||
echo "auto-domain: last verification successful, DOMAIN=${DOMAIN}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue