问题
安卓(Android)系统底层没有/etc/resolv.conf
这个文件,所以没法像linux那样添加nameserver记录。
解决办法
安卓系统下通过Network Daemon(Netd) 网络守护进程进行管理。封装了庞杂的底层各种类型的网络(NAT,PLAN,PPP,SOFTAP,TECHER,ETHO,MDNS等),隔离了底层网络接口的差异,给Framework提供了同一调用接口,简化了网络的使用。
其中设置DNS与安卓系统版本有关:
# 对于安卓6.0以前,采用如下格式
# ndc resolver setifdns (interface) (dns1) (dns2)
ndc resolver setifdns eth0 8.8.8.8 8.8.4.4
# 对于安卓6.0以上,采用如下格式
# ndc resolver setnetdns (interface) (dns1) (dns2)
ndc resolver setnetdns eth0 8.8.8.8 8.8.4.4