理解VMware虚拟机下网络连接的三种模式

时间:2022-12-23 22:15:31
http://blog.csdn.net/ps_e_udo/archive/2008/07/18/2674479.aspx
理解VMware虚拟机下网络连接的三种模式 
 很多朋友都用vmware来测试不同的系统,我结合自己的经验谈一下对网络设置的理解,不对的地方请指正.
   bridge:这种方式最简单, 直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡 绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力.
  在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题.
  使用这种方式很简单,前提是你可以得到1个以上的地址.对于想进行种种网络实验的朋友不太适合,因为你无法对虚拟机的网络进行控制,它直接出去了.
   nat方式:这种方式下host内部出现了一个 虚拟的网卡vmnet8(默认情况下),如果你有过做nat服务器的经验,这里的vmnet8就相当于 连接到内网的网卡,而虚拟机本身则相当于运行在内网上的机器,虚拟机内的网卡(eth0)则独立于vmnet8.
  你会发现在这种方式下,vmware自带的dhcp会默认地加载到vmnet8界面上,这样虚拟机就可以使用dhcp服务.更为重要的是,vmware自带了nat服务, 提供了从vmnet8到外网的地址转 换,所以这种情况是一个实实在在的nat服务器在运行,只不过是供虚拟机用的.很显然,如果你只有一个外网地址,此种方式很合适.
  hostonly:
  这应该是最为灵活的方式,有兴趣的话可以进行各种网络实验.和nat唯一的不同的是,此种方式下,没有地址转换服务,因此,默认情况下, 虚拟机只能到主机访问,这也是hostonly的名字的意义.

  默认情况下,也会有一个dhcp服务加载到vmnet1上.这样连接到vmnet8上的虚拟机仍然可以设置成dhcp,方便系统的配置.
  是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:
      a.使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一.
  b.使用自己的nat,方便加入防火墙.windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务.
  c. 使用自己的防火墙.因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间.
  从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等
  1、Bridge模式 (一切都跟host一样,只有ip不能与host相同)
  ip 192.168.39.222
  netmask:255.255.252.0
  gateway:192.168.39.254
  Primary nameserve:192.168.39.252
  2、NAT模式
  首先在host中查看VMnet8的IP(e.g. 192.168.255.1).
  启动VMware,点Edit下Virtual Network Setting… ,弹出Virtual network Editor对话框;
  产看NAT选项卡,记录NAT的Gateway IP address:192.168.255.2
  在config中,填写:
  ip:192.168.255.5(与192.168.255.1在同一个网段的不同地址)
  netmask:255.255.255.0(与192.168.255.1的隐码相同)
   Gateway IP:填写VMware中的NAT网关192.168.255.2
  Primary nameserver:填写与主机中一样的网关192.168.39.252,这样就可以上网冲浪了.
  如果填写192.168.255.1,则不能连上外网.这里也可以不停,总之不能写错误的地址
  3、hostonly模式
  (1)查看你的连接外网的网卡的属性,选择“高级”标签,设置成允许共享,并设定允许的网络接口为VMNET1
  (2)再插看一下你的VMnet1 的属性,看一下TCP/IP协议的设置,你发现已经被自动设置为
       192.168.0.1/255.255.255.0,
  (3)windows下的设置完成,转入到跑linux的虚拟机.将你的eth0的ip地址设置为静态的(如果安装时没有选静态的话)
  按红帽子图标->系统设置->网络(或其它你了解的方法)
  ip: 192.168.0.2(或其它在此网段上的地址)
  netmask: 255.255.255.0
  default gateway: 192.168.0.1 (VMnet1的地址)
  dns:输入你自己的DNS (host中用的DNS)
  保存设置.如果你还没有设置好主机名称:
   cd /etc/sysconfig
  vi network

在我的机子上。
root@ubuntu:/etc# cd /etc/sysconfig
bash: cd: /etc/sysconfig: No such file or directory
  编辑HOSTNAME
  cd /etc
  vi hosts
  加入:
  192.168.0.2 yourhostname
  重新启动服务
  su
  /sbin/service network restart
  (4)测试一下
  网关: ping 192.168.0.1
  dns: ping dnsserver
  =============================
  (1)Bridged方式
  用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一*立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不  成问题.
  (2)NAT方式
  这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机器.
  NAT方式的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMware services会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.
  (3)host-only方式
  顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.
  (4)not use方式
  既是不使用网络,虚拟系统为一个单机.
  一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.
==================
http://tianqiao1689.blog.163.com/blog/static/193759892010416114136960/
一直没有关注过VMware的网络模型,虽然用了好久的虚拟机了,最近的学习涉及到了主机和客户机以及客户机之间的通信,于是深入研究了一下,今晚又花费了两个小时时间把我的两台虚拟机服务器以及我的主机连上了。
  三台机器都互相ping通的那一刻真是爽啊,于是屁颠屁颠的跑来网上,赶紧把设置和心得记录下来,以备后用。
