2019独角兽企业重金招聘Python工程师标准>>>

VirtualBox虚拟机网络设置

1、NAT 网络地址转换模式(Network Address Translation) 
2、Bridged Adapter 桥接模式 
3、Internal 内部网络模式 
4、Host-only Adapter  主机模式

一、原理

1、网络地址转换模式(Network Address Translation)

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方案优缺点: 
笔记本已插网线时:虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最后有说明),主机可以访问虚拟机上的服务(如数据库)。 
笔记本没插网线时:主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。

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

可以ssh到虚拟机,此时通信的2端是虚拟机的网卡、主机的网卡 ,跟VirtualBox Host-Only Network无关

3、Internal 内部网络模式

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

该模式在只有一台虚拟机的情况下不实用

4、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,这时主机要能通过“本地连接”有线上网,(无线网卡不行)

此时用的网卡是VirtualBox Host-Only Network对应的网卡,VirtualBox Host-Only Network跟Ubuntu之间互相都可以ping通。

二、实现

1、Host only Adapter

设置VirtualBox Host-Only Network自动获取ip,获取后的ip形式为192.168.56.* 
然后设置虚拟机链接网络方式为 Host only Adapter方式,得到的ip地址也是192.168.56.* 
2个显然组成了一个局域网,可以ssh到Ubuntu了,但是这个的缺点就是Ubuntu不能上网 
此时用的网卡是VirtualBox Host-Only Network对应的网卡,VirtualBox Host-Only Network跟Ubuntu之间互相都可以ping通。

2、Internal模式

Ubuntu提示有线断开

3、Bridged Adapter

其实这种模式下,设置windows虚拟机ip跟Ubuntu的ip在一个内网,并且ip不同就可以实现上web 以及ssh到Ubuntu上

4、NAT

该模式无法ssh到Ubuntu

总结: 
建议使用Bridged Adapter 的方式,在linux虚拟机中设置跟本机的IP、掩码属于同一网段既可以上Web 也可以ssh联虚拟机。

转载于:https://my.oschina.net/pengloo53/blog/169877

VirtualBox的四种网络接入模式相关推荐

  1. VirtualBox虚拟机 四种网络接入模式

    2019独角兽企业重金招聘Python工程师标准>>> VirtualBox的提供了四种网络接入模式,它们分别是:  1.NAT 网络地址转换模式(NAT,Network Addre ...

  2. 函数的四种调用模式.上下文调用.call.apply

    闭包:函数就是一个闭包,一个封闭的作用域; 返回函数,要返回多个函数就用一个对象封装一下, 立即执行函数+return 回调函数 JS动态创建的DOM,不会被搜索引擎抓取,对SEO不友好. /*win ...

  3. JavaScript中函数四种调用模式

    目录 JS中函数的四种调用模式 函数调用模式 方法调用模式 构造器调用模式 上下文调用模式 JS中函数的四种调用模式 在函数的调用模式中感觉最大的区别就是: this指向 函数调用模式 即通过函数名直 ...

  4. Android Activity的launchMode四种启动模式备忘

    Android Activity的launchMode四种启动模式备忘 Android的Activity的启动模式有四种,在AndroidManifest.xml通过配置Activity的androi ...

  5. AndroidManifest.xml文件详解(activity)(三)四种工作模式

    android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...

  6. Android中Activity的四种启动模式

    每次看到这种专有词汇都十分佩服创造者的智慧,创造者一定和我一样都中二,我已然确信. 我写博客的目的,就是希望不断磨练自己,让自己能够不将一件简单的事情讲的复杂,让自己能将一件复杂的事情讲的简单.嘛嘛, ...

  7. Docker四种网络模式

    四种网络模式 host模式 使用docker run时使用–net=host指定 Docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip. [root@localhost ~ ...

  8. android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家

    Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Ac ...

  9. Docker的四种网络模式和相关网络命令等操作

    Docker网络模式 一.实现原理 二.Docker四种网络模式 三.Docker命令 1.查看网络列表 2.自定义网络固定IP 3.暴露端口 4.在宿主机环境执行容器内命令 5.怎么把宿主机的文件传 ...

最新文章

  1. 时序数据库深入浅出之存储篇——本质LSMtree,同时 metric(比如温度)+tags 分片...
  2. MySQL数据库入门———常用基础命令
  3. 【转】idea激活搭建授权服务器
  4. ffmepg 命令提取音视频数据
  5. Qt工作笔记-绘制静态折线图
  6. window.btoa()方法;使字符编码成base64的形式
  7. php验证码类Validationcode
  8. 精心整理,kafka常见面试题,看这篇文章就够了(共17题,含详细解答)
  9. StretchBlt()函数使用
  10. head first 设计模式(限量珍藏版)挂图
  11. 深度卷积神经网络(CNN)
  12. Python练习题 013:求解a+aa+aaa……
  13. MediaPipe基础(5)Pose(姿势)
  14. Uncle-黄,恍恍惚惚的面经 -- 1(初级Java)
  15. vue中播放flv流视频
  16. Java程序员之从菜鸟到职场高手的必看...
  17. 使用DirectSound播放MP3文件
  18. 观剧有感--正者无敌
  19. 力扣 1818. 绝对差值和 数学 二分
  20. 浪潮8465m4安装linux,浪潮NF8465M4安装windows2008R2系统

热门文章

  1. JMeter中如何实现参数化(CSV)
  2. Kali Linux破解WiFi教程
  3. 全栈路线_程序员该走全栈路线还是深度专家路线?
  4. java调用onnx模型_开源一年多的模型交换格式ONNX,已经一统框架江湖了?
  5. c语言过程化程序设计方法,程序的设计基础(C语言入门及编程环境)(修改).ppt
  6. 一场由SameSite字段引发的前端悲剧
  7. 从事前端多年,我是这样看待三大框架的
  8. linux的目录创建时间,LINUX下文件创建时间问题
  9. python 获取excel文本框_简单使用python做excel多文件批量搜索(带图形界面)(已更新)...
  10. r语言mfrow全程_如何使用R完成文章中图片处理小教程