VMWare组网攻略

在实际情况中,在没有现实的网络环境的情况下,常常需要模拟网络的环境,利用 VMware     可以模拟一个虚拟局域网的环境,该虚拟局域网可以供那些没有网络环境的读者来测试、实践书中所介绍的入侵与防御技术。可以到 VMware      的官方网站“ http://www.vmware.com/      ”下载最新版本的 VMware Workstation 7.1.3      ,并在官方网站上注册获得一个免费使用三十天的序列号。安装完 VMWare Workstation      后, VMware      相当于一台裸机,需要为其安装操作系统。     

 

当我们安装完成 VMware Workstation   后,我们会发现在网络连接里将多出两块虚拟网卡,即 VMWare Network Adapter VMnet1   和 VMWare Network Adapter VMnet8   。用 ipconfig   命令查看新增加的网卡的属性可以发现,这两块网卡分别属于不同的子网。在 Edit--->Virtual Network Editor   菜单中可以看到 VMWare Workstation   支持的虚拟局域网的个数( Windows   版本的支持 10   个虚拟子网,即 VMnet0-VMnet9   )。比如虚拟子网 VMnet8   ,子网 IP   是 192.168.48.0   ,是 NAT   模式(使用网络地址转换),默认网关地址为 192.168.48.2   。把虚拟网卡 VMWare Network Adapter VMnet8   连接到了这个子网上,虚拟网卡的 IP   在主机中可以看到是 192.168.48.1   。启用了本地的 DHCP   服务,并设置了能动态分配的 IP   地址范围 192.168.48.128-192.168.48.254   。  

我们知道,要组网,就需要使用网卡、交换机等组网设备,同样地,在 VMware Workstation   中组网也需要使用这些设备,只不过在 VMware Workstation   虚拟的计算机和网络中,这些设备在形式上也都是虚拟的(但在功能上,它们跟真实的网络设备没有大的区别)。

6 、虚拟机的创建及其网络配置实例   

这里 VMware Workstation   安装在 Window 7   中。我们在虚拟机中安装 Red Hat Enterprise Linux 6.0   。单击“ New Virtual Machine”   以创建新的虚拟机,选 ”Typical”   然后指定 RHEL 6.0   的映像文件,输入 Linux   的登录用户名和密码,然后可以指定系统的安装位置,分配的硬盘空间,单击 ”Customize Hardware…”   可定制虚拟机支持的虚拟硬件(也可以在安装完后设置)。系统安装完后,默认是使用自定义的 NAT   模式来连接外部网络。更改该虚拟机的 Network Adapter   ,可以设置成使用 VMnet8   (也是 NAT   模式),当然也可以设置成使用其他模式。登录到 Linux   系统,网卡参数配置为 /etc/sysconfig/network-scripts/ifcfg-eth0   ,主机名配置为 /etc/sysconfig/network   , DNS   配置文件为 /etc/resolv.conf   。也可以直接在右上角的网络管理器中配。如下:  

( 1   ) NAT   模式:虚拟机设置成使用 VMnet8   。  

IP   : 192.168.48.130   ,要与 192.168.48.1   在同一个网段的不同地址,或者也可以配置成 DHCP   方式,这时 VMnet8   必须是启用了 DHCP   服务。  

Netmask   : 255.255.255.0   ,要与 192.168.48.1   的掩码相同。  

Gateway IP   :填写 VMnet8   的网关 192.168.48.2   。  

DNS:    填写  VMnet8   的网关地址 192.168.48.2   ,也可以设置成你真实主机中使用的 DNS   地址。事实上,如果是 DHCP   方式, nameserver   会自动设置成 VMnet8    的 Gateway IP Address   , nameserver   就起到 Windows   下的 DNS Server   作用,这种设置类似于 Windows   域环境下的 DNS   转发器,说明这个地址会自动转发 DNS   查询到主机的 DNS   。  

配置好后用 service network restart   命令重启网络。  

( 2   ) Host-only   模式:虚拟机设置成使用 VMnet1   。  

查看真实主机中连接外网的网卡属性,选择“共享”标签,设置成允许其他网络的用户共享此连接,并设定允许的网络接口为 VMware Network Adapter VMnet1   。再查看一下你的 VMnet1    的属性,看一下 TCP/IP   协议的设置,你会发现已经被自动设置为 192.168.137.1/255.255.255.0   。 Windows   下的设置完成后,转入 Linux   虚拟机,将你的 eth0   的 IP   地址设置为静态的。  

IP   : 192.168.137.2   (或其它在此网段上的地址)。  

Netmask   : 255.255.255.0   ,与 VMnet1   的一致。  

Default Gateway: 192.168.137.1    ,为 VMnet1 Adapater   的地址。  

