19-01【vmware machine】虚拟机无法联网访问
问题
我本地的虚拟机上没办法访问外网,然后搞了很久很久,最终解决了。
现象
A,电脑持续运行了三天,也没有复杂的环境调整的情况下。我本地的ubuntu(使用VMWare machine创建的),突然没办法访问internet。
这个虚拟机使用的网络设置是NAT模式(NAT模式是本地宿主机会根据VMware的vnet8来虚拟一个IP地址,和vnet8共享一个IP段,并且访问网络是通过windows的网络环境来转发出去的)。
并且无法ping通192.168.52.1这个vnet8的IP(大概率ping不同,小概率能ping),但无论如何无法访问外网(ping都ping不通,dns都解析失败了),使用域名和IP都不行。
解决方案:
A,尝试添加DNS,并重启网络【无效】;
B,查看iptables,尝试发现一些端倪(比如ubuntu限制了出口网络),实际并没有【无效】(期间ubuntu一直是我使用的,没有添加过任何规则);
C,尝试重启ubuntu机器【无效】;
D,尝试用另一个一模一样的ubuntu虚拟机来启动,在这台新的ubuntu下查看下效果【第一次打开后两个虚拟机都能访问外网,但不幸的是shutdown新创建的虚拟机后,再次无法访问网络】;
E,尝试重启windows系统,再次启动虚拟机【无效】;
排查思路:
1,虚拟机的问题,还是windows的问题;【虚拟机的问题,windows可正常访问,虚拟机没办法访问】;
2,这台虚拟机自己的问题,还是共性的问题;【共性的问题,因为新的虚拟机也和这台虚拟机现象一样】;
当然我在最初的时候,怀疑只是这台虚拟机的问题,在这上面浪费挺久的(包括DNS,iptables等等)
最后排查线索指向了vmware自己的问题,这时尝试了如下几个方案:
A,重启vmware的vnet8网络【无效】;
B,检查vmware的vnet8的驱动【网卡驱动,好像比较难出问题,怎么折腾都不会是网卡问题的】;
C,检查vmware的虚拟机网络设置【不管是那种设置,NAT,共享主机,桥接,都不见好】;
D,重启vmware的windows服务【无效】;
此时网络资料上出现了一个提示:可以reinstall vmware的;
最后没招了,不行就重做系统呗。然后我决定重装下vmware。
然后准备下载vmware的时候,出现了两个选择:卸载,修复。
优先修复,修复不好再卸载。
执行修复程序后,vmware会检查当前的安装程序是否有问题缺损,检查网络环境,并停用和重新安装vmware的网络服务。
做完修复后,需要reboot电脑。
reboot之后,再次运行vmware,和虚拟机,发现虚拟机可以访问外网了,至此问题已经解决。
遗留问题:
A,在做完后,发现vnet8的网络和虚拟机的网络不是一个IP段,windows的xshell无法连接到虚拟机上(因为IP不在一个段,无法访问),但是虚拟机可以访问外网和windows的IP;
处理方案:重启windows,重启vnet8的网络,启动虚拟机后就会发现IP段一致了(个人怀疑这个vnet8显示的IP和实际使用的IP不是一个IP)。