1

I have a problem with configuring my iPad to work on a local, isolated Wi-Fi network that does not have a DNS server on it. The problem is in how to convince the iPad that it is actually connected to the network.

My regular Wi-Fi access point is supplying addresses in the 165.156 block, and the iPad happily connects to it with DHCP and sees the outside world. However I need to connect my iPad to a local device with an IP address of 192.168.10.11 that is hardwired into my network, so I want my iPad to talk on the 192.168 block - but I do not want to change my WiFi AP configuration (because among other things this is test case for a clients network), nor do I want to Jailbreak my iPad.

So I manually set the iPad to a static IP of 192.168.10.12, for the connected SSID of my Wi-Fi network. When I do this (using a 3rd party network utility on the iPad) I can ping 192.168.10.11 from the iPad, and I thought all was good and happy.

However with this configuration the Wi-Fi icon on the iPad is not displayed. From what I understand this means that even though I am connected to a network of sorts, the iPad disagrees with me, and that this because the SCNetworkReachability system can't find what it needs to determine connectivity.

But a commercial program I will be using on the iPad uses the Reachability system to determine network availability, and without iOS saying that there is a network that commercial program will not communicate with the hardwired device. Hence I somehow need to beat the iPad into submission and convince it that there is network connectivity.

From Reachability

IMPORTANT: Reachability must use DNS to resolve the host name before it can determine the Reachability of that host, and this may take time on certain network connections. Because of this, the API will return NotReachable until name resolution has completed. This delay may be visible in the interface on some networks.

It seems that I need to add some sort of DNS information to keep the iPad happy. However ultimately this all needs to run on an isolated network which will have static IP addresses and will not have a DNS server of any sort. Thus there will be no external connectivity.

So my question comes down to:

What sort of DNS configuration (and where), is needed in the iPad to convince the SCNetworkReachability system that all is well with the network, even though there is no DNS server in the system?

Update

As per my comment to Triniq's answer, I do not have control over the target network and will not be able to install any DNS server systems. I am looking for an iPad only solution.

2
  • idk the answer to your question - but why are you using a non-private address block for your wifi? That block is already allocated. There's good reason to use 192.168 or 172.16-31 or 10.x
    – Tetsujin
    Feb 7, 2015 at 7:37
  • 1
    @Tetsujin Probably because sometime in the past I meant to go for the 172 block and screwed up big time because I deal a lot with GE equipment have the 165 block drilled into my head. And also because I set it up years ago and since it obviously worked for me I never thought twice about it. Good call.
    – Peter M
    Feb 7, 2015 at 13:02

2 Answers 2

1

It's not a direct answer, but why not set up dnsmasq somewhere on your 192.168 network and use that hosts ip for the dns server in the ipad config? It should be a viable workaround. If this extra network doesn't have www connectivity, make an entry for apple.com in the /etc/hosts file where dnsmasq runs. This should trick the ipad to thinking it's truly online.

1
  • Unfortunately it (the final location) is not my network, so I have no say in installing new software that runs on it.
    – Peter M
    Feb 11, 2015 at 22:15
0

I get online through a Peruvian cell provider. But their DNS servers suck. So I go to the Settings->WiFi and click the info icon. Then I changed the single DHCP-provided DNS IP to two that I know work well. The setting persists--DHCP does not override it the next time I get online.

I used to have my Mac running a caching server. I'm trying to get that going again, since that would be faster than the current method.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .