在Android手机中搭建Dnsmasq

网上很久以前就有了在Android下搭建Dnsmasq的方法,不过至少都是两三年前的了,其中也不乏一些编译的方法,需要下载Android源代码,在Linux环境下进行,使得很多人望而却步。

然而heartnn在逛XDA的时候发现某大神发布的已经编译好的版本,虽然也不是很新的(我甚至不知道版本),但必须尝试一下。

需求:Android任意版本(我是在5.1下测试成功的),手机需root,内核最好支持init.d,如果不支持的话请使用终端或RE管理器启动97dns。

副作用:替换系统自带Dnsmasq后可能会引起手机自建热点不正常。

需要说明的是,我并没有按照压缩包里的批处理安装,而是自己手动安装的,因为这样的话可以知道文件的去处,方便卸载。

文件名目标目录权限用途
97dns/system/etc/init.d/755启动脚本
dnsmasq/system/bin/17552主文件
dnsmasq.conf/data/local/644配置文件
dnsmasq-host/data/local/644额外的hosts3
Install.batNullNull作者提供的ADB安装脚本
resolv.conf/system/etc/644NameServer定义文件

当一切都完成后,重启手机,切换DNS为127.0.0.1即可,具体Dnsmasq都能干些什么,请自行Google。

下面的部分是对97dns的补充,但有时完全不起作用,当这些代码无效时,建议使用Override DNS进行修改。

#KitKat
ndc resolver setifdns rmnet0 "" 127.0.0.1 114.114.114.114
ndc resolver setifdns wlan0 "" 127.0.0.1 114.114.114.114
ndc resolver setifdns eth0 "" 127.0.0.1 114.114.114.114
ndc resolver setdefaultif eth0
#Lollipop
ndc resolver setnetdns rmnet0 "" 127.0.0.1 114.114.114.114
ndc resolver setnetdns wlan0 "" 127.0.0.1 114.114.114.114
ndc resolver setnetdns eth0 "" 127.0.0.1 114.114.114.114

最后提供heartnn打包的版本(已更新为卡刷包),轻微修改了一下配置文件。

注: 当dnsmasq出现问题,比如自己配置的hosts出现问题,需要使用其它穿越软件的时候,记得使用Override DNS切换DNS,否则可能会造成其它软件出现问题。

  • 2015-07-27: 更改DNS转发为AliDNS
  • 2015-07-21: 更改DNS转发为OneDNS,不再使用114DNS
  • 2015-12-20: 将Dnsmasq制作卡刷包

  1. 如果目标目录存在同名文件,建议备份 ↩︎

  2. 需要修改文件的用户组为2000 - Shell ↩︎

  3. 该文件的位置可从dnsmasq.conf定义,从而使用系统自带的hosts ↩︎

heartnn

Read more posts by this author.

河北, 石家庄 https://www.heartnn.com
7 评论
Invalid Date.回复

@浮生三千似流年

应该都是建好之后,用127.0.0.1作为dns,另外本地DNS必须靠转发,否则会无法访问,比如转发114或阿里

浮生三千似流年
Invalid Date.回复

http://www.coolapk.com/apk/com...

大神看看这个,下载所有数据包http://coolapk.com/r/1nvj

这个建的dnsmasq怎么用啊?

Invalid Date.回复

@活动要用的账号

另外我翻不到那个帖子的地址了,哪个其实都可以的,没有什么本质区别。

Invalid Date.回复

@活动要用的账号

话说那个脚本其实只有启动dnsmasq那段在Lollipop下是起作用的,真正切换DNS还是靠Override DNS吧。

活动要用的账号
Invalid Date.回复

@heartnn

院长你在这里提供的打包版本跟g+上提供的好像是有点不同的,要不要统一一下?另外是否需要按lolipop的话要在97dns文件里加多三行?

Invalid Date.回复

@活动要用的账号

新版dnsmasq.conf我把opendns那两行去掉了,因为在我这里有时会很慢,下次push时会以注释掉的方式,去掉前面的#号就可以了。

活动要用的账号
Invalid Date.回复

之前用旧版的反而可以,用院长你打包的新版推送到手机后反而不行,无法调用opendns解析dnsmasq.conf里面的地址,奇怪了

Powered By Valine
v1.5.2