嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

本博文转自:Pandoras Box

http://blog.csdn.net/yxc135/article/details/8458939

一、NAT模式

特点:

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给虚拟机。

二、Bridged Adapter模式(桥接模式)


特点:

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

2、虚拟机之间可以ping通

3、虚拟机可以ping通主机

4、主机可以ping通虚拟机

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

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

应用场景:

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

配置方法:

连接方式 选择 桥接网卡

界面名称 选择 (如果你的笔记本有无线网卡和有线网卡,需要根据现在的上网方式对应选择)

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

高级-混杂模式 拒绝

高级-接入网线 √

(虚拟机ip自动获取)

ip样式:

ip 与本机ip在同一网段内

网关 与本机网关相同

原理:

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

在网络中的真实机器一样。 (虚拟机是通过主机所在网络中的DHCP服务得到ip地址的,所以按理来说,两者是完全独立的,但事实却是虚拟机是没有独立硬件的,它还是要依靠主机的网卡,因此,主机要断开网络,虚拟机也就没法拿到ip了,所以呵呵~~所有特点全消失咯)

三、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模式(内网模式)

特点:

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,数据包传递不经过主机所在网络,因此安全性高,防止外部抓包~

五、NAT模式+端口映射

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

命令如下:

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

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/Protocol" TCP

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/GuestPort" 80

vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/HostPort" 8000

转载于:https://blog.51cto.com/9291927/1783908

嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析相关推荐

  1. VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    本文以VirtualBox为例 如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3. ...

  2. 详解VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射

    原文链接:http://www.jb51.net/article/98575.htm -------------------------------------------------- 本文以Vir ...

  3. 嵌入式linux开发中常见的虚拟机和主机的文件共享问题

    在嵌入式开发中常会用到linux系统,而有些单位必须使用虚拟机安装linux系统. 在使用vmware安装ubuntu系统后,要创建一个用作虚拟机和主机之间的共享目录. 但是这样做完之后,在ubunt ...

  4. 我的嵌入式linux开发步骤

    我的嵌入式linux开发步骤: 1.       安装虚拟机,见<安装及使用心得>,选择桥接模式 2.       虚拟机串口设置,见<VMare里linux使用MINCOM通信&g ...

  5. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  6. 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境

    嵌入式系统操作系统 目前流行的嵌入式操作系统主要有VxWorks.WindowsCE.Linux等,由于Linux的源码开放性.内核可裁剪性.在图像处理.文件管理及多任务支持等诸多方面的特点,使得它成 ...

  7. 使用qemu搭建arm嵌入式linux开发环境

    qemu搭建arm虚拟嵌入式linux开发环境 1.前言 1.安装qemu与arm交叉编译工具 2.Linux内核与设备树编译 3.busybox根文件系统制作 4.使用u-boot加载Linux内核 ...

  8. ubuntu20.04.1 64位搭建嵌入式linux开发环境

    目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...

  9. 嵌入式Linux开发环境搭建-曹国辉-专题视频课程

    嵌入式Linux开发环境搭建-1199人已学习 课程介绍         系统讲解嵌入式Linux开发环境搭建方法,包括虚拟机安装,ubuntu安装,交叉编译器安装及配置,嵌入式QT开发环境的构建,u ...

最新文章

  1. Unity3D:中小型团队游戏研发的突围之道
  2. zookeeper 密码_「附源码」Dubbo+Zookeeper 的 RPC 远程调用框架
  3. linux 下添加,修改,删除路由
  4. 名为 cursor_jinserted 的游标不存在_质量工程师必须了解的测量常识,你不知道怎么行...
  5. [css] clear属性只对块级元素有效么?为何无法应用于行内元素?
  6. node中使用短信验证功能(阿里云为例)
  7. LeetCode: Word Ladder
  8. 【批量查询IP归属】
  9. 保存为UTF8的1byte文字,2byte文字,3byte文字,4byte文字大全
  10. PS给人物添加阴影和高光
  11. 红冲发票,负数发票,作废发票
  12. VBA金额转换中文大写(原创新解版)
  13. 陕西车牌顺口溜~~~~~~~~~~~
  14. Spring Cloud Netflix之为上一个damo添加Ribbon(负载均衡优化)
  15. 原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (六)测试哪些内容:Right-BICEP
  16. redis主从、哨兵、集群
  17. 【android studio】测试不同buf下flash的读写性能2
  18. 【Win10】电脑麦克风录音:设备调测
  19. 为什么华为 200 万招聘 AI 博士,马斯克却推出脑机接口对抗 AI?
  20. 微信第三方授权登录之oauth开发

热门文章

  1. C#访问Access和Win7 64位下可能遇到的 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序 问题
  2. 记一次内核模块查看 - 初步通过文件厂商判断有无可疑内核模块
  3. MySql外键学习总结
  4. Python类的部分
  5. Jenkins+Gradle+Git+Pyger+二维码搭建Android自动打包平台
  6. SQL Server Window Function 窗体函数读书笔记二 - A Detailed Look at Window Functions
  7. 15-奇怪的Js文件引用问题
  8. 验算双中心重叠积分程序
  9. 用神经网络的分类行为理解力的相互作用
  10. 存在于实数域的微观粒子6-放射性衰变与分类准确率