VM多台虚拟机之间的网络问题
我以两台虚拟机为例。如果要三台四台五台都是一样的道理,不过ip的第四段不能冲突
有三种:
- 我只想让虚拟机之间能
ping
通就行,不需要访问公网 - 我只想让虚拟机能联网,不需要虚拟机之间
ping
通 - 我想两台虚拟机
ping
通,又要同时访问公网
1.我只想让虚拟机之间能
ping
通就行,不需要访问公网
1)选择网卡
VM安装之后我们会有两块虚拟机的网卡,一个是单机模式的网卡,一个是NAT模式的网卡
解释一下:
单机模式可以让虚拟机之间ping通,但是由于网卡的限制,是不能访问公网的
NAT模式就不一样了,如果设置的好,可以访问公网又可以虚拟机之间ping通
由于我们不需要访问公网,所以这次选择
VMnet1
这块网卡
2)为虚拟机设置网卡
第一步:打开VMware
第二步:打开所需要ping通的两台虚拟机
第三步:在一台虚拟机右键,点最下面的设置
然后选择主机模式(单机模式)
然后第二台同理,网络模式选择主机模式
3)查看主机模式下的网卡ip,并对虚拟机的网卡进行配置
因为主机模式是一个内网,不需要访问公网 ,所以可以完全按照我的步骤,ip地址相同都没问题(我输入1你就输入1)
鼠标移到这个位置右键
点击
网络和Interne设置
点击VMnet1网卡的属性(右键以后的最后一个)
点击属性以后
按照我的输入ip地址和子网掩码
知道了我们的网卡ip,那就需要对虚拟机的网卡进行配置了
小科普:
两台虚拟机要想能ping通
ip地址的前三段就必须相同:
例如:(前提条件:A和B两台必须在同一块网卡)
A:192.168.11.2
B:192.168.11.3
然后就是可以ping通了
但是我刚刚只是设置了网卡的ip地址,还没对虚拟机的网卡进行配置,现在就对网卡进行配置
现在进行虚拟机网卡配置
由于我的系统是CentOS7,所以我就以Centos7的为例
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 有的人是ifcfg-ens32,网卡名称是系统自己生成的,到时候输出到ifcfg-en之后就按Tab键补全就行
可能有人会问:为什么这么黑?
那是因为我对Linux比较熟悉了,所以喜欢用这个全是黑的Linux,我大一刚接触Linux的时候也有这个问题(喜欢图形化界面),到了大二也就是现在,我现在更喜欢这种黑不溜秋的页面了,哈哈
现在网卡还没有配置好,所以我暂时不能通过SSH连接到虚拟机,等等我设置好网卡之后就可以SSH连接到虚拟机了
把文件保存了哈:Esc > :wq > 回车
重启网卡:
systemctl restart network
查看当前的虚拟机IP地址
ipadd
这个时候就可以通过SSH连接了,然后我就换一个工具连接这个虚拟机了
输入登录账户和密码之后就是:
因为在虚拟机不好复制的虚拟机网卡信息:
所以我通过SSH把他复制出来
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="7eb9ae53-22e0-4d67-aac8-d8a69eed5855"DEVICE="ens33"ONBOOT="yes"IPADDR=192.168.11.2
第二台虚拟机的网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 有的人是ifcfg-ens32,网卡名称是系统自己生成的,到时候输出到ifcfg-en之后就按Tab键补全就行
操作和上面的一样,就是
IPADDR
不一样
另外一个的网卡信息我帮你写好了哈,如下:
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="7eb9ae53-22e0-4d67-aac8-d8a69eed5855"DEVICE="ens33"ONBOOT="yes"IPADDR=192.168.11.3
IP地址冲突会导致另外一台不能上网
2.我只想让虚拟机能联网,不需要虚拟机之间
ping
通
因为我要让虚拟机访问公网,所以必须换网卡,选择
VMnet8
这块网卡
1)配置VMnet8这块网卡
我前面说过,所以会简单点
小科普:
要想让虚拟机能够上网,在ip和子网掩码这两个必须走自动获取,
- 如果不自动获取,就是和主机(单机)模式没啥区别
可能你们会问
那ip地址没办法自己设置咋整?
答:那就拿自动获取的IP地址去修改相应的配置
我的VMnat8网卡的IP地址为
192.168.137.1
那我虚拟机的网卡设置成192.168.137.3就行了(还没结束哈,还要多加一些信息)
第一个:
GATEWAY
=VMnet8自动获取的ip地址的前三段最后一段是2
第二个:
DNS1
=VMnet8自动获取的ip地址的前三段最后一段是2
怎么查看网关?
- 打开虚拟网络编辑器,选择NAT
选择NAT设置
查看网关就行,其他别动
最后如下:
怎么查看VMnet8自动获取的IP地址?
在windows打开cmd终端并输入:
ipconfig
配置虚拟机的网卡信息
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="7eb9ae53-22e0-4d67-aac8-d8a69eed5855"DEVICE="ens33"ONBOOT="yes"IPADDR=192.168.137.3
GATEWAY=192.168.137.2
DNS1=192.168.137.2
然后 Esc > :wq > 回车
重启网卡:
systemctl restart network
然后就断开了
如果出现了这个断开连接的问题不必惊慌哈
那是因为你的网卡ip变了,然后你的ssh的ip地址也变了
重新输入你新设置的ip地址就可以了
2)把虚拟机的网卡选择NAT
然后记得点击确定哈,没确定不生效的哈
我的ip地址为:192.168.137.2哈,你们大部分肯定和我不一样,因为是自动获取的IP地址
3)现在检查是否可以访问公网
重启网卡以后,就可以ping 百度了
ping www.baidu.com
3.两台虚拟机能ping通,并能访问公网
有了前面两个的知识,我直接说大致方案
要求:
访问公网(让VMnat8这块网卡自动获取IP地址)
两台虚拟机之间能够ping通(走同一块网卡,只有VMnet8那块网卡能访问公网,所以我们就根据VMnet8这块网卡的IP地址进行改动)
现在我已经让一台虚拟机能够访问公网了,现在我改动另外一台虚拟机就可以了
两台虚拟机的网卡:VMnet8
第一台虚拟机的网卡配置信息:
IPADDR=192.168.137.3 GATEWAY=192.168.137.2 DNS1=192.168.137.2
第二台虚拟机的网卡配置信息:
IPADDR=192.168.137.4 GATEWAY=192.168.137.2 DNS1=192.168.137.2
然后就大功告成了!
两台能联网
两台之间能够ping通
息:
IPADDR=192.168.137.3 GATEWAY=192.168.137.2 DNS1=192.168.137.2
第二台虚拟机的网卡配置信息:
IPADDR=192.168.137.4 GATEWAY=192.168.137.2 DNS1=192.168.137.2
然后就大功告成了!
两台能联网
[外链图片转存中…(img-xdISKZuN-1648733159100)]
两台之间能够ping通
[外链图片转存中…(img-McgHleqh-1648733159100)]
如果还是不会,可以再看看我前面写的
版权归原作者 懂.py的小陈 所有, 如有侵权,请联系我们删除。