以太网连接设备时如何配置DNS?安卓静态IP以太网ADB连接后ping不通咨询
解决安卓静态IP以太网下无法ping通服务器的DNS配置方案
既然你已经通过ADB成功连接设备,那咱们直接从最便捷的ADB命令配置入手,同时也给你提供系统设置界面的操作方法,按需选择:
方法一:通过ADB命令配置DNS(优先推荐)
这种方式不需要操作设备屏幕,直接通过已连接的ADB就能完成:
确认以太网接口名称
先执行命令查看设备的网络接口,找到对应的以太网接口(通常是eth0,部分USB以太网可能是usb0):adb shell ip link show输出里找类似
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>的条目,记住接口名。临时设置DNS(重启设备后失效)
直接用setprop命令设置主备DNS,比如用谷歌公共DNS或者国内公共DNS:# 设置主DNS为谷歌8.8.8.8 adb shell setprop net.dns1 8.8.8.8 # 设置备用DNS为谷歌8.8.4.4 adb shell setprop net.dns2 8.8.4.4国内用户也可以换成阿里DNS:
223.5.5.5和223.6.6.6,或者114DNS:114.114.114.114。验证配置是否生效
执行命令查看当前DNS设置:adb shell getprop net.dns1然后测试域名解析和连通性:
# 先测试DNS解析 adb shell nslookup google.com # 再测试ping通服务器 adb shell ping google.com永久设置DNS(需Root权限)
如果需要重启后DNS设置不失效,且设备已Root,可以修改系统配置文件:# 先挂载系统分区为可读写 adb shell mount -o rw,remount /system # 修改resolv.conf文件(部分安卓版本可能不依赖这个,但可以试试) adb shell echo "nameserver 8.8.8.8" > /system/etc/resolv.conf adb shell echo "nameserver 8.8.4.4" >> /system/etc/resolv.conf # 恢复系统分区为只读 adb shell mount -o ro,remount /system注意:部分新安卓版本可能使用
netd管理DNS,这种情况下修改/system/etc/hosts或者对应的dhcp配置文件可能更有效,但setprop临时设置足够日常使用。
方法二:通过系统设置界面配置(如果能操作设备屏幕)
如果你可以直接操作设备,也可以通过系统设置完成:
- 打开设备的「设置」→ 「网络和互联网」→ 找到「以太网」(或「有线网络」)选项
- 点击已连接的以太网网络,选择「修改网络」
- 切换到「静态IP」模式,找到「DNS1」和「DNS2」输入框
- 填入你想要的DNS服务器地址(比如
8.8.8.8和8.8.4.4),保存设置即可
额外排查点
如果配置DNS后还是无法ping通,建议先排查这些问题:
- 确认静态IP的网关地址是否正确:执行
adb shell ip route show,查看默认路由的网关是否和你的局域网网关一致,先ping网关地址adb shell ping 网关IP,确保网关连通 - 确认以太网网络本身是否能访问互联网:比如用其他设备连接同一路由器的以太网,测试是否能正常上网
- 尝试更换DNS服务器:不同网络环境下,某些DNS可能解析不稳定,多试几个公共DNS
内容的提问来源于stack exchange,提问作者shahooo
相关产品推荐
相关产品推荐

