From e101e3aa6e6d2868601b910f4d133389e4660132 Mon Sep 17 00:00:00 2001 From: rootzoll Date: Mon, 20 Jan 2020 19:33:24 +0100 Subject: [PATCH] simple DNS test --- home.admin/config.scripts/internet.dns.sh | 41 ++++++++++------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/home.admin/config.scripts/internet.dns.sh b/home.admin/config.scripts/internet.dns.sh index 05db3bd2a..7151b4e7c 100755 --- a/home.admin/config.scripts/internet.dns.sh +++ b/home.admin/config.scripts/internet.dns.sh @@ -22,62 +22,57 @@ if [ "${DNSSERVER}" = "test" ]; then dnsworking=$(host w3c.org | grep -c "w3c.org has address") # when no dialog just return result of test and exit - if [ "${NODIALOG}" = "nodialog" ]; then + if [ "${NODIALOG}" = "nodialog" ] || [ ${dnsworking} -eq 1 ]; then echo "dnsworking=${dnsworking}" exit 0 fi - # when dns not working ask in dialog to set a preset DNS - if [ ${dnsworking} -eq 0 ]; then - whiptail --title ' DNS Test Failed ' --yes-button='Set DNS 1.1.1.1' --no-button='Ignore' --yesno "It looks like your DNS within local network is not working.\n + # dns is not working --> ask in dialog to set a preset DNS + whiptail --title ' DNS Test Failed ' --yes-button='Set DNS 1.1.1.1' --no-button='Ignore' --yesno "It looks like your DNS within local network is not working.\n Do you want to set the fixed DNS 1.1.1.1 by cloudfare (they claim they provide privacy) for your RaspiBlitz and reboot?\n " 10 64 - if [ $? -eq 0 ]; then - echo "SETTING 1.1.1.1" - DNSSERVER="1.1.1.1" - autoreboot=1 - else - echo "Ignoring DNS-Test fail" - fi + if [ $? -eq 0 ]; then + echo "# SETTING 1.1.1.1" + DNSSERVER="1.1.1.1" + autoreboot=1 else - echo "DNS TEST --> OK" + echo "# Ignoring DNS-Test fail" fi - exit 1 - + fi echo "The DNS server you want to set is: ${DNSSERVER}" # checking parameter if [[ $DNSSERVER =~ ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$ ]]; then - echo "OK IPv6" + echo "# OK IPv6" elif [[ $DNSSERVER =~ ^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]]; then - echo "OK IPv4" + echo "# OK IPv4" else - echo "FAIL - not an IPv4 or IPv6 address" + echo "error='not an IPv4 or IPv6 address'" exit 1 fi echo "" # setting DNS address -echo "Setting DNS server in /etc/dhcpcd.conf ..." +echo "# Setting DNS server in /etc/dhcpcd.conf ..." sudo sed -i "s/^static domain_name_servers=.*/static domain_name_servers=${DNSSERVER}/g" /etc/dhcpcd.conf -echo "OK" +echo "# OK" echo "" # make sure entry in raspiblitz.conf exists source /mnt/hdd/raspiblitz.conf if [ ${#dnsServer} -eq 0 ]; then - echo "Adding value to /mnt/hdd/raspiblitz.conf" + echo "# Adding value to /mnt/hdd/raspiblitz.conf" echo "dnsServer=${DNSSERVER}" >> /mnt/hdd/raspiblitz.conf else - echo "Updating value in /mnt/hdd/raspiblitz.conf" + echo "# Updating value in /mnt/hdd/raspiblitz.conf" sudo sed -i "s/^dnsServer=.*/dnsServer=${DNSSERVER}/g" /mnt/hdd/raspiblitz.conf fi -echo "OK" +echo "# OK" echo "" -echo "DNS Server is set - reboot needed before active" +echo "# DNS Server is set - reboot needed before active" if [ ${autoreboot} -eq 1 ]; then sudo shutdown -r now fi \ No newline at end of file