JIJI网摘 / 待分类 / VirtualBox虚拟机网络设置(四种方式)

分享

   

VirtualBox虚拟机网络设置(四种方式)

2018-08-02  JIJI网摘

VirtualBox是什么


VirtualBox 是一款 x86 虚拟机软件。原由德国innotek公司开发,2008年Sun收购了Innotek,而Sun于2010年被Oracle收购,2010年1月21日改 名成 Oracle VM VirtualBox。VirtualBox 可在 Linux 和 Windows 主机中运行,并支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统

VirtualBox是开源软件,使用双重许可协议,个人和评估使用可以在virtualbox.org免费下载使用而无需支付费用,商用则需付费。

VirtualBox 网络设置


VirtualBox 有5种网络模式,下面将逐一讲解。

NAT〈网络地址转换模式〉


VirtualBox 中虚拟的主机(以下简称:虚拟主机)并不真实存在于网络中,宿主机和宿主机网络中的任何主机都不能直接访问虚拟主机,各虚拟主机也互不相通。虚拟主机能访 问宿主机,以及宿主机能访问的任何主机。虚拟主机访问网络是先通过 VirtualBox 转换后再发送出去的,数据接收也是先由 VirtualBox 接收后再转换转发到虚拟主机。

如不能理解可以参考:http://zh.wikipedia.org/wiki/网络地址转换。 

虚拟主机网络参数默认从 VirtualBox 的虚拟 DHCP Ser 获取:

IP地址 子网掩码 网 关 DNS
10.0.x.15 255.255.255.0 10.0.x.2 10.0.x.3
VirtualBox 端口转发

前面讲了宿主机和宿主机网络中的任何主机都不能直接访问虚拟主机,但是VirtualBox 提供了端口转发,使得我们可以设置特定的端口供实体网络访问。

设置发送到宿主机的某些端口转发到虚拟主机,是不是很简单啊。宿主机IP地址干脆就127.0.0.1吧!

Bridged Adapter〈桥接模式〉


需要加载模块vboxnetflt

虚拟主机通过 VirtualBox 桥接到宿主机的一个网卡中,就像真实存在于宿主机网络中的一台主机一样。虚拟主机能与宿主机和宿主机网络中的主机完美互通。被桥接的网卡会开启混杂模式。

 虚拟主机网络参数 : 手动配置成桥接的宿主机网卡的同一网段,或通过宿主机网络中的 DHCP Ser 获取。

如果宿主机在一个受限制的网络虚拟主机是不能访问互联网的,如:宿主机使用ADSL、使用使用代理或VPN、宿主机网关做了MAC地址限制……

Internal〈内部模式〉


虚拟机与外界完全分开,虚拟机与宿主机网络不能互通,只有 同一名称(如:intnet)的内部网络模式的虚拟机之间才能互相访问 ,还有一个条件是在同一网段哦。 虚拟主机网络参数 : 默认不分配IP,需要自已手动设置。

Host-only Adapter〈宿主机模式〉


VirtualBox 在宿主机中虚拟一个 host-only 网卡,然后把虚拟主机桥接到 host-only 网卡上,我们可以通过设置 host-only 网卡(共享、桥接)来实现网络连接。呵呵,这个动手性比较强,虽要你有一定的网络技术哦。

关于网卡的桥接和共享,你可以查阅 Windows 相关文章,或 google 搜搜 “windows 网卡xx”。

 虚拟主机网络参数 :默认IP段为192.168.56.X/24

“未指定”,呵呵,选择这个会发生什么?


如果你选择“未指定”,你将不能和任何主机通信,只能够自已 ping 自已啦!

VirtualBox 其它问题

虽然VirtualBox 桥接模式非常好用,但是受限制的网络你怎么办呢?用NAT模式,不!这样宿主机访问虚拟主机太麻烦了。我的方法就是给虚拟主机添加两个网卡,一个网卡使用 NAT模式,另一个网卡使用Bridged Adapter模式,然后给虚拟主机设置静态路由,设置访问宿主机的数据从Bridged Adapter模式的网卡送出,而访问互联网的数据从NAT模式的网卡送去。



VirtualBox虚拟机网络设置(四种方式)

https://www.douban.com/group/topic/15558388/


来自:  2010-11-10 23:30:11

