virtualbox的四种网络连接方式的学习

在利用virtualbox创建虚拟机的时候,会发现在设置网络的时候会有四种网络连接方式,如下图:

a. NAT                          网络地址转换模式(Network Address Translation)
b. Bridged Adapter        桥接模式
c. Internal                     内部网络模式
d. Host-only Adapter     主机模式

 

 1.NAT的特点

Network Address Translation

Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。

Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest

主机连上网,虚拟机就可以上网;

虚拟机能ping上主机的IP()

主机不能ping通虚拟机

应用场景:

虚拟机只要求可以上网,无其它特殊要求,满足最一般需求

2 Bridged Adapter

特点:

1、如果主机可以上网,虚拟机可以上网

2、虚拟机之间可以ping通

3、虚拟机可以ping通主机

4、主机可以ping通虚拟机

以上各点基于一个前提:主机可以上网

5、如果主机不可以上网,所有1-4特点均无

 在测试的时候发现虚拟机ping主机ping不通,主机可以ping通虚拟机 

原因是主机开了防火墙,关闭防火墙就可以了

应用场景: 

虚拟机要求可以上网,且虚拟机完全模拟一台实体机

ip样式:

ip 与本机ip在同一网段内

网关 与本机网关相同

原理:

通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和

在网络中的真实机器一样。

(虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没

有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全

消失咯)

 Bridged networking网络环境中的虚拟网卡与主机中的网卡属于同一个等级,就像真实存在的网卡接入了你主机所在的网络中一样。在这种网络环境中虚拟网卡获得的参数由主机所在的网络环境分配,虚拟机与主机之间是否能够通过网络相互访问也由主机所在的网络环境决定,当然,同时设置了Bridged networking网络环境的虚拟机之间网络互访也由主机所在的网络环境决定。

                                                   图2  Bridged网络环境

Host-only Adapter模式

特点:

1、虚拟机不可以上网

2、虚拟机之间可以ping通

3、虚拟机可以ping通主机(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip

是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)

4、主机可以ping通虚拟机

应用场景:

在主机无法上网的情况下(主机可以上网的情况下可以用host-only,也可以用桥接),需要搭建一个模拟局域网,所有机器可以互访

配置方法:

连接方式 选择 仅主机(Host-Only)适配器

界面名称 选择 VirtualBox Host-Only Ethernet Adapter

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √

(虚拟机ip自动获取,也可以自己进行配置,网关配置为主机中虚拟网卡的地址【默认为192.168.56.1】,ip配置为与虚拟网卡地址同网段地址)

ip样式:

ip 与本机VirtualBox Host-Only Network的网卡ip在同一网段内(默认192.168.56.*)

网关 本机VirtualBox Host-Only Network的网卡ip(默认192.168.56.1)

原理:

通过VirtualBox Host-Only Network网卡进行通信,虚拟机以此ip作为网关,因此模拟了一个本机与各个虚拟机的局域网,如名称所指,

应该是无法上网的(但是有人说可以通过对VirtualBox Host-Only Network网卡进行桥接等操作使虚拟机可以上网,但如此就不如直接

采用桥接来的容易了,而且,呵呵,我没试成功,有的人也说不可以,因为主机不提供路由服务,我也不好乱说到底行不行,你自己试吧~~)

Internal networking网络环境为设置了Internal networking网路环境的各个虚拟网卡提供了一个与主机隔绝的虚拟局域网。在Internal networking中的网卡不能自动获得任何参数,除非手动设置或者在Internal networking网络环境中的另一台虚拟机中架设DHCP服务器。在Internal networking中,各个设置为Internal networking网络环境的虚拟机之间可以任意访问(虚拟机防火墙允许条件下),但不能访问主机的网络服务甚至internet。

                                       图3  Internal网络环境

四、Internal模式(内网模式)

特点:

1、虚拟机不可以上网

2、虚拟机之间可以ping通

3、虚拟机不能ping通主机

4、主机不能ping通虚拟机

应用场景:

让各台虚拟机处于隔离的局域网内,只让它们相互通信,与外界(包括主机)隔绝

配置方法:

连接方式 选择 内部网络

界面名称 选择 intnet(可以重新命名,所有放在同一局域网内的虚拟机此名称相同)

高级-控制芯片 选择 PCnet-FAST III

高级-混杂模式 拒绝

高级-接入网线 √

(虚拟机ip:对于XP自动获取ip即可,但对于linux,必须手动配置ip和子网掩码,手动配置时需保证各个虚拟机ip在同一网段)

ip样式:

ip 169.254.147.9

子网掩码 255.255.0.0

默认网关 无

原理:

各个虚拟机利用VirtualBox内置的DHCP服务器得到ip,数据包传递不经过主机所在网络,因此安全性高,防止外部抓包~

默认情况下Host-only networking网络环境利用VirtualBox虚拟出的DHCP服务器,为在Host-only networking中的虚拟网卡分配参数:

      IP地址 192.168.56.101 --- 254

      子网掩码 255.255.255.0

      广播地址 192.168.56.255

      默认网关 无

      DNS服务器 无

      DHCP服务器 192.168.56.100

  其中192.168.56.1分配给主机,主机能ping通各个Host-only networking下的虚拟机,但虚拟机不能ping通主机。在Host-only networking网络环境中,主机网卡与各个Host-only networking虚拟网卡构成一个局域网,主机能访问各个虚拟机(虚拟机防火墙允许条件下),各个虚拟机之间也能相互访问,但各个虚拟机都不能访问internet。

图4  Host-only网络环境

图5  VirtualBox网络环境综合应用

五、NAT模式+端口映射

将虚拟机某端口映射到主机某端口,可以使主机和外部机器访问虚拟机提供的服务哦~~

命令如下:

(在命令行模式下,先到VirtualBox的安装目录下面,否则找不到命令)

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//Protocol" TCP

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//GuestPort" 80
 

vboxmanage setextradata "VBoxInternal/Devices/pcnet/0/LUN#0/Config//HostPort" 8000

NAT网络环境下主机访问虚拟机端口转接:

cd  %VBOX_INSTALL_PATH%

将主机8080端口的tcp连接转接到指定虚拟机的8000端口

VboxManagemodifyvm"VMname"—natpf1"linkName,tcp,,8080,,8000"

[参]:VirtualBox® User Manual Version 3.2.10 Edition

猜你喜欢

转载自blog.csdn.net/weixin_41630573/article/details/83996766