iPhone PPTP cannot use VPN DNS server

My PPTP server allows my laptop to resolve internal domain names fine and I can see that the DHCP server is handing my PPTP client the proper DHCP settings.

When I connect through the iPhone, I don't seem to be able to resolve domain names. When I have "Send All Traffic" turned ON in the VPN config, I cannot resolve internal or external DNS. I can access servers through an IP address fine. When I set "Send ALl Traffic" to OFF, I can resolve external domains through my local Wi-Fi assigned DNS servers. When I go to the Wi-Fi connection and force it to use my VPN DNS server, it finally works!

Obviously, this makes using my VPN a multi-step process: 1) Connect to VPN 2) change Wi-Fi DNS server

How can this problem be fixed?


Solution 1:

I found the same problem, it looks like a bug on iPhone's handling of PPTP. It works if you configure PPTP to assign DNS servers which are globally reachable (eg: Google's 8.8.8.8), but not if the DNS are within the VPN themselves.

A workaround is to setup an address like 8.8.8.8, and then intercept and redirect the traffic on the server side (in my case, with iptables).