linux虚拟机网络连接模式 bridged, host-only, NAT

最近安装了fedora9.0,却一直不能连接到外网,我用的是3G无线网卡上网的,起初以为是linux不支持3G无线方式的,可后来装了虚拟机ubuntu却可以上网,在后来用有ADSL网络连接的电脑安装fedora,问题相同。由于刚入linux系统,整了几天显得一头雾水。于是静下来细想一下,一是对linux的操作不熟悉,二是对linux虚拟机网络设置不清楚。于是后来就从这两方面入手,下面关于linux虚拟机网络技术的内容是好容易在网上找的,说得很详细,结合自己的体会供同样需求的人参考。

 

 

来源(http://hi.baidu.com/chimaera/blog/item/2ed878f34a50f457342accd3.html)

 

VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。

  1.bridged(桥接模式)

  在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。

  使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。

  如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。

  2.host-only(主机模式)

  在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

  提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

  在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。

  如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。

  3.NAT(网络地址转换模式)

  使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

  如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

  提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供

==================================

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上。这样连接到vmnet1上的虚拟机仍然可以设置成dhcp,方便系统的配置.

是不是这种方式就没有办法连接到外网呢,当然不是,事实上,这种方式更为灵活,你可以使用自己的方式,从而达到最理想的配置,例如:

a。使用自己dhcp服务:首先停掉vmware自带的dhcp服务,使dhcp服务更为统一。

b。使用自己的nat,方便加入防火墙。windows host可以做nat的方法很多,简单的如windows xp的internet共享,复杂的如windows server里的nat服务。

c. 使用自己的防火墙。因为你可以完全控制vmnet1,你可以加入(或试验)防火墙在vmnet1和外网的网卡间。

从以上可以看出,hostonly这种模式和普通的nat server带整个内网上网的情形类似,因此你可以方便的进行与之有关的实验,比如防火强的设置等。

我的有关具体网络设置的另外两篇文章

(linux host + windows guest

http://bbs.chinaunix.net/forum/viewtopic.php?t=367907&highlight=yunqing

windows host + linux guest

http://bbs.chinaunix.net/forum/viewtopic.php?t=374483&highlight=yunqing

)也是以此配置为基础的。

文章摘自: http://www.chinaunix.net/jh/4/376768.html

更多回复和解答参考以上链接

====================

Vmware 网络连接方式汇总

1.bridge :

默认使用vmnet0

将虚拟机的ip设置与主机同网段未使用ip,其余与主机相同:

例如主机ip是10.70.54.31,设置虚拟机ip为10.70.54.22。netmask,broadcast,gateway,dns都与主机相同即可实现虚拟机<--->主机 虚拟机<---->互联网 通信。

2.nat :

默认使用vmnet8

将虚拟机设置成使用dhcp方式上网,windows下选择"自动获取ip",linux下开启dhcp服务即可

也可以手动设置:

ip设置与vmnet8同网段,gateway设置成vmnet8的gateway(/etc/vmware/vmnet8/nat/nat.conf)中可以查到vmnet8的gateway,通常是xxx.xxx.xxx.2。

netmask,broadcast设置与vmnet8相同,dns设置与主机相同。

例如 vmnet8 ip:172.16.249.1 gw :172.16.249.2

虚拟机设置: ip :172.16.249.100 gw: 172.16.249.2

3.host-only :

默认使用vmnet1

将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同

例如 vmnet1 ip :172.16.245.1

虚拟机设置: ip :172.16.245.100 gateway :172.16.245.1

这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信

虚拟机与互联网通信:

1.开启主机路由功能

2.设定iptables,使主机成为一台nat server

1. echo 1 >/proc/sys/net/ipv4/ip_forward 这样就主机就具有了路由功能

2. iptables -t nat -A POSTROUTING -o eth0 -s 172.16.245.0/24 -j MASQUERADE

这条规则意思是将来自172.16.245.0/24封包的来源ip伪装成eth0的ip,实现虚拟机与互联网通信

如果网络接口是ppp+或pppoe则需要修改成-o pppoe

当然-s 172.16.245.0/24 也要根据

===============================

用VMware构建真实的虚拟网络(一)

 我们以前的文章里, 曾经介绍过简单的VMware网络,VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host- only(主机模式)。这三种模式主要是为了用户建立虚拟机后可以根据现实网络情况方便的把虚拟机接入网络。我们理解了这三种网络的工作原理,就可以用 VMware任意定制自己网络结构。

  当我们安装完成VMware Workstation后,我们会发现在网络连接里将多出两块块虚拟网卡(如下图),

 

新增了两块虚拟网卡

  用ipconfig命令查看新增加的网卡的属性可以发现,这两块网卡分别属于不同的子网(见下图)。

 

新增的虚拟网卡的信息

  在前面的文章里我们介绍过三种典型的VMware网络,桥接模式是把虚拟机的网卡直接桥接在你的真实网卡上,并不会在你的系统中生成一块独立的 网卡。桥接模式组成的网络在VMware中以VMnet0表示,实际上可以看成你本机所在的真实局域网在虚拟机网络中映射,通过VMnet0也即桥接模式 接入网络的虚拟机相当于通过一个交换机和 你的真实机器一起接入了你实际所在的局域网。如果你的局域网提供了DHCP服务,那么你的桥接网络机器可以自动获得局域网的IP。如果你在通过桥接网络接 入网的虚拟机上运行ipconfig命令,可以看到虚拟机的IP地址在在现实的局域网段内。对于网上的其它机器而言,就如同本网段新增了一台真实的机器一 样。再来看新增的两块网卡:

  “Ethernet adapter VMware Network Adapter VMnet1”用于本机与使用NAT网络模 式的虚拟机相连,使用这种模式建立的虚拟机所于虚拟机的VMnet1子网内,在这个子网中,VMware还提供了DHCP服务让子网的虚拟机可以方便的获 得IP地址。当然,你也可以为处于此子网的虚拟机手动设置IP,不过一定要注意地址要VMnet1设定的网段内。这时,你的真实主机将做为VMnet1的网关,也即虚拟网络VMnet1与现实局域网之间的路由器在两个网段间转发数据。VMnet1的特殊之处在于VMware为这个网段默认启用了NAT服务(如下图),

 

在虚拟子网中启用NAT

  “VMware Network Adapter VMnet8”这块网卡主要用于真实主机与处于host-only(主机模式)的虚拟机相连,处于这种模式的虚拟机位于VMware虚拟网络的 VMnet8子网内,这个子网除了IP段不同和没有提供NAT服务外,与VMnet1也就是NAT模式组成的虚拟子网没有什么不同。如果你喜欢你完全可以 激活VMnet8子网的NAT服务,这样VMnet8就成为了另一个NAT模式的子网。如果在默认的不激活NAT的情况下,该子网的虚拟机将只能与 VMnet8网内的其它虚拟机以及真实主机通信,这就是“host-only”名称的由来。

  打开VMware的网络设置界面你可以对VMware网络模式有更深刻的理解(见下图),

 

VMware中的各个子网与主机中网卡的对应关系在VMware里最多可以有9个不同的虚拟子网(有三个在软件装好后已经启用了,它们是VMnet0,VMnet1,VMnet8),你可以在这里点击每个字网后的“>”按纽设置该子网的IP地址和是否启用DHCP等。在“Host Virtual Adapers”标签页里(如下图)可以添加更多的虚拟网卡并把这些网卡通过如上面的图所示界面接入相应的虚拟网络。

 

向真实主机中新增虚拟网卡

  综上所述,我们可以看到,VMware中的三种网络模式只是为了方便快速将虚拟机加入现实网络的一种预定义模式而已,当你安装好VMware Workstaion后,软件会预先设置好三个虚拟子网以对应三种基本模式。我们完全可以通过定制这些网络的属性改变它的默认行为,例如让host- only模式转变为NAT模式或反之亦然。也可以向真实主机添加更多的虚拟网卡从而启用更多的虚拟子网(虚拟子网数最多可以有9个)。真实的主机是所有虚 拟子网的中心,连接着全部虚拟子网。同事,你可以向一台虚拟机中加入多块分属不同虚拟网络的网卡,让一台虚拟机连接不同的虚拟子网(如下图,在虚拟机中添 加虚拟网卡),这样,由连接全部虚拟子网与现实网络的主机,与多台属于一个或多个虚拟子网的虚拟机就可以共同组建复杂的虚拟与现实混合网络。我们可以在这 个真实的虚拟网络中实际各种网络技巧。之所以在这个虚拟网络前面加上“真实”两个字,是因为在这个虚拟网络中做任何操作的方法与在现实网络中是一致的,虚 拟机上安装的全是真实的操作系统,除了你不用与交换机网线等硬件设备打交道外,与现实网络没有任何区别。你完全可以把这个虚拟网络接入现实网络并与现实网络中的其它系统通讯,此时,对于现实网络中的客户机而言,与之通信的虚拟机与其它任何现实网络系统中的终端没有任何区别。

 

在虚拟机中新增虚拟网卡

 

一个定制的VMware虚拟网络结构拓扑图

  以上对VMware中的网络实现方法做了简单的分析,在以后的文章里,我们将实际构建一个这种虚拟网络并用之完成各种现实局域网环境中常见的网管任务。

文章摘自:http://biz.chinabyte.com/493/2178993_2.shtml

==================================================

用VMware构建真实的虚拟网络(二)

在上一篇文章里,我们重点介绍了VMware虚拟网络的基础知识,从本篇文章开始,我们将实际建立并设置一个虚拟网络。

  实验目标

  这里首先说一下我们准备构建的网络拓扑。我们的目标是建立两个定制的子网VMnet2和VMnet3,这两个网络与真实主机是不直接相连的(真实主机中我并不添加连接到这两个网络的虚拟网卡),而是通过一台以桥接模式创建的属于VMnet0的虚拟机连接VMnet0,真实的局域网也即VMnet0通过本地的网关连接internet,我们将VMnet2的虚拟机称为VMnet2PC,VMnet3的虚拟机称为VMnet3PC,VMnet0的PC称为VMnet0PC,现在把VMnet3PC作为域控制器,VMnet0PC作为路由器和DNS服务器,要求PC和VMnet0PC都加入VMnet3PC建立的域,三个网段要求互联互通,并都可以访问internet。网络拓扑图如下:

 

目标网络拓扑图

  本例中需要建立3台虚拟机,而真实的PC也处于VMnet0子网中,再次强调一下,VMnet0实际上是现实局域网在虚拟网络中的映射。

  下面,让我们首先来构建这个基础的网络架构——建立起各台虚拟机并分别为它们添加所需的虚拟网卡然后将之接入指定的网络。

构建“物理”网络

  首先,我们建立第一台虚拟机VMnet0PC,建立时在连接模式选择处我们选择桥接网络如下图(这里我们并没有修改默认的虚拟网络行为),这样,这台虚拟机会有一块连接到VMnet0的虚拟网卡,与真实PC处于同一个网段内。

 

新增虚拟机时选择网络模式

  我们在前面的网络拓扑图中看到,VMnet0PC应该有三块不同的网卡分别接入三个不同的虚拟网络,在建立虚拟机机,VMware已经自动添加了一块接连到VMnet0的虚拟网卡,现在我们为它更添加两块分别连接到VMnet2和VMnet3的网卡。

打开虚拟机的属性点“hardware”标签下面的“add”按钮(如下图)。

 

向虚拟机增加新网卡

  在弹出的硬件添加向导中选择添加网卡,随后弹出如下所示的对话框,在里面选择网卡装要连接的网络。分别添加两块网卡连接到VMnet2和VMnet3。然后在虚拟机中安装Windows server 2003专业版操作系统并设置好桥接网卡以连接到internet打好必要的服务器补丁。至此,第一台服务器VMnet0PC设置基本完成并接入了目标网络。

 

选择新网卡接入的网络

在第一台机器设置完成后,关闭虚拟机,点窗口左侧上的“clone virtual machine”命令,对第一台虚拟机进行复制(如下图),将新虚拟机命名为VMnet2PC,因为VMnet2PC仅需一块网卡,因此,需要在虚拟机硬件属性中删除多余的两块网卡并把剩余那块网卡接入VMnet2。重复以上步骤建立虚拟机VMnet3PC并将之连入网络。

 

复制虚拟机

  至此,“硬件”的建立与连接已经完成。下面对各虚拟机网卡的TCP/IP属性分别进行设置,让VMnet2PC和VMnet3PC分别可以与 VMnet0PC互联(跨网的互联这里先不涉及,那将是下一篇文章的内容)。这里简述一下各个子网的设置。VMnet0PC三块网卡中,一块用真实局域网 的IP地址,一块用VMnet2子网的地址192.168.2.1/255.255.255.0,一块用VMnet3子网的地址192.168.3.1 /255.255.255.0,位于VMnet2的VMnet2PC使用IP192.168.2.2/255.255.255.0,网关和DNS为192.168.2.1。位于VMnet3的VMnet3PCIP为192.168.3.2/,网关和DNS设为192.168.3.1。

  到目前为止,仅有VMnet0PC可以连接internet并访问所有的网段。在下一篇文章里,我们将让这个“物理上”已经连接的虚拟机网络的各网段互联互通,并都可以访问internet。.

  小知识:

  在VMware5.0以前版本没有提供虚拟机复制命令,不过可以通过对虚拟机文件夹的复杂方便的达到同样的目的。但新版本中的虚拟机复制不是简 单的文件复制,而是提供了很多增强,新虚拟机可以来源与源虚拟机的一个快照,还可以与源虚拟机关联起来以减少存储所需空间。在第一台用于试验的虚拟机建立 以后,最好保存一个此时状态的快照,在试验完成以后可以随时还原到系统刚安装完成时的状态,这将为今后的实验节省大量的时间。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yeqishi/archive/2009/12/11/4985972.aspx

你可能感兴趣的:(linux虚拟机网络连接模式 bridged, host-only, NAT)