DNS   :输入你自己的 DNS    (主机中用的 DNS   )。  

( 3   ) Bridged   模式:虚拟机设置成使用 VMnet0   。  

一切都跟主机一样,只有 IP   不能与主机相同,但在同一个网段。  

7    、组网实例   

我们的目标是建立两个定制的子网 VMnet2   和 VMnet3   ,这两个网络与真实主机是不直接相连的(真实主机中我并不添加连接到这两个网络的虚拟网卡),而是通过一台以桥接模式创建的属于 VMnet0   的虚拟机连接 VMnet0   ,真实的局域网也即 VMnet0   通过本地的网关连接 Internet   ,我们将 VMnet2   的虚拟机称为 VMnet2PC   , VMnet3   的虚拟机称为 VMnet3PC   , VMnet0   的 PC   称为 VMnet0PC   。现在把 VMnet0PC   作为路由器和 DNS   服务器,要求三个网段互联互通,并都可以访问 Internet   。注意本例中需要建立 3   台虚拟机,而真实的 PC   也处于 VMnet0   子网中,再次强调一下, VMnet0   实际上是现实局域网在虚拟网络中的映射。  

首先,我们建立第一台虚拟机 VMnet0PC   ,可以直接使用刚才的 RHEL 6.0   虚拟机,设置成桥接模式。这样,这台虚拟机会有一块连接到 VMnet0   的虚拟网卡 eth0   ,与真实 PC   处于同一个网段内,设为这个子网 IP   为 192.168.0.0   ,这个网段的网关为 192.168.0.1   。由要求可知, VMnet0PC   另外还要增加两块虚拟网卡 eth1   , eth2   ,这样 VMnet0PC   应该有三块不同的网卡分别接入三个不同的虚拟网络 (VMnet0, VMnet 2, VMnet3)   。打开 VMnet0PC   虚拟机的属性设置 Hardware   标签下面的“ Add…   ”按钮,分别添加两块网卡连接到 VMnet2   和 VMnet3   。  

其次,我们需要配置子网 VMnet2   和 VMnet3   ,并在其中创建虚拟机。打开 Edit--->Virtual Network Editor   ,可以看到 VMnet2   的子网 IP   为 192.168.193.0   ,为 Host-only   模式。上面我们讲过, VMware Workstation   为主机安装了一个 DHCP   服务,我们还可以把 VMnet2   添加到 DHCP   的服务列表中(勾选“使用本地 DHCP   服务”),让 DHCP   为连接到 VMnet2   交换机上的虚拟机自动分配在子网 192.168.193.0   中的动态 IP   地址。用同样的方法,为交换机 VMnet3   指定子网 IP   为 192.168.70.0   ,并添加它到 DHCP   的服务列表中。注意我们并没有把真实主机中任何的虚拟网卡连接到 VMnet2   和 VMnet3   。 VMnet0PC   中的虚拟网卡 eth1   和 eth2   可以保持默认的设置,采用 DHCP   方式。这样就可以让 VMware Workstation   自带的 DHCP   服务为它们自动分配一个 VMnet2   子网或 VMnet3   子网中的动态 IP   地址。当然你也可以为 eth1   和 eth2   手动指定 IP   ,以指向 VMnet2   或 VMnet3   子网。配置完后, VMnet0PC   需要重启,以适应 VMnet2   和 VMnet3   的更改。在 VMWare   的右下角,我们可以看到 VMnet0PC   的 3   个网卡连接情况。  

接下来,我们要需要在 VMnet2   和 VMnet3   中创建虚拟机并安装操作系统。这里我们在 VMnet2   中创建一台 VMnet2PC   的虚拟机,并安装 Windows Server 2008   。在 VMnet3   中,比如我们可以安装一台 Windows Server 2003   的虚拟机 VMnet3PC   。当然我们也可以使用 VMWare   提供的克隆功能,直接对 VMnet2PC   进行复制。关闭 VMnet2PC   ,然后单击 VM--->Clone…   ,根据复制向导,把 VMnet2PC   复制成我们需要的 VMnet3PC   。  

现在的网络拓扑结构为:  

VMnet0PC   的 eth0   : 192.168.0.115/255.255.255.0   。  

真实主机: 192.168.0.114/255.255.255.0   ,它与 VMnet0PC   均位于真实子网 VMnet0   内,网关为 192.168.0.1   。可以上 Internet   。  

VMnet0PC   的 eth1   :使用 VMnet2   子网的地址 192.168.193.129/255.255.255.0   。  

VMnet0PC   的 eth2   :使用 VMnet3   子网的地址 192.168.70.128/255.255.255.0   。  

位于 VMnet2   的 VMnet2PC   :使用 IP   为 192.168.193.130   /255.255.255.0   。  

