May be easier to just configure a router or local DNS server without mDNS for all your devices to use with a different TLD like.internal instead level 1 0 points 5 days ago Not sure about your issue unfortunately, but Ive heard.local is a reserved tld for Apples bonjour protocol and therefore its not recommended anymore.Press question mark to learn the rest of the keyboard shortcuts Log in sign up User account menu 8 Heimdall and.local resolution on Android.
I use Heimdall as a dashboard to all my locally hosted services. What is annoying is that when I try and reach my server, or any of the other.local servers on my Android Phone, it is unable to resolve. It would annoy me greatly to have to modify my Heimdall dashboard to refer to IP addresses, it would invalidate the use of Avahi in general. I could use some help, its quite irritating, and a boundary to my family more frequently using the tools I have built. Edit: After your responses I have a better understanding of what Im dealing with. Upvoted Log in or sign up to leave a comment log in sign up Sort by best level 1 2 points 5 days ago Android doesnt support mDNS level 2 1 point 5 days ago edited 5 days ago Exactly, Android doesnt do mDNS natively, apps have to specifically build in support for it. So far theres been discussions for Chrome-for-Android five years, but nothing yet: A workaround is to use IPv6 - you can create a public AAAA record ( server.domain.com ) with your servers fixed IPv6 address (which should never change). Since its global, it will resolve anywhere, also on your LAN, but unless youve opened the firewall, it wont expose anything to the WAN side. Continue this thread level 1 1 point 5 days ago You could use a reverse proxy on a domain. I will investigate. You could perhaps run your own local DNS server for your home network and tell your router about it. Then you could forward regular DNS queries to avahi-daemon port 5353 for.local. Id recommend Unbound for this purpose. If youre using local DNS like a pi-holeetc youd better use another TLD (or none at all, just servername is a valid name for a local DNS record. You need to clone the CoreDNS repo, and then follow their docs for adding external plugin, which is adding it to a config file and running 3 go commands to build CoreDNS with it. Heimdall Android Android To UseAndroid doesnt seem to support alternative DNS unless its over port 53 implicitly, so youll need to run the coredns binary via sudo (assuming linux), and configure your wifi connection on android to use the IP of the system running coredns. Now you need a Corefile, and I think you need to provide additional DNS servers here, as for me(little DNS experience, also new to using CoreDNS), android was complaining there was no internet connection and not using its fallback DNS for some reason afaik. You can omit log if youre not interested in seeing the activity. For configuration change to take effect make sure you restart the avahi daemon with systemctl restart avahi-daemon. Note that when making requests on your system with CLI tools, quite a few DNS focused ones query DNS directly and dont use system resolver(eg NSS, Name Service Switch, config at etcnsswitch.conf ) first like many applications would, host, dig, drill, nslookup are all unreliable for testing such, as NSS would be where your system decides if.local should be handled as mDNS, if it is configured for such with mdns4minimal in the hosts: line for example, then its being conforming to mDNS standards, like most other device OS, and wont support subdomainssub-labels(left of hostname), so anything like hello.myhostname.local will instead be a unicast DNS query, not multicast (mDNS). One other issue you may run into is if you have multiple interfaces, such as your local network NIC and docker0 or bridges, these may all respond to mDNS for the same hostname and can result in a race condition happening. In my case with CoreDNS, I think this was an issue for the hostname on the system it ran on, as it had multiple interfaces it could reach, while other systems CoreDNS would only reach them over one IPinterface. It was an issue for me as it returned to Android the IP for my bridged interface instead, so Android failed to connect. You can do something like nmcli dev show for a list of such interfaces, if the name is dynamically created and at risk of not being deterministic (may change, such as a usb wifi dongle when pluggedunplugged), you can usea udev rule to detect it and set a static interface name you can rely on instead.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |