Answers:
没有应用程序,我找不到可靠的方法。
我经常使用OpenDNS Family Shield,但有时它会阻止我访问某些特定的黑客站点,然后我需要快速轻松地更改DNS服务器。
我曾经使用Set DNS,但是它停止在Android 4.3及更高版本中工作,因此我创建了Override DNS,这是一个模仿Set DNS行为的新应用程序,但已更新为甚至可以在Lollipop中使用。它还具有其他一些不错的功能,例如PIN保护和Wi-Fi SSID过滤器。
我可以看到没有应用程序就可以做到的唯一方法是类似一条iptables
规则,将将udp / 53的所有流量重定向到其他IP。XDA线程中显示了类似的过程。
我在此处粘贴iptables
了完整性规则(我没有对其进行测试)
$IPTABLES -t nat -D OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53 || true
$IPTABLES -t nat -I OUTPUT -p tcp --dport 53 -j DNAT --to-destination 208.67.222.222:53
$IPTABLES -t nat -I OUTPUT -p udp --dport 53 -j DNAT --to-destination 208.67.222.222:53
从Android设备定向到任何IP,端口UDP和TCP 53的所有内容都将重定向到208.67.222.222
OpenDNS的DNS服务器之一。
这些命令应放置在每次设备启动时运行的脚本中。该功能取决于您的特定ROM。我不知道是否可以在不使用应用程序的情况下在库存ROM中完成类似的操作。覆盖DNS也可以解决此问题。
该信息来自2014年。但它可能仍然有效。目前,我无法进行测试,但是由于您已经扎根。您可以尝试将dns设置添加到build.prop文件中,看看它是否粘住。将以下内容添加到build.prop文件应将google添加为您的DNS服务器。
net.rmnet0.dns1=8.8.8.8 net.rmnet0.dns2=8.8.4.4 net.dns1=8.8.8.8 net.dns2=8.8.4.4
从Android 9 Pie开始,可以全局更改DNS,前提是它们支持TLS。快进去
Settings → Network & internet → Advanced → Private DNS
没有应用程序是不可能的,它必须与应用程序一起使用。其次,您需要root用户访问权限才能更改1G / 2G / 3G / 4G DNS。尝试设置DNS。