在虚拟机经常遇到一些网络问题,我也遇到了很多问题,在经过无数次试错后,我对这些有了一定的了解,和解决方式,下面我来谈谈我的经验,如有错误,请轻喷
下面都是我的口语,非正式,只要能听懂就行,我感觉全是重点,小白能够全部都看一遍最好
一.一些常识
电脑网络常识
IP地址和子网掩码不用多说
网关:非常重要,就是我们的内网和外网通信的桥梁
网络适配器:其实就是我们电脑的IP地址,我们电脑中有一些网络适配器,比如说我的,下面全是网络适配器,就是说我们电脑可以有多个IP地址
其中的VMware VMnet1, VMnet3,VMnet8 都是针对VMware的网络适配器,但是这些网络适配器还是设置我们的电脑的IP地址的,(之前小白,以为这些就是VMware的网关hhhhhhh)
在里面我们可以设置一下我们电脑的IP地址
但是这些网络适配器的网关实在VMware中设置的
虚拟机网络适配器
在虚拟机中我们可以看到这个网络适配器设置,这些是什么意思呢
桥接模式
在这个模式下,虚拟机的IP地址和本机的IP地址作用完全一样,就相当于又买了一台电脑,并且和本机的IP地址在同一网段下。
比如本机192.168.46.1 , 虚拟机:192.168.46.123。
由于说了是相当于你有两台在同一局域网的电脑嘛,所以两个电脑可以相互ping通,可以ping通网关,可以连接外网
NAT模式
这个模式就不一样了,IP地址和上面不变,但是逻辑不一样了,两个机子对外只暴露一个IP地址就是主机的IP地址192.168.46.1, 但是他们两个IP地址还是分的
主机还是不变
虚拟机在访问外面的网络时,使用主机的IP地址192.168.46.1, 但是它只知道自己的ip192.168.46.123, 并不知道自己使用的是192.168.46.1这个地址
仅主机模式
这个模式下,字如其名,虚拟机只能跟主机PING通,这里就不讲了
再来讲讲VMware workstation网络设置
哦哦对了,192.168.46.xx中的46是我自己设置的,如果不设置会有一个默认值,不同也没有关系
网关一般不改,改了可能会出错
了解了上面的各个模式之后,我们一般直接设置就可以PING通了
但是也还是会有些问题,下面正题开始
NAT模式下,PING不通外网
我们先看看上面的workstation这个网络的设置是否正常,那个VMnet8(NAT模式)设置和我们电脑的网络适配器对应
比如说设置了192.168.46.0网段,那默认的网关就是192.168.46.2,(为什么是2,因为我们电脑的VMnet8的默认的IP地址是192.168.46.1, 不能冲突,所以就默认是2了), 46可以不一样,如下:
自己电脑命令行使用ipconfig查看
默认应该是46.1 可以自己手动改,只要不是跟网关冲突就好
其他的直接留空就好。至于为什么,那就是NAT的关系了
CentOS:
这下面的ip地址是动态分配好的
如果上面都一样,那就可PING通了
整理一下
自己电脑的VMnet8设置192.168.46.1
workstation的VMnet8设置, 默认的网关是192.168.46.2
CentOS不需要设置,因为wokrstation中选择了DHCP动态设置192.168.46.138
测试:
如果还是PING不通,尝试关机重启虚拟机,有时候这个软件有些bug, 重启或许能够PING通了
可以私信我,不定时看。
静态设置CentOS的IP地址的情况下,PING不通外网
有些老师有点小小的要求,没办法,只能做了,那就是不使用动态DHCP, 自己设置IP地址,并测试PING通外网
但是也是会有错误发生
1.检查workstation软件的网络设置
不能直接再CentOS中使用静态地址,但是不该workstation中的DHCP设置,要不然可能会出错
记得点应用和确定
2.设置后查看CentOS中的IP
哎,不见了,IP地址不见了
这时候我们有两种方法,第一个使用命令行改,
cd /etc/sysconfig/network-scripts/..........
太麻烦了,我们可以直接图形化界面改
现在就有IP地址了
测试PING外网,不通
这时候有人要说了
主播主播,不要骗人好吧,这种根本PING不通~
别急,在上面的图形化界面设置IP地址中,我们的DNS还没有设置呢
设置完后一定要重启,一定 或者 使用下面的代码
systemctl restart network
可能是BUG吧,在我们设置完后,查看我们设置的结果,发现DNS没有显示
重启之后,才显示出来了
这样再次测试PING百度
成功了