
VirtualBox中有4种网络连接方式.docx
13页VirtualBox中有4种网络连接方式 VirtualBox中有4中网络连接方式: a. NAT 网络地址转换模式 (Network Address Translation) b. Bridged Adapter 桥接模式 c. Internal 内部网络模式 d. Host-only Adapter 主机模式 VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式 要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方先来一张图,通过这张图就很简单看出这4种方式的区分: 一、四种模式介绍 1、NAT NAT:Network Address Translation,网络地址转换 NAT模式是最简洁的实现虚拟机上网的方式,你可以这样理解: Guest访问网络的全部数据都是由主机供应的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。
Guest可以访问主机能访问到的全部网络,但是对于主机以及主机网络上的其他机器,Guest又是不行见的,甚至主机也访问不到Guest 虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机 虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机 虚拟机与虚拟机的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此 IP:10.0.2.15 网关:10.0.2.2 DNS:10.0.2.3 一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,其次个网卡连接到专用网络 10.0.3.0,等等默认得到的客户端ip(IP Address)是10.0.2.15,网关(Gateway)是10.0.2.2,域名服务器(DNS)是10.0.2.3,可以手动参考这个进行修 改 NAT方案优缺点: 笔记本已插网线时:虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最终有说明),主机可以访问虚拟机上的服务(如数据库)。
笔记本没插网线时:主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不行以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库) 2、Bridged Adapter(网桥模式) 网桥模式,你可以这样理解: 它是通过主机网卡,架设了一条桥,直接连入到网络中了因此,它使得虚拟机能被安排到一个网络中独立的IP,全部网络功能完全和在网络中的真实机器一样 网桥模式下的虚拟机,你把它认为是真实计算机就行了 虚拟机与主机的关系:可以相互访问,由于虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问 虚拟机于网络中其他主机的关系:可以相互访问,同样由于虚拟机在真实网络段中有独立IP,虚拟机与全部网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问 虚拟机与虚拟机的关系:可以相互访问,缘由同上 IP:一般是DHCP安排的,与主机的“本地连接”的IP 是同一网段的虚拟机就能与主机相互通信 笔记本已插网线时:(若网络中有DHCP服务器)主机与虚拟机会通过DHCP分别得到一个IP,这两个IP在同一网段 主机与虚拟机可以ping通,虚拟机可以上互联网。
笔记本没插网线时:主机与虚拟机不能通信主机的“本地连接”有红叉,就不能手工指定IP虚拟机也不能通过DHCP得到IP地址,手工指定IP后,也无法与主机通信,由于主机无IP 这时主机的VirtualBox Host-Only Network 网卡是有ip的,192.168.56.1虚拟机就算手工指定了IP 192.168.56.*,也ping不能主机 3、Internal(内网模式) 内网模式,顾名思义就是内部网络模式: 虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式 虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问 虚拟机与网络中其他主机的关系:不能相互访问,理由同上 虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称如上配置图中,名称为intnet IP:VirtualBox的DHCP服务器会为它安排IP ,一般得到的是192.168.56.101,由于是从101起分的,也可手工指定192.168.56.* 笔记本已插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信 这种方案不受主机本地连接(网卡)是否有红叉的影响。
4、Host-only Adapter(主机模式) 主机模式,这是一种比较简单的模式,需要有比较扎实的网络基础学问才能玩转可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现 我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,全部虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他许多功能,比如(网卡共享、网卡桥接等) 虚拟机与主机的关系:默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被安排到的也都是这个网段通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问 虚拟机与网络主机的关系:默认不能相互访问,缘由同上,通过设置,可以实现相互访问 虚拟机与虚拟机的关系:默认可以相互访问,都是同处于一个网段 虚拟机访问主机,用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永久通 主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永久通。
虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行) 补充: 我刚装上VirtualBox的时候全部的网络连接方式都试过了,但虚拟机和虚拟机之间就是不能相互访问,Ping都Ping不通,我在想莫非VirtualBox的网络设置有这么简单吗,后来想到是不是Windows XP的防火墙的问题,关闭之,一切就正常了! 二、敏捷应用(模拟出来一个一台主机,监控一个局域网上网状况的网络环境) 通过对以上几种网络模式的了解,我们就可以敏捷运用,模拟组建出我们所想要的任何一种网络环境了 首先我开启了两台虚拟机vhost1与vhost2,当然假如硬件允许,我同样可以再增加vhost3、vhost4...... 全部的vhost我都设置成internat内网模式,网络名称为intnal,网关为192.168.56.100,意思就是通过 192.168.56.100网卡上网 其中有一台vhost1我设置为双网卡,一张为内网模式(192.168.56.100),一张为网桥模式 (192.168.1.101) 两张网卡设置双网卡共享上网,虚拟机之间为局域网,其中有一台虚拟机vhost1通过与外网相连,全部局域网中的虚拟机又通过vhost1来实现上外网。
这样vhost1就可以监控整个虚拟机局域网上网状况了 三、NAT 设置端口映射 你可以设置一个虚拟机的服务(比如 WEB 服务),通过使用命令行工具 VboxManage 代理你需要知道虚拟机的服务使用哪个端口,然后打算在主机上使用哪个端口(通常但不总是想要使虚拟机和主机使用同一个端口)在主机上供应一个服务需要 使用一个端口,你能使用在主机上没有预备用来供应服务的任何端口一个怎样设置新的 NAT 例子,在虚拟机上连接到一个 ssh 服务器,需要下面的三个命令: VBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol TCP VBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort 22 VBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort 2222 说明:VboxManage 是一个命令行程序,请查询你的 VirtualBox 安装名目,Linux Guest 是虚拟主机名。
guestssh 是一个自定义的名称,你可以任意设置,通过上面的三个命令,把虚拟机的 22 端口 转发到主机的 2222 端口 又比如,我在虚拟机 debian 上安装了 apache2 服务器,使用 80 端口,映射到主机的 80 端口使用下面的命令 C:/Program Files/innotek VirtualBox/VBoxManage.exe setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/Protocol TCP C:/Program Files/innotek VirtualBox/VBoxManage.exe setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/GuestPort 80 C:/Program Files/innotek VirtualBox/VBoxManage.exe setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/HostPort 80 留意:要使设置生效,请关掉 VirtualBox 再运行虚拟机,我把 VirtualBox 安装在 winxp 上,在虚拟机中安装 debian 4.02r ,虚拟机名是 debian ,并安装了 apache2 php5 mysql-server ,在主机上用IE扫瞄 http://localhost,胜利转发到虚拟机 debian 的 apache2 web 服务器上。
四、图解 NAT 这种方式下,虚拟机的网卡 连接到宿主的 VMnet8 上此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机VMWare DHCP Service 负责为虚拟机供应 DHCP 服务 Bridged 这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系 Host-onl。
