buildroot_rk3506_static_ip_dns

发布时间:2026/6/24 9:00:24
buildroot_rk3506_static_ip_dns Buildroot 开发板固定 IP 与 DNS 配置教程适用场景嵌入式 Linux 系统Buildroot 根文件系统RK3506 / OK3506 开发板需要让开发板每次开机后自动使用固定 IP解决ping IP 能通但 ping 域名失败的 DNS 问题本文以网口eth0为例固定 IP 为IP 地址192.168.50.233 子网掩码255.255.255.0 网关192.168.50.1 DNS223.5.5.5 / 114.114.114.114 / 8.8.8.81. 先确认网口名称在开发板终端执行ipa常见网口名称eth0 eth1 end0本教程以eth0为例。如果你的网口不是eth0后面的命令要对应修改。2. 临时设置固定 IP临时配置适合先验证网络是否正常重启后会丢失。ipaddr flush dev eth0ipaddradd192.168.50.233/24 dev eth0iplinkseteth0 upiprouteadddefault via192.168.50.1 dev eth0查看是否设置成功ipaiproute正常情况下应看到inet 192.168.50.233/24 scope global eth0 default via 192.168.50.1 dev eth0测试网关ping192.168.50.1测试外网 IPping8.8.8.8如果网关和外网 IP 都能 ping 通说明 IP 和路由基本正常。3. 永久设置固定 IPBuildroot 常见网络配置文件是/etc/network/interfaces编辑该文件vi/etc/network/interfaces写入或修改为auto lo iface lo inet loopback auto eth0 iface eth0 inet static address192.168.50.233 netmask255.255.255.0 gateway192.168.50.1保存退出后重启开发板reboot重启后验证ipaiprouteping192.168.50.1ping8.8.8.84. 解决 DNS 解析失败问题如果出现下面的问题pingwww.baidu.com报错ping: www.baidu.com: Temporary failure in name resolution但是直接 ping 外网 IP 正常例如ping8.8.8.8可以通说明IP 正常 网关正常 路由正常 只有 DNS 没配置好5. 检查 resolv.conf执行cat/etc/resolv.confls-l/etc/resolv.conf在 Buildroot 系统中可能会看到/etc/resolv.conf - ../tmp/resolv.conf这表示/etc/resolv.conf 实际指向 /tmp/resolv.conf如果/tmp/resolv.conf不存在就会导致域名解析失败。6. 临时配置 DNS直接创建/tmp/resolv.confcat/tmp/resolv.confEOF nameserver 223.5.5.5 nameserver 114.114.114.114 nameserver 8.8.8.8 EOF确认cat/etc/resolv.conf应该看到nameserver 223.5.5.5 nameserver 114.114.114.114 nameserver 8.8.8.8测试域名解析pingwww.baidu.com或者busyboxnslookupwww.baidu.com如果能解析说明 DNS 问题已经解决。7. 永久配置 DNS由于/tmp通常是临时目录重启后内容可能会丢失。如果/etc/resolv.conf指向/tmp/resolv.conf建议添加一个开机脚本。新建脚本cat/etc/init.d/S45dnsEOF #!/bin/sh case $1 in start|restart) cat /tmp/resolv.conf DNS nameserver 223.5.5.5 nameserver 114.114.114.114 nameserver 8.8.8.8 DNS ;; esac exit 0 EOF添加执行权限chmodx /etc/init.d/S45dns重启验证reboot重启后检查cat/etc/resolv.confpingwww.baidu.com8. 推荐 DNS国内环境建议优先使用223.5.5.5 114.114.114.114也可以保留8.8.8.8但是在国内网络环境下8.8.8.8有时延迟较高或者不稳定。9. 完整推荐配置/etc/network/interfacesauto lo iface lo inet loopback auto eth0 iface eth0 inet static address192.168.50.233 netmask255.255.255.0 gateway192.168.50.1/etc/init.d/S45dns#!/bin/shcase$1instart|restart)cat/tmp/resolv.confDNS nameserver 223.5.5.5 nameserver 114.114.114.114 nameserver 8.8.8.8 DNS;;esacexit0设置权限chmodx /etc/init.d/S45dns10. 常用排查命令查看 IPipa查看路由iproute查看 DNScat/etc/resolv.confls-l/etc/resolv.conf测试网关ping192.168.50.1测试外网 IPping8.8.8.8测试域名pingwww.baidu.com测试 DNS 解析busyboxnslookupwww.baidu.com查看网络脚本ls/etc/init.d/11. 判断问题位置现象说明ping 192.168.50.1不通IP、网线、交换机、网关可能有问题ping 192.168.50.1通ping 8.8.8.8不通默认路由或上级网络有问题ping 8.8.8.8通ping www.baidu.com不通DNS 配置有问题/etc/resolv.conf指向/tmp/resolv.conf但文件不存在需要创建/tmp/resolv.conf或添加开机脚本重启后 DNS 又丢失/tmp被清空需要使用/etc/init.d/S45dns开机重建12. 如果自己编译 Buildroot如果你希望重新烧录系统后也默认固定 IP需要把配置文件放进 rootfs overlay。例如board/rockchip/rk3506/rootfs_overlay/etc/network/interfaces board/rockchip/rk3506/rootfs_overlay/etc/init.d/S45dns然后重新编译 Buildroot。这样新烧录的 rootfs 默认就会带固定 IP 和 DNS 配置。13. 本次问题结论本次开发板状态eth0 IP192.168.50.233/24 默认网关192.168.50.1 网关 ping 通 外网 IP ping 通 域名 ping 不通判断结果开发板网络已经通了问题只在 DNS。最终处理方法cat/tmp/resolv.confEOF nameserver 223.5.5.5 nameserver 114.114.114.114 nameserver 8.8.8.8 EOF如果重启后丢失再添加/etc/init.d/S45dns开机脚本。