What's new

DNS script auto change

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

numminorih

Occasional Visitor
Hi to all,

I'm trying to make an automatic DNS change when the main one is unavailable. My current setup:
192.168.0.1 - router address
Settings:
WAN - Internet Connection
DNS Server - 192.168.0.10
LAN - DHCP Server - Enhanced by YazDHCP
DNS Server 1 - 192.168.0.1
192.168.0.10 - Pi-hole + dns DOH (claudfare) server

I need to make an automatic change of DNS to 8.8.8.8 when pi-hole is not available.

What I have found out so far:
- nvram set wan0_dns="8.8.8.8"; nvram set wan0_dns1_x="8.8.8.8"; nvram set wan_dns="8.8.8.8"; nvram set wan_dns1_x="8.8.8.8"; nvram commit
- work, but applying only after service restart_net (this take a lot of time, compared to change in GUI)
- service restart_dnsmasq - has no effect
- Not sure if I need to change:
/etc/resolv.conf
/tmp/resolv.conf
something else......

Also, please advise how to properly make the script track the availability of 192.168.0.10 and back to them after "UP"
/jffs/scripts/check_pihole
Code:
#!/bin/sh
IP1=192.168.0.10
IP2=8.8.8.8


#start first ping, remember its pid
ping -W 1 -c 1 $IP1 >/dev/null&
PID1=$!


# start second ping, remember its pid
ping -W 1 -c 1 $IP2 >/dev/null&
PID2=$!


# wait for pings to finish
if wait $PID1
then
logger "$IP1 is UP";
nvram set wan0_dns="8.8.8.8"; nvram set wan0_dns1_x="8.8.8.8"; nvram set wan_dns="8.8.8.8"; nvram set wan_dns1_x="8.8.8.8"; nvram commit; service restart_net
fi


if wait $PID2
then
logger "$IP2 is UP"
???
fi
 
Not clear to me why a *local* pihole DNS server would ever become unavailable. But for the sake of argument, let's assume that's the case. Then it seems to me the proper solution would be to provide a *second* pihole, and provide both piholes as DNS servers to your clients. In that way, the *client* decides in the need to change DNS servers, which is the same way it works w/ public DNS servers.
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top