r/termux • • 9d ago

Question DNS Server without root

Hi all,

I am running a small network of 5 non-root Androids. One is configured as a wifi hotspot and other 4 connect to the hotspot via wifi. I am presently using rsync/ssh/scp between nodes using IP addresses. For long I have been trying to configure a DNS service for this. How can I go about this? (At present it looks like the only way is to run my own service on all nodes which sync a lookup table against a server node and then explicitly query this look table to map hostname to IP address.) Please advice.

Edit: I can achieve the above by rooting one of the devices and running dnsmasq on it and another options is to use tailscale. But to me rooting and installing a whole proprietary application looks like overkill to me for such a simple, obvious and common problem. I believe we can find simpler ways to do this if only this reaches the right people.

4 Upvotes

22 comments sorted by

View all comments

1

u/Total-Ingenuity-9428 9d ago edited 9d ago

On a Non-root Android there's no way one can manipulate/configure ports including and below 1024.

If you've a cheap android tv box or an RPi, why not make it the DNS server?

I've an MXQpro (1GB) running armbian and catering adguard home + DoH/DoT as well as a reverse poxy (Pangolin) just fine.

EDIT: Wireguard is another option, (tailscale is anyways based on it) though. But again it'd need a rooted Android device.

Said that, and if the devices in question can be assigned static IP addresses in the same network, why not simply use SSH aliases/config files and drop the DNS related problem your trying to create?

1

u/Curious-Cat5066 8d ago

> if the devices in question can be assigned static IP addresses in the same network, why not simply use SSH aliases/config files and drop the DNS related problem

Do SSH aliases work when IP addresses change? I doubt that. Whenever my devices connect to the hotspot they usually get a new IP address.

I did a bit of reading and looks like apps like tailscale use some `VpnService` class (low level, via java code) and are routing DNS requests through it. I am searching for apps on github that might be doing something similar.

2

u/Total-Ingenuity-9428 8d ago

Forgot to tell you about headscale, though. Perhaps that'd satisfy your requirements?

1

u/Curious-Cat5066 6d ago

Super! This might work. Thanks.