VirtualBox的提供了四种网络接入模式,它们分别是: 
1、NAT 网络地址转换模式(NAT,Network Address Translation) 
2、Bridged Adapter 桥接模式 
3、Internal 内部网络模式 
4、Host-only Adapter 主机模式 

第一种 NAT模式 
解释: 
NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。 
虚拟机与主机关系: 
只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。 
虚拟机与网络中其他主机的关系: 
只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
虚拟机与虚拟机之间的关系: 
相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。 
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方案优缺点: 
笔记本已插网线时: 虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最后有说明),主机可以访问虚拟机上的服务(如数据库)。 
笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。 

第二种 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不能主机。 

第三种 Internal模式 
解释: 
内网模式,顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。 
虚拟机与主机关系: 
不能相互访问,彼此不属于同一个网络,无法相互访问。 
虚拟机与网络中其他主机关系: 
不能相互访问,理由同上。 
虚拟机与虚拟机关系: 
可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。 
IP: VirtualBox的DHCP服务器会为它分配IP ,一般得到的是192.168.56.101,因为是从101起分的,也可手工指定192.168.56.*。 
笔记本已插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信 
这种方案不受主机本地连接(网卡)是否有红叉的影响。 

第四种 Host-only Adapter模式 
解释: 
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。 
我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。 
虚拟机与主机关系 
默认不能相互访问,双方不属于同一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, 这时主机要能通过“本地连接”有线上网,(无线网卡不行) 

通过对以上几种网络模式的了解,我们就可以灵活运用,模拟组建出我们所想要的任何一种网络环境了。 
比如我想模拟出来一个一台主机,监控一个局域网上网情况的网络环境。 
首先我开启了两台虚拟机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 设置端口映射 
http://huzhangsheng.blog.163.com/blog/static/34787784200802801435931/ 
你可以设置一个虚拟机的服务(比如 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 服务器上 

上文出处:http://www.cnblogs.com/coltiam/archive/2010/03/26/1696939.html 

个人感觉通过使用端口映射的方式很不爽,还不如直接桥接来的快,现在多数情况下连接到网络是没问题的,端口映射还需要在宿主跟虚拟机都额外开某个服务,感觉不爽。 

“网络”配置页面有4个方案: 

1:NAT 网络地址转换(Network Address Translation) 

2:Birdged Network 桥接 

3:Internal Network 内部网络(可以是虚拟机与虚拟机之间) 

4:Host-Only 只与主机通信(大概吧) 

安装完VirtualBox2.2后,主机多了一个“VirtualBox Host-Only Network ”本地网卡。 

-------------------------------------------------------------------- 

我的网络环境: 

主机: 

系统:xp 

“本地连接”的IP:由于是笔记本,经常换工作网络环境,都是通过DHCP分配的,有时候还无网络,“本地连接”有红叉(对主机与虚拟机通信有影响)。 

“VirtualBox Host-Only Network网卡”IP:192.168.56.1 ,因为VirtualBox的DHCP服务器IP是192.168.56.100,要在同一网段。 

虚拟机:要能与主机互相通信,要能访问互联网(不须要被互联网访问)。 

系统:win2003 

网卡1,网卡2,网卡3 后面说各网卡的配置情况 

---------------------------------------------------------------------- 

--------------------------- 各网卡的配置情况 -------------------------------------------- 

网卡1: 用NAT方案 

IP:10.0.2.15 

网关:10.0.2.2 

DNS:10.0.2.3 


为什么这样配置?因为VirtualBox的帮助中,有以下一段说明(英译汉): 

一台虚拟机的多个网卡可以被设定使用 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:用Birdged Network 方案 

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: 用Host-Only 方案 

ip: VirtualBox的DHCP服务器会为它分配IP ,一般得到的是192.168.56.101,因为是从101起分的,也可手工指定192.168.56.*。 

笔记本已插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信 

笔记本没插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信 

这种方案不受主机本地连接(网卡)是否有红叉的影响。 


------------------------------------------------------------------ 

以上三种方案,可以右击虚拟机窗口最下边 两个小电视 的图标快速切换。满足各种网络环境。 

关于Internal Network 方案,我也没试。 


上面三种方案的总结 


同进启用下面两个方案: 

网卡2:用Birdged Network 方案 

网卡3: 用Host-Only 方案 

虚拟机访问主机 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永远通。 

主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永远通。 

虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)

文章标签: virtualbox
个人分类: virtualbox

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>