VirtualBox中的杜撰网络环境设置

VirtualBox中的虚拟网络环境设置

一、 NAT模式
NAT:Network Address Translation,网络地址转换
特点:
1、如果主机可以上网,虚拟机可以上网
2、虚拟机之间不能ping通
3、虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)
4、主机不能ping通虚拟机

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

配置方法:
连接方式 选择 网络地址转换(NAT)
高级-控制芯片 选择 PCnet-FAST III
高级-混杂模式 拒绝
高级-接入网线 √
(虚拟机ip自动获取)


ip样式:
ip 10.0.2.15
网关 10.0.2.2
注意此处的网关在不同虚拟机中可能是同一个值,但是这归属于不同的NAT Engine,因此实际上各个虚拟机用的不是同一个网关

原理:
虚拟机的请求传递给NAT Engine,由它来利用主机进行对外的网络访问,返回的数据包再由NAT Engine给虚拟机。


NAT是VirtualBox为新建虚拟机默认设置的网卡环境。VirtualBox虚拟出一个路由器,为虚拟机中的网卡分配参数:
????? IP地址 10.0.2.15
????? 子网掩码 255.255.255.0
????? 广播地址 10.0.2.255
????? 默认网关 10.0.2.2
????? DNS服务器与主机中的相同
????? DHCP服务器 10.0.2.2
其中10.0.2.2分配给主机,也就是用主机作网关,利用主机的网络访问inertnet。虚拟机通过10.0.2.2能访问主机中搭建的网络服务,但是主机不能访问虚拟机中搭建的网络服务(需要用端口转接才能访问)。同时,使用NAT网络环境的各个虚拟机之间也不能相互访问,因为它们的IP地址都是 10.0.2.15!即使设置在NAT网络环境中的网卡为手动指定地址!

二、 Bridged Adapter模式(桥接模式)
特点:
1、如果主机可以上网,虚拟机可以上网
2、虚拟机之间可以ping通
3、虚拟机可以ping通主机
4、主机可以ping通虚拟机
5、独占网络中的一个ip
以上各点基于一个前提:主机可以上网
如果主机不可以上网,所有1-4特点均无

应用场景:
虚拟机要求可以上网,且虚拟机完全模拟一台实体机

配置方法:
连接方式 选择 桥接网卡
界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)
高级-控制芯片 选择 PCnet-FAST III
高级-混杂模式 拒绝
高级-接入网线 √
(虚拟机ip自动获取)

ip样式:
ip 192.168.0.12与本机ip在同一网段内
网关 192.168.0.1与本机网关相同

原理:
通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。
(虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全消失咯)

Bridged networking网络环境中的虚拟网卡与主机中的网卡属于同一个等级,就像真实存在的网卡接入了你主机所在的网络中一样。在这种网络环境中虚拟网卡获得的参数由主机所在的网络环境分配,虚拟机与主机之间是否能够通过网络相互访问也由主机所在的网络环境决定,当然,同时设置了Bridged networking网络环境的虚拟机之间网络互访也由主机所在的网络环境决定。
三、 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 192.168.56.101 与本机VirtualBox Host-Only Network的网卡ip在同一网段内(默认192.168.56.*)
网关192.168.56.1 本机VirtualBox Host-Only Network的网卡ip(默认192.168.56.1)

原理:
通过VirtualBox Host-Only Network网卡进行通信,虚拟机以此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。
四、 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,数据包传递不经过主机所在网络,因此安全性高,防止外部抓包~

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

六、 综合应用
配置centos虚拟机里面能上外网,而主机与centos虚拟机也能连通
使用两块网卡,nat(虚拟机访问互联网,使用10.0.2.x段)和host-only(虚拟机和主机互相通信,使用 192.168.56.x段)

virtualbox配置的网络的地方是:打开主机界,按Ctrl+G,然后network,就可以启用 vboxnet0了。




将第二块网卡host-only变成静态ip
在/etc/sysconfig/network-scripts/下面看有没有ifcfg-enp0s3文件,如果没有,将ifcfg- enp0s3复制一份,改名为ifcfg-enp0s8,
HWADDR=08:00:27:07:f1:1f? #修改成第二个网卡的mac地址
BOOTPROTO=static??? #获取IP的方式是dhcp或bootp自动获取,static是固定IP,none是手动
IPADDR=192.168.56.11
NETMASK=255.255.255.0

注意:
1. HWADDR设置成第二个网卡的mac地址
2. 注释掉UUID
3. 不能设置GATEWAY
原因:
linux双网卡默认路由的问题,在安装第二块网卡后出现无法上网问题,使用route发现是默认路由出现问题,经过多发查证,才晓得原来linux在加载网卡配置文件的时候是先加载eth0,再加载eht1的,这样,如果eth1设置了gateway项,则会覆盖掉 eth0中的gateway设置,因此解决方法就是删除eth1的gateway设置


相关内容推荐