任务要求:
  理解Vmware的三种网络模型;设置网络实现主机和两台虚拟机能够相互通信并且都连接到Internet(无法想象离开网络的linux服务器能干什么);由于虚拟机是服务器,要能提供DHCP,TFTP,NFS等服务并且要模拟组建成能够并行运算的集群,因此两个虚拟机不能使用NAT方式中主机的DHCP服务获得动态IP,而是需要使用静态IP。
基本状况和成功后的配置:
  我的主机:
  处于内网,用锐捷认证上网。
   本地连接:IP:58.155.98.171,NETMASK:255.255.255.0,GATEWAY:58.155.98.1,DNS:202.118.176.2。(其中IP和DNS对这次要解决的问题比较重要)
  VMware Network Adapter VMnet8: IP:192.168.110.1,NETMASK:255.255.255.0 (这个网卡是主机用来和虚拟机通信的,其IP需要记下来)
  虚拟机软件:两台虚拟机的网络连接模式均为NAT模式, NAT服务Gateway IP adress:192.168.110.2
  虚拟机(两台的配置基本相同,只有IP差最后一组):IP:192.168.110.172,NETMASK:255.255.255.0,GATEWAY:192.168.110.2,DNS:202.118.176.2
   其中IP,NETMASK,GATEWAY的配置在文件/etc/sysconfig/network-scripts/ifcfg-eth0中,DNS的配置在文件/etc/resolv.conf中。
配置原理和心得体会:
  虚拟机软件VMware提供给虚拟机的网络模型有三种,分别是Bridged Networking(桥接网络),Network Address Translation(NAT网络),Host-only Networking。
  桥接网络中,相当于虚拟机的网卡和主机的物理网卡均连接到虚拟机软件提供的 VMnet0虚拟交换机上,因此虚拟机和主机是平等的, 相当于一个网络中的两台计算机。这样,设置虚拟机的IP和主机在同一IP段时,即可实现主机与虚拟机的通信。可是我现在的上网方式是锐捷认证,虚拟机没有单独的帐号是无法连接到Internet,而且如果给虚拟机去买一个单独的帐号,那我肯定是傻了。
  NAT网络中,相当于 虚拟机的网卡主机的VMware Network Adapter VMnet8虚拟网卡连接到虚拟机软件提供的 VMnet8虚拟交换机上,因此主机是通过VMware Network Adapter VMnet8这个虚拟网卡通信的,并且可以知道VMware Network Adapter VMnet8就只是主机用来和虚拟机通信的一个虚拟网卡在这种网络结构中,VMware为虚拟机提供了一个虚拟的NAT服务器和一个虚拟的DHCP服务器(其实就是主机系统服务中的两个服务),虚拟机便是利用这两个服务连接到Internet的,所以正常情况下,虚拟机系统只要设定自动获得IP就可以上网了。
  但是,由于我的两台虚拟机需要使用静态IP来实现一些服务,所以只能想办法设置成静态IP。于是查看了VMware中虚拟交换机VMnet8的属性和虚拟网卡VMware Network Adapter VMnet8的NAT属性,发现VMnet8是处在192.168.110.0子网中,并且VMware中查看到VMware Network Adapter VMnet8的GATEWAY是192.168.110.2,经过实验后,发现虚拟机使用DHCP时查看到的GATEWAY也是这地址,这个地址应该就是那个虚拟的NAT服务器的地址。所以这时我的虚拟机要设置静态IP,网关就是192.168.110.2。
  同时, 为了保证虚拟机和主机的通信,虚拟机的IP需要和主机的VMware Network Adapter VMnet8网卡在同一网段,VMware Network Adapter VMnet8的IP是安装VMware时自动分配的,在我的电脑上查看到的是192.168.110.1。于是,设置虚拟机的IP为192.168.110.172。DNS仍然是我的主机用的DNS服务器,就是学校网络中心的202.118.192.2。
  这样设置完成后,虚拟机就既能和主机通信,又能连接到Internet了。其中,虚拟机和主机通信是由其IP决定的,IP和主机的虚拟网卡VMware Network Adapter VMnet8的IP一致,连接到Internet则是利用了VMware提供的NAT服务为虚拟交换机VMnet8作路由,也就是网关设置为虚拟NAT服务器的地址。这里,由于用了静态IP,所以没有用到VMware的DHCP服务。
  Host-only网络和NAT网络相似,但是没有用VMware的NAT服务为VMnet1作路由,所以虚拟机就不能连接到Internet了但是主机能和虚拟机进行通信,主机和Host-only的虚拟机的通信用的是VMware Network Adapter VMnet1虚拟网卡。这里我的虚拟机需要Internet,所以就不能用Host-only的连接方式了。
  VMware的设置到此结束。