宿主机:
Windows XP
,宿主机
IP
:
192.168.27.56
,
VMware
版本:
VMware7.0
共有三台虚拟机,网络连接模式分别是:
Bridged
、
Host-only
和
Host-only
。
虚拟网络环境:
VM1
、
VM2
和
VM3
分别位于不同网段
VMnet0
、
VMnet1
和
VMnet2
,要求三个网段能互通,且能上网。
实现手段:由于跨网段的通信要用到路由器,若没有路由,
linux
里可以启用
IP
转发以实现路由功能。这里在
VM1
上做
IP
转发,使之充当路由器和
DNS
服务器,便于
VM2
和
VM3
通过它互相进行通信。
故而,为
VM1
添加两块网卡
eth1
和
eth2
,完成硬件准备;然后在三台虚拟机上做
IP
转发,实现不同网段互通:
在
VM1
上做
IP
转发,把
VM2
和
VM3
的网关分别指向
eth1
和
eth2
,
VM1
即可访问所有网段;
在
VM2
上做
IP
转发,把其默认网关指向
eth1
,
VM2
即可访问所有网段,它在访问
VM3
时,使用了
VM1
的路由功能;
同理,在
VM3
上做
IP
转发,把其默认网关指向
eth2
。
实例操作过程:
一、安装
VMware
:略
二、安装虚拟机:
先安装一台虚拟机,然后进行完全克隆另外两台,三台虚拟机的操作系统都是
CentOS 5.5
。对于虚拟机的网络模式,在系统安装时我选择了默认,虚拟机安装完成后再重新调整;当然,也可以在安装系统时就调整好。
三、网络模式的调整:
打开
VMware
,点击菜单
Edit-Virtual Network Editor
打开网卡配置对话框,
VMware
已经为各块网卡分配了默认子网;可以看到
VMnet2
和
VMnet2
分配的默认子网分别是:
192.168.222.0
和
192.168.209.0
,这个等下要用到。
对
VM1
所使用的
VMnet0
无需调整;
对
VMnet8
,取消
Connect a host virtual adapter to this network
和
Use local DHCP service to distribute IP address to VMs
复选框,目的是取消
VMware
在宿主机中安装的
VMnet8
网卡;
对
VMnet2
和
VMnet3
两块网卡的调整是重点,这是
VM2
和
VM3
用的网卡。把两块网卡的网络模式都设成
Host-only
,然后选中两个复选框。完成后在宿主机的网络连接中可以看到多了
VMware Network Adapter VMnet2
和
VMware Network Adapter VMnet3
两块网卡。
为
VM1
添加网卡:打开
VM1
界面,不要启动,点击
Edit virtual machine settings-add-Network Adapter-Custom
,选择
VMnet2
,添加一块网卡;然后,同理添加另外一块网卡
VMnet3
。这样,
VM1
一共有了三块网卡。
四、打开三台虚拟机,做最后的指向操作:
首先打开
VM1
的
IP
转发功能:
vi /etc/sysctl.conf
,把
net.ipv4.ip_forward = 0
改成
1
,使用
sysctl -p
命令使改动生效;
然后编辑各网卡的
IP
和网关:
VM1
的
eth0
设置的是
Bridged
模式,且启用了
DHCP
,开机后
eth0
自动获取了一个
IP
:
192.168.27.60
,与宿主机位于同一网段。
eth1
和
eth2
刚开始采用了
dhcp
分配
IP
,不过
VM1
可以
ping
通
VM2
和
VM3
,但
VM2
和
VM3
却
ping
不通
VM1
,并且它们互相之间也
ping
不通。没办法,只好手动分配
IP
,如下:
DEVICE=eth1
BOOTPROTO=static
HWADDR=……
IPADDR=192.168.222.127
NETMASK=255.225.255.0
GATEWAY=192.168.222.1
网卡
eth2
与之类似,只不过
IPADDR
和
HWADDR
不同。要注意的是,这两块网卡的
IP
分别设置成
VM2
和
VM3
的网段,且
IP
地址比
VM2
和
VM3
的
IP
小一位,因为它们将被设置在
VM2
和
VM3
的网关。
在
VM2
和
VM3
中,分别编辑
/etc/sysconfig/network-scripts/ifcfg-eth0
文件,把它们的默认网关指向
192.168.222.127
和
192.168.209.127
。
到现在为止,三个虚拟机和宿主机之间可以相互通信了!
不过还有一个问题:由于没有做
NAT
转换,
VM2
和
VM3
无法通过
VM1
上网,这个可以理解;但是
VM1
设置的是
Bridged
模式,却仍然不能上网!不知道问题出在了哪里,哪位朋友对这方面比较了解的话,希望能指点我一下。
最后的网络环境如下:
VM1 eth0:192.168.27.60
eth1:192.168.222.127
eth2:192.168.209.127
VM2 eth0:192.168.222.128 gw:192.168.222.127
VM3 eth0:192.168.209.128 gw:192.168.209.127
说明:
1
、
VMware
在安装时,自动为宿主机安装了一个
DHCP
服务,相当于使宿主机多一个
DHCP
服务器的角色,为网络模式为
NAT
和
Host-only
模式的虚拟机自动获取
IP
。
2
、虽然
Bridged
模式的虚拟网卡为
VMnet0
,
Host-only
模式的虚拟网卡为
VMnet8
,但实际上
Windows
版的
VMware
最多可以设置从
0
到
9
一共
10
块虚拟网卡,每块网卡代表着一个子网,只不过
VMware
为
0
、
1
、
8
三块虚拟网卡以及它们所代表的子网预设了网络模式。我们完全可以手动修改
VMware
的网卡配置,把它们修改成任一网络模式。
3
、
VMnet0~VMnet9
这
10
块虚拟网卡到底是做什么用的?我从网上看到了一个诠释,个人觉得很有道理:
VMware
中的
VMnet1
和
8
比较特殊,用于直接和主机通讯,其它的网卡可以当作独立的交换机,连接在同一个
VMnet
上的虚拟机之间可以相互通讯。
4
、本例的
VMware
网络设置参考了很多网上资料,我本人对这方面研究不深,故对此不再展开叙述。