I want to change dns when phone using 3g connection.
I know how to change dns when phone using wireless. I learned it from here
Is there any way to change dns when phone using 3g connection ?
There's no setting, but it's possible on a rooted device.
I answered a similar question on the Android Enthusiasts site.
If you have a pre-KitKat device, you can find many apps on the Play Store; on a KitKat device there's only one app which I know, and I wrote it. It does basically the same thing, but with the right commands for Android 4.4. You can find the references in the answer I linked.
There's some other app which can do it without root, too, but they create a fake VPN on the same device and redirects all the network traffic through that link... I think they overdo it.