IOS – Cannot access .local addresses from the iOS devices

iosipadiphoneNetwork

I have a computer that is hooked up to my entertainment center that runs an EyeTV media server. I hadn't used it in over a year because we moved and I couldn't pick up any stations, but I bought a new outdoor antenna and now have stuff to watch. I have a bookmark to the server that uses my computer's name (roberts-mac-mini.local) and when I tried to access it from my iPhone 6s, it eventually timed out. This also happens on my iPad Mini.

The thing is, if I use the DHCP address, it works. Also, if I enter roberts-mac-mini.local into Safari on my laptop, it works! It's only when trying to access .local domains from iOS devices that it doesn't work.

Additionally, I cannot ssh via the Terminus app nor can I ping any of my 3 macs using a network utility app using their .local addresses.

Oddly, occasionally, it DOES work, though I have not been able to figure out why.

I just called and spoke to Apple Support. They screen shared with me on my iPhone and I demonstrated how I could access the computer using the DHCP address but not with the .local address. I showed them ping for 2 .local addresses as well. They had me eventually "Reset all settings" on the iPhone and the .local domains all started working for all 3 computers I'm running! It's a pretty drastic fix though. It's going to take me all day going back through my settings and getting everything back to normal. And I'd rather not do this on my iPad. Does anyone know a more nuanced fix to this issue or why it's happening in the first place? I don't want to go back and fix all my settings only to find out that I've re-introduced the issue.

Best Answer

I figured out a temporary work-around:

  • Turn airplane mode on and off

This flushes the DNS cache on the iPhone, which caches DNS resolutions set by Apple's Bonjour, which uses .local for things like airplay and printer service broadcasting.

Once you do this with airplane mode, access to .local addresses on your network should start working, but it's only a temporary fix. Once Bonjour tramples over the DNS settings, it will stop working again. You can repeat this trick to restore access, but for a more permanent fix, you'll just have to use your DHCP-assigned IP address.

If you need .local DNS resolution to work reliably, Apple needs to fix this issue, so I suggest you submit feedback to them.

I blogged about the issue here.