I just experienced the specific bug in question with the following conditions:
- iPad device was running iOS 6.01
- iPad was connected to VPN (IPSec - Cisco ASA)
- iPad was connecting to WAN over 3G
- iPad could not resolve .local DNS names natively
Resolution and notes
- Using 'free ping' tool correctly resolves the .local addresses and subsequently allows the device to resolve the .local address 'natively' (assume DNS caching is kicking in.)
- Upgrading to iOS 6.1 resolves the issue altogther (double checked by removing Free Ping tool too).
- For reference the carrier is Vodafone UK.
- Not all devices running 6.01 appear to exhibit the 'bug' described above, but I have not had any devices running 6.1 or iOS 5 affected.
It's worth noting that resolving .local DNS names over VPN via WIFI is fine, this issue is specific to VPN over 3G. I hope that helps.
I had this problem as well and found it had nothing to do with the iOS it was the APN settings for Mobile data.
Settings---General---Mobile Data---Mobile Data Network from there you will have APN settings for mobile data MMS and internet Tethering for the Mobile Data settings for APN was originally www.iphone-vodafone.net.nz I changed this to internet and its working fine, I changed this on company ipads as well and works great..
You will need to check with your ISP or carrier to find the correct APN setting to use VPN.
For everyone who is still searching for a solution.
I found a solution, for resolving DNS through VPN.
"First you have to know that DNS resolution works differently between iOS and Android.
In Android: once the VPN tunnel is established all the DNS requests are redirected to the internal DNS.
In iOS: once VPN tunnel is established only the DNS requests with the tunnel DNS suffix are redirected to the internal DNS.
First thing you have to do is set a correct DNS suffix."
Second you have to set the option, Put all traffic through tunnel in your firewall. (It was a option in my CISCO ASA 5505)
After youve done that, it should work!
I hope it also works for you!