VM多台虚拟机之间的网络问题

我以两台虚拟机为例。如果要三台四台五台都是一样的道理,不过ip的第四段不能冲突

有三种:

  1. 我只想让虚拟机之间能ping通就行,不需要访问公网
  2. 我只想让虚拟机能联网,不需要虚拟机之间ping
  3. 我想两台虚拟机ping通,又要同时访问公网

1.我只想让虚拟机之间能ping通就行,不需要访问公网

1)选择网卡

VM安装之后我们会有两块虚拟机的网卡,一个是单机模式的网卡,一个是NAT模式的网卡

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址

解释一下:

单机模式可以让虚拟机之间ping通,但是由于网卡的限制,是不能访问公网的

NAT模式就不一样了,如果设置的好,可以访问公网又可以虚拟机之间ping通

由于我们不需要访问公网,所以这次选择VMnet1这块网卡

2)为虚拟机设置网卡

第一步:打开VMware

第二步:打开所需要ping通的两台虚拟机

第三步:在一台虚拟机右键,点最下面的设置

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址_02

然后选择主机模式(单机模式)

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IPV6_03

然后第二台同理,网络模式选择主机模式

3)查看主机模式下的网卡ip,并对虚拟机的网卡进行配置

因为主机模式是一个内网,不需要访问公网 ,所以可以完全按照我的步骤,ip地址相同都没问题(我输入1你就输入1)

鼠标移到这个位置右键

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_两台虚拟机可以搭建hadoop集群吗_04

点击网络和Interne设置

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_05

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IPV6_06

点击VMnet1网卡的属性(右键以后的最后一个)

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_07

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_08

点击属性以后

按照我的输入ip地址子网掩码

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_两台虚拟机可以搭建hadoop集群吗_09

知道了我们的网卡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键补全就行

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址_10

可能有人会问:为什么这么黑?

那是因为我对Linux比较熟悉了,所以喜欢用这个全是黑的Linux,我大一刚接触Linux的时候也有这个问题(喜欢图形化界面),到了大二也就是现在,我现在更喜欢这种黑不溜秋的页面了,哈哈

现在网卡还没有配置好,所以我暂时不能通过SSH连接到虚拟机,等等我设置好网卡之后就可以SSH连接到虚拟机了

把文件保存了哈:Esc > :wq > 回车

重启网卡:

systemctl restart network

查看当前的虚拟机IP地址

ip add

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_11

这个时候就可以通过SSH连接了,然后我就换一个工具连接这个虚拟机了

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_12

输入登录账户和密码之后就是:

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址_13

因为在虚拟机不好复制的虚拟机网卡信息:

所以我通过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这块网卡

我前面说过,所以会简单点

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_14

小科普:

要想让虚拟机能够上网,在ip和子网掩码这两个必须走自动获取

  • 如果不自动获取,就是和主机(单机)模式没啥区别

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_15

可能你们会问

那ip地址没办法自己设置咋整?

答:那就拿自动获取的IP地址去修改相应的配置

我的VMnat8网卡的IP地址为192.168.137.1

那我虚拟机的网卡设置成192.168.137.3就行了(还没结束哈,还要多加一些信息)

第一个: GATEWAY=VMnet8自动获取的ip地址的前三段最后一段是2

第二个: DNS1=VMnet8自动获取的ip地址的前三段最后一段是2

怎么查看网关?
  1. 打开虚拟网络编辑器,选择NAT

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IPV6_16

选择NAT设置

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_两台虚拟机可以搭建hadoop集群吗_17

查看网关就行,其他别动

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_18

最后如下:

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_IP_19

怎么查看VMnet8自动获取的IP地址?

在windows打开cmd终端并输入:

ipconfig

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址_20

配置虚拟机的网卡信息
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地址也变了

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_ip地址_21

重新输入你新设置的ip地址就可以了

2)把虚拟机的网卡选择NAT

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_22

然后记得点击确定哈,没确定不生效的哈

我的ip地址为:192.168.137.2哈,你们大部分肯定和我不一样,因为是自动获取的IP地址

3)现在检查是否可以访问公网

重启网卡以后,就可以ping 百度了

ping www.baidu.com

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_23

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

然后就大功告成了!

两台能联网

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_两台虚拟机可以搭建hadoop集群吗_24

两台之间能够ping通

两台虚拟机可以搭建hadoop集群吗 两台虚拟机怎么联网_linux_25

息:

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通


如果还是不会,可以再看看我前面写的