Working DNS During Downtime
Here's how you can use a regular DNS server other than your HDA, and still access your HDA's dashboard, applications, etc. using their hostnames.
This would allow you to browse the internet without problems, if your HDA is ever offline.
Note that this will only work with Linux and Mac OS X clients, unless you find a way to re-create the crontab entry into it's Windows equivalent (installing Cygwin would be a good first step).
Once you have this working, you could even re-enable your router DHCP, and if you have static IPs configured on your HDA, make sure to re-create those entries in your router config.
On your HDA
Logged in as your regular user
Note: Replace your_username with your Fedora username (for example joe).
cd /home/your_username
mkdir bin
cd bin
wget http://wiki.amahi.org/images/3/32/Hda-get-hosts.sh
mv Hda-get-hosts.sh hda-get-hosts
chmod +x hda-get-hosts
Logged in as root
Notes:
- Use su - to become root in an already opened terminal window.
- Replace your_username with your Fedora username (for example joe).
echo "your_username ALL = NOPASSWD: /home/your_username/bin/hda-get-hosts" >> /etc/sudoers
On your client(s)
Add the following entry in your crontab (crontab -e to edit your crontab).
Note: Replace your_username with your Fedora username (for example joe).
* * * * * ssh your_username@hda "sudo bin/hda-get-hosts" > /tmp/hosts.hda ; grep -v "From HDA$\|Amahi HDA$" /etc/hosts > /tmp/hosts.new ; echo "# The following lines were added from your Amahi HDA" >> /tmp/hosts.new ; cat /tmp/hosts.hda >> /tmp/hosts.new ; sudo cp -f /tmp/hosts.new /etc/hosts
Test
Both commands should return your HDA internal IP address:
ping -c 1 hda | grep from
ping -c 1 hda.home.com | grep from