1.问题出现的场景

VirtualBox创建的虚拟机ip分配方式由DHCP改为static,改完后使用yum命令时出现此问题。

2.原因

先在网上搜索了别人的解决方案,大都说将配置文件/etc/sysconfig/network-scripts/ifcfg-{网卡名称}里面的ONBOOT="no"改为yes,但我这里它原本就是yes,所以显然没有抓住问题的本质。

那么检查一下网络是否可用,尝试从虚拟机ping一个已知的外网ip,可以ping通,所以网络是通的(不能说没问题,但至少是通的)。再尝试pingwww.baidu.com,发现ping不通。因为刚才ping ip是通的,所以再尝试ping百度首页的ip61.135.169.121),能ping通。

那么现在情况是,能通过ip访问外部资源,但不能通过域名访问。

/etc/yum.repos.d/目录下看看里面yum命令用到的repo文件的内容,url全都是域名。

所以本质原因是:没有配置DNSDNS有问题,导致识别不了repo文件里的域名配置

3.解决方案

配置正确的DNS,修改/etc/resolv.conf文件,增加如下内容:

nameserver xx.xx.xx.xx //DNS服务器ip
nameserver xx.xx.xx.xx //可配置多个

重启network服务(systemctl restart network)即可。

4.致谢

着重感谢百度首页为解决问题的测试工作提供了帮助。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