VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式
本文以Virtual为例,Ubuntu16虚拟机网络环境NAT和Host Only模式配置。
1.三种虚拟机网络环境简介
1.1 NAT模式
1.NAT模式特点
-
如果主机可以上网,虚拟机可以上网。
-
虚拟机之间不能ping通。
-
虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)。
-
主机不能ping通虚拟机。
2.应用场景
- 虚拟机只要求可以上网,无其它特殊要求,满足最一般需求。
3.配置方法
- 连接方式 选择 网络地址转换(NAT)
- 高级-控制芯片 选择 PCnet-FAST III
- 高级-混杂模式 拒绝
- 高级-接入网线 √
- (虚拟机ip自动获取)
4.ip样式
- ip 10.0.2.15
- 网关 10.0.2.2
- 注意此处的网关在不同虚拟机中可能是同一个值,但是这归属于不同的NAT Engine,因此实际上各个虚拟机用的不是同一个网关。
5.原理
- 虚拟机的请求传递给NAT Engine,由它来利用主机进行对外的网络访问,返回的数据包再由NAT Engine给虚拟机。
1.2 Host Only模式
1.Host Only模式特点
- 虚拟机不可以上网
- 虚拟机之间可以ping通
- 虚拟机可以ping通主机(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)
- 主机可以ping通虚拟机
2.Host Only模式应用场景
- 在主机无法上网的情况下(主机可以上网的情况下可以用host-only,也可以用桥接),需要搭建一个模拟局域网,所有机器可以互访。
3.配置方式
- 连接方式 选择 仅主机(Host-Only)适配器。
- 界面名称 选择 VirtualBox Host-Only Ethernet Adapter。
- 高级-控制芯片 选择 PCnet-FAST III。
- 高级-混杂模式 拒绝。
- 高级-接入网线 √
(虚拟机ip自动获取,也可以自己进行配置,网关配置为主机中虚拟网卡的地址【默认为192.168.56.1】,ip配置为与虚拟网卡地址同网段地址)。
4.ip样式
- ip 与本机VirtualBox Host-Only Network的网卡ip在同一网段内(默认192.168.56.*)。
- 网关 本机VirtualBox Host-Only Network的网卡ip(默认192.168.56.1)。
5.原理
- 通过VirtualBox Host-Only Network网卡进行通信,虚拟机以此ip作为网关,因此模拟了一个本机与各个虚拟机的局域网,如名称所指。
- 应该是无法上网的(但是有人说可以通过对VirtualBox Host-Only Network网卡进行桥接等操作使虚拟机可以上网,但如此就不如直接。
- 采用桥接来的容易了,而且,呵呵,我没试成功,有的人也说不可以,因为主机不提供路由服务,我也不好乱说到底行不行,你自己试吧~~)。
1.3 Bridged Adapter模式(桥接模式)
1.Bridged Adapter模式特点
- 如果主机可以上网,虚拟机可以上网。
- 虚拟机之间可以ping通。
- 虚拟机可以ping通主机。
- 主机可以ping通虚拟机(以上各点基于一个前提:主机可以上网)。
- 如果主机不可以上网,所有1-4特点均无。
2.应用场景:
- 虚拟机要求可以上网,且虚拟机完全模拟一台实体机。
3.配置方法:
- 连接方式 选择 桥接网卡
- 界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)
- 高级-控制芯片 选择 PCnet-FAST III
- 高级-混杂模式 拒绝
- 高级-接入网线 √
- (虚拟机ip自动获取)
4.ip样式:
- ip 与本机ip在同一网段内
- 网关 与本机网关相同
5.原理:
- 通过主机网卡,架设一条桥,直接连入到网络中。它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。(虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全消失咯)。
2.虚拟机网络配置
NAT模式的优点是可以连接外网,缺点是主机ping不通,ssh连不上;
Host Only模式的优点是主机和虚拟机可以互相ping通,SSH可以连接,但是不能连接外网,Github和软件在线安装就是一个很大的问题了。
综上,我就在一个虚拟机上配置了NAT模式和Host Only模式,这样SSH能连上,外网也可以访问了。(当然你也可以直接桥接模式)。
2.1 NAT模式配置
Oralce VM Vitual—>管理—>全局设定—>网络
NAT模式虚拟机配置:使用网卡1
2.2 Host Only模式配置
主机的网络适配器可以看到
虚拟机配置:使用网卡2
3.测试连接
虚拟机从Vmware迁移到Virtual,发现SSH远程连接不上,ifconfig命令下没有网卡,只有环回口,如下图所示:
其实不是接口不存在,只是接口没有UP。网络搜索无果,只好自己找方法。回到图形界面,发现联网时要先启用网络,启用网络时会调用/sbin/dhclient,于是尝试下执行。
cd /sbin/
./dhclient
结果成功了,ifconfig下显示接口已经UP,一共有两张网卡,一张网卡是NAT模式的,一张网卡是Host Only模式的,然后测试,虚拟机和主机可以互相ping,虚拟机也可以上外网,SSH可以登录上(Host Only模式的IP)。