问题源头
背景
如果你出现了原本虚拟机的源一直都可以用,但是最近在使用虚拟机下载、更新源,一直报错正在尝试其他镜像
,但是却没有成功的情况下就可以试试是否是下面的原因造成的。(前提是你的网络能够ping到公网)
原因
源不稳定
DNS解析问题
使用wireshark抓取流量可以验证
在虚拟机上使用nslookup去解析一个网址
nslookup www.baidu.com
使用wireshark抓取虚拟机网卡的流量,我这里是vmnet8。可以发现是有dns解析ip的回包的,如果你的只有向外发的包,但是没有回包,那就是DNS出不去。
解决办法(以centos为例子)
源不稳定解决办法
首先是需要备份原有的源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
安装wget
yum install -y wget
拉取国内的源
#这里是阿里的源,比较推荐
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
其他源
阿里源:https://opsx.alibaba.com/mirror/
华为源:https://mirrors.huaweicloud.com/
网易源:http://mirrors.163.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
腾讯源:https://mirrors.cloud.tencent.com/
清除源缓存
yum clean all
刷新缓存 | 生成新缓存
yum makecache
验证
yunm update
DNS解析问题解决办法(一)
首先查看你的网卡配置
目录在/etc/sysconfig/network-scripts/
找到你的外网网卡,我的是ifcfg-ens33,使用vim编辑网卡配置。
添加图示的两行
DNS1=114.114.114.114
DNS2=8.8.8.8
退出然后重启网卡
systemctl restart network
使用yum尝试源是否可用
yum update
DNS解析问题解决办法(二)
1、打开虚拟机的网络配置界面,点击编辑里面的虚拟机网络编辑器
2、点击NAT设置
3、点击DNS设置
4、手动配置DNS解析ip
5、如果点进去点不动的话,就在第二步的位置点击dhcp设置然后再进去设置,就可以了
DNS解析问题解决办法(三)
最后如果单独使用不可以就两个方法都使用,就可以解决。TOC