Pixel 7 Pro, Android 16.
tl;dr - when an ipv6 and ipv4 DNS server exist, only the first (in my case, the ipv6) or perhaps only the ipv6 address is used to attempt to resolve the endpoint URL. ipv6 doesn't exist on my network (and the broadcast of this DNS server was a misconfig), but owntracks doesn't fail over to the ipv4. Every other application on the device fails over or even just initially uses the ipv4 DNS.
This was ultimately a misconfiguration on my network, but I believe it's still an issue that should be fixed in OwnTracks as well as it is the only application after 6 months of this misconfiguration that exposed my local network issue.
My wifi was broadcasting two DNS servers. First was an ipv6 address that resolved to my Archer C7 access point on DDWRT23. Something about RA was enabled, along with DHCP6, despite having no ipv6 devices on my network. This resulted in my phone getting an fe80:xxxxxxxxx%wlan0 DNS server first, followed by my pihole ipv4 server address.
I run dawarich on a local server, but I run a reverse proxy. Due to my ISP's provided equipment, hairpin NAT isn't a thing here, so I have pihole configured to intercept my external domains and redirect them to my reverse proxy. That way, everything I do can be done via the subdomain.mydomain.tld addresses, no matter what.
This is where OwnTracks failed.
When I was on my local network, it was unable to resolve that domain. Basic java style error -- host cannot be resolved kind of stuff. It was trying the ipv6 resolution, which failed, and then simply didn't move on to the ipv4 DNS server. I have ipv6 entirely turned off on my network, so my phone isn't even getting an ipv6 address.
Using the web browser on my phone to hit the dawarich API worked fine. Everything else worked fine -- though, now that I think of it, I did notice weird random hiccups when hitting a local resource from time to time, so maybe the ipv6 -> ipv4 failover was happening all along in other applications.
Disabling the RA + ipv6 features on my WAP fixed all of this.
Pixel 7 Pro, Android 16.
tl;dr - when an ipv6 and ipv4 DNS server exist, only the first (in my case, the ipv6) or perhaps only the ipv6 address is used to attempt to resolve the endpoint URL. ipv6 doesn't exist on my network (and the broadcast of this DNS server was a misconfig), but owntracks doesn't fail over to the ipv4. Every other application on the device fails over or even just initially uses the ipv4 DNS.
This was ultimately a misconfiguration on my network, but I believe it's still an issue that should be fixed in OwnTracks as well as it is the only application after 6 months of this misconfiguration that exposed my local network issue.
My wifi was broadcasting two DNS servers. First was an ipv6 address that resolved to my Archer C7 access point on DDWRT23. Something about RA was enabled, along with DHCP6, despite having no ipv6 devices on my network. This resulted in my phone getting an
fe80:xxxxxxxxx%wlan0DNS server first, followed by my pihole ipv4 server address.I run dawarich on a local server, but I run a reverse proxy. Due to my ISP's provided equipment, hairpin NAT isn't a thing here, so I have pihole configured to intercept my external domains and redirect them to my reverse proxy. That way, everything I do can be done via the
subdomain.mydomain.tldaddresses, no matter what.This is where OwnTracks failed.
When I was on my local network, it was unable to resolve that domain. Basic java style error -- host cannot be resolved kind of stuff. It was trying the ipv6 resolution, which failed, and then simply didn't move on to the ipv4 DNS server. I have ipv6 entirely turned off on my network, so my phone isn't even getting an ipv6 address.
Using the web browser on my phone to hit the dawarich API worked fine. Everything else worked fine -- though, now that I think of it, I did notice weird random hiccups when hitting a local resource from time to time, so maybe the ipv6 -> ipv4 failover was happening all along in other applications.
Disabling the RA + ipv6 features on my WAP fixed all of this.