13

Is it possible to change DNS for cellular internet? How can it be done without a jailbreak?

I've tried Apple Configurator, but didn't find suitable settings.

4

Build your own VPN using OpenVPN & easy-rsa on a digital ocean cloud server ($5/mo for cheapest VM & 2TB monthly transfer), configure VPN to tunnel/forward all traffic, set up Cloudflare 1.1.1.1 on VPN, then use Apple Configurator to set an always on VPN connection.

Can confirm this is how I do it, I set up Ubuntu 16.04 server instance and the above and never shut my vpn off.

  • This sounds like a great workaround! (Although I tried to set up a Raspberry PI as a VPN server a year ago and all the software / guides I tried didn't work/seemed abandoned, so I'm wondering how easy this is today. Got the OS running, but couldn't find a working method to get the VPN software installed - didn't get to configuration.) – Matthew Elvey Oct 1 '18 at 16:47
  • 1
    yep - I've followed this step-by-step guide, took an hour or so to set up, working well. bonus: not even your ISP has your network meta data anymore. digitalocean.com/community/tutorials/… – spinalwrap Nov 30 '18 at 12:51
  • Cloudflare now has an official app that creates a VPN profile to use 1.1.1.1. It's free and does not offer in-app purchases. Get the app from their homepage https://1.1.1.1. – user633183 Jan 4 at 16:21
  • These setup steps got me on my way, super helpful. – zacharydl Feb 16 at 6:31
3
+50

Not possible without a jailbreak.

Source: iPhone Configuration for OpenDNS It says, in part (emphasis mine):

"These instructions only work for Wi-Fi connections because iOS does not allow you to change the DNS servers when connected to cellular networks. Also, the changes are network specific, so you'll need to change the DNS servers every time you connect to a new wireless network."

These folks surely know more about DNS (and in particular overriding standard settings) than anybody else.

2

For those looking to use 1.1.1.1 on your iOS devices, you can download the official 1.1.1.1 app from the App Store (free, no in-app purchases), or follow the link on the https://1.1.1.1 home page.

The app sets up a VPN profile that automatically routes all DNS queries from any app through Cloudflare's free DNS servers.

Cloudflare's servers will be used, even for cellular data.


You can also use a third party iOS app called DNS Override (paid app, costs $1.99) that automatically configures 1.1.1.1 for you on any network you connect to. Directions from Cloudflare can be found here and are referenced below:

  1. Download DNS Override from the app store.

  2. Launch the DNS Override app.

  3. Click 1.1.1.1 at the top of the app.

  4. Turn on the DNS Override toggle

  5. DNS Override may ask you to install their VPN profile so that they can automatically update DNS settings.

Lastly, wifi users can setup DNS servers manually by going to the iOS wifi settings. Note your device will only use 1.1.1.1 for each wifi connection you configure.

  1. Go to Settings.

  2. Click on Wi-Fi.

  3. Click the information ‘i’ icon next to the Wi-Fi name you are connected to.

  4. Scroll down until you see the section called Configure DNS

  5. Change the configuration from Automatic to Manual.

  6. Click Add Server.

  7. Remove any IP addresses that may be already listed and in their place add:

    1.1.1.1
    1.0.0.1
    2606:4700:4700::1111
    2606:4700:4700::1001
    
  8. Click Save.


I can't think of a good reason to pay for a third party app like DNS Override when an official app is provided free directly from Cloudflare.

For those using a manual Wifi configuration, know that Cloudflare's DNS is not used for your cellular data. Your iOS device will only use a custom DNS on connections that have it configured. There is not a way to configure cellular DNS on iOS at this time - your carrier settings will be used. For this reason, I suggest using the official Cloudflare app.

0

DNS Override worked for me on the tests, although I noted some bad reviews around battery life. Having a quick look at doing this via a profile and Apple Configurator software, seems you can set-up a profile with proxy DNS settings, but the profile just allows you to refer to a bundle within an iOS application. Looks like you do need an app like DNS Override in order to change cellular DNS, and can't be done through profile on it's own.

Would be very happy to be proved wrong on this. (iOS 11/8 Plus)

0

The suggestions by @cinematicme got me on my way; super helpful. Here is what I am running: iOS OpenVPN app tunnels to Azure Ubuntu server, app set to only activate on cellular. DNS Override app makes all WiFi connections use my preferred DNS (OpenDNS). My home network and Azure server are in my OpenVPN account with custom blocking rules.


1) Create cloud server in Azure (or DigitalOcean) with UDP port 1194 open; Azure burstable B1s size costs me $9/mo, 25GB bandwidth costs $1.75/mo

2) I spent hours setting up OpenVPN with the following guide, then found the top comment there links an install script that took literally 3 minutes, (see 3 below).

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04

3) Install OpenVPN using comment at above link, here it is directly:

https://github.com/Nyr/openvpn-install

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Can read the script on GitHub here before installing.

The install script will ask you what DNS you want to use for your VPN. You can choose 1.1.1.1, Google, or OpenDNS.

4) Import the .ovpn file generated above into the iOS OpenVPN app, set to continuously reconnect on cellular only.

5) Bonus: I wanted OpenDNS on all WiFi connections as well, which can be accomplished via iOS DNS Override app ($1.99). I set this to force OpenDNS for all WiFi and cellular connections. It does not seem to conflict with the autoconnected VPN on cellular opened by the OpenVPN app.

https://www.dnsoverride.com/change-iphone-dns-with-an-app/


Hopefully this helps someone with their private cellular data needs. What took me a day to set up could have taken just a couple hours with the right information. Like @spinalwrap mentioned, a nice bonus of the actual VPN method is your cellular provider has none of your metadata.

I also installed the 1.1.1.1 app and it worked to get 1.1.1.1 DNS, but since I wanted OpenDNS and filtering, I opted for the VPN route.

-2

Try this app : DNS Override set DNS for Wi-Fi and cellular

  • It looks like that app works by generating a custom VPN config profile and installing it. There is probably a way to do the same thing manually. – Phssthpok Jan 16 '18 at 9:02
  • upvoting... this totally works – Walrus the Cat Apr 6 '18 at 17:33
  • Just confirming you tried it with a DNS leak test @WalrustheCat? The first comment in the App Store says: "I’ve tried multiple times and even restarted my iPhone but the app would not change the dns server for cellular as advertised...The dns leak test , even the one that’s in the app, shows T-Mobile dns after I’ve “forced” it to something else in the app. Disappointing." – Allyl Isocyanate Apr 6 '18 at 18:39
  • huh ... interesting ... i seem to recall passing the tests i ran ... shuold recheck it – Walrus the Cat Apr 14 '18 at 20:28
  • Allyl's comment up at the OP may explain it sometimes working. I'm trying the app on a couple different carriers. When I launch the app, I am immediately asked for my iTunes password!?!: "Sign In to iTunes Store", "Enter the password for your Apple ID "<my Apple ID is displayed here>"" which seems super suspect. On the other hand when my lock screen is displayed, I see "(!) SIGN IN TO ITUNES STORE", "Enter the password for your Apple ID "<my Apple ID is displayed here>". Slide for more" – Matthew Elvey Apr 16 '18 at 17:05

You must log in to answer this question.

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