位于 VMnet3   的 VMnet3PC   :使用 IP   为 192.168.70.129/255.255.255.0   。  

到目前为止,仅有 VMnet0PC   可以连接 internet   并访问所有的网段。默认情况下 VMnet2PC   和 VMnet3PC   是不能上 Internet   的。例如,在 VMnet3PC   中 ping 192.168.70.128   是能通的,但 ping 192.168.0.115     则不通,因为他们在不同的网段。要让不同网段之间能互访问,就必须在不同的网段之间设置路由器。 VMnet0PC   并不是一台路由器,但我们可以用 Windows   操作系统中的软路由功能或 Linux   中的 IP   转发来实现基本的路由服务。即在 VMnet0PC   中开发 IP   转发功能,将 VMnet2PC   的网关指向 eth1   ,将 VMnet3PC   的网关指向 eth2   ,这样就可以实现不同网段之间的互通。  

在 VMnet0PC   中配置好三块网卡后,会自动添加这三个网段的静态路由,可用 route   命令查看,如下:  

  1. [jackzhou@localhost ~]$ route  
  2. Kernel IP routing table  
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
  4. 192.168.193.0   *               255.255.255.0   U     1      0        0 eth2  
  5. 192.168.70.0    *               255.255.255.0   U     1      0        0 eth1  
  6. 192.168.0.0     *               255.255.255.0   U     1      0        0 eth0  
  7. default         192.168.0.1      0.0.0.0         UG    0      0        0 eth0  

    

最后一条是自动添加的缺省路由,必须要有缺省路由,  因为缺省的路由是把所有的数据包都发往它的上一级网关。如果没有这些路由,可以用命令添加,例如:    

route    add    -net    192.168.193.0    netmask    255.255.255.0  

添加缺省路由:  

route    add    default    gw    192.168.0.1  

接着,在 /etc/sysctl.conf   文件中开启 IP   包转发功能,设置 net.ipv4.ip_forward = 1   ,执行 sysctl -p   让参数生效。这样 VMnet0PC   就会自动在三个网卡之间转发 IP   包了。还要开启 NAT   的 IP   地址欺骗,使 VMnet2   和 VMnet3   子网能通过 VMnet0PC   的 NAT   服务实现访问 Internet   。  

iptables -F                     #    清除 filter   表中原有的规则  

iptables -P INPUT ACCEPT  

iptables -P FORWARD ACCEPT    #    允许 IP   转发  

iptables -t nat -F               #    清除 NAT   表中原有的规则  

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE    #    打开 NAT   的 IP   地址欺骗功能  

把 iptables   的更改保存到 /etc/sysconfig/iptables   文件中,以便系统重启时仍可从此文件中读入这些规则:  

service iptables save  

chkconfig iptables on  

在 VMnet0PC   上测试:  

第一步,测试自身网络是否工作正常,执行如下命令,测试三个网卡:  

ping    192.168.0.115  

ping    192.168.193.129  

ping    192.168.70.128  

如果这些地址都能 ping   通,则第一步通过,否则查找原因,排除错误。  

第二步,测试与上一级网关之间是否连通:  

ping    192.168.0.1  

如果通畅,则正常;否则查找错误原因。  

以 VMnet3   子网内测试为例,登录到 VMnet3PC   ,将其默认网关指向 eth2   ,这样就可以在 VMnet3PC   中 ping   通 192.168.0.115   和 192.168.193.129   这两个不同网段的地址了。  

第一步,测试自身是否工作正常, ping    192.168.70.129  

第二步,测试与网关是否连通, ping    192.168.70.128  

第三步,测试与 VMnet2PC   ( 192.168.193.130   )是否连通,这是 VMnet2   网段内的一台计算机, ping    192.168.193.130   。注意 VMnet2PC   同样需要将默认网关指向 eth1   。  

第四步,测试与外网地址是否连通, ping   192.168.0.1   ,如果连通了,表示路由器配置正确,否则,查找原因。  

      如果没问题的话, VMnet3PC 就可以通过 VMnet0PC 访问 Internet 了(不行的话可能是 DNS 的问题,将 VMnet3PC 的 DNS 设置成 VMnet0PC 或者真实主机使用的 DNS )。可以看到,开启了 IP 转发和 NAT 之后,不同网段之间就可以实现互访,并且 VMnet2 和 VMnet3 子网的机器也能够通过 VMnet0PC 来访问 Internet 。注意如果 VMnet0PC 中是 Windows Server ,我们可以用软路由功能来实现跨网段互访,在“控制面板 ---> 管理工具 ---> 路由和远程访问”中配置。网上有很多相关的文章介绍(搜索“用双网卡实现跨网段访问”),这里就不展开了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值