硬件平台:韦东山的6ull开发板
问题:
使用网线直连路由器,动态获取IP时能ping通外网;
改为静态IP时,能ping通局域网,但无法ping通外网。
改为静态IP:修改/etc/network/interfaces
测试:ping?www.baidu.com?时提示ping: bad address 'www.baidu.com'
解决方法:
发现是没配置dns导致的问题。
分析启动log信息,发现动态IP时,有配置dns,而配置为静态IP时没配置dns:
不清楚这个具体配置过程,但发现resolv.conf有猫腻:
参考动态IP时,/etc/resolv.conf有配置dns域名服务器:
而配置为静态IP后这个文件内容是空的
配置为静态IP时,系统启动后,可以手动输入同样内容修改resolv.conf文件,
测试可以ping通外网了
但是有个问题,重启后这个文件又会被清空。
需要注意的是:/etc/resolv.conf下配置nameserver 会即时生效
有个解决办法,系统启动后,在/etc/profile里echo下配置resolv.conf:
这样重启后就配置好了dns:
测试可以ping通外网了。
备注:
如果使用的USB网卡直连ubuntu桥接的话,开发板无法通过该网口连外网。
可以再用一根网线接入开发板的另一个网口,接入路由器联网。
关于DNS
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。
二、两个纯净DNS
1、114.114.114.114
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS。
2、8.8.8.8
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用。
?
参考: