【Vagrant】Vagrant 下 CentOS 虚拟机无法 ping 外网host的原因分析

今天 使用 vagrant 虚拟机遇到一个奇怪的问题

启动虚拟机 ssh 登入后,发现 ping baidu.com 返回 unknown host

  1. 怀疑是 network 设置有问题,

    改变 vagrantfile 的配置行 “config.vm.network ”后重启了两次,发现还是不行。

  2. 测试宿主机与虚拟机之间是否互通?

        发现能够互相 ping 通

   3. 既然能互通,那么网卡设置其实是正常的。这时候想到是 DNS 解析的问题。

       直接 ping 220.181.38.148(此时 baidu.com 指向的一个公网 IP),发现果然 ping 通。


于是可以肯定,虚拟机 Centos 系统的 DNS 解析异常(虽然之前一直正常使用,而且我没改过啥配置。。。)

废话少说,那么看什么原因导致 DNS 解析出错?

查阅资料,重新设置网卡内的 DNS 配置,发现

vi /etc/sysconfig/network-scripts/ifcfg-eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth1

其中没有 DNS 的配置行,之前也没有显式声明。

在文件末尾增加一行 DNS 配置

DNS1 = 8.8.8.8


然后重启网络 sudo service network restart

然后测试 ping baidu.com ,成功!


总结:当出现问题时,要找对排查方向。比如看报错 unknown host: baidu.com ,就首先是看 DNS 解析有没有问题(直接 ping 其 IP),然后才考虑网卡是否与外部互通。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«   2020年10月   »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

    Powered By Z-BlogPHP 1.5.2 Zero

    Copyright liuyang1.com. 转载文章,请注明出处。谢谢!