之前用惯了vmware和parallels desktop,网络配置十分智能,基本不用自己配置。由于版权原因,工作电脑上换了免费的virtual box用,四五年都完全在虚拟机里干活的本菜鸡居然在虚拟机配置上疯狂踩坑,真的是令人哭笑不得。。
 
配置的目标:虚拟机可访问外网,主机可ssh虚拟机,不能使用桥接(办公网都懂得)。
踩坑过程:
1)用了默认网络配置,创建好了虚拟机,开启了sshd,就是能ping不能ssh。查了资料若干,怎么看怎么不符合常理。
2)关了虚拟机,不小心又ping了一下,居然能ping通!?从而发现默认生成的ip太常用了,和内网大服务器冲突了,ping通的是大服务器。(vmware的默认网段192.168.x.0/24中的x都是随机的,而vbox的内置NAT配置10.0.2.0/24中,直接用了0这种重要网段......)
3)找不到内置NAT网卡在哪里配置,一阵莫名其妙。然后发现应该使用自定义NAT网卡,配置为192.168.x.0/24网段。
4)机器可以正常访问外网,但主机不能ssh虚机。搜了一下,NAT只能让虚机连外网,还需额外配置一个Host-Only网卡来让主机连接虚机。(vmware中vmnet8就是nat,vmnet1就是host-only,都是默认配置。)
5)想要给虚拟机配置Host-Only网卡,发现“界面名称”没有可选选项。查了一下是主机没有vbox虚卡,需要创建。全局设定中又只能创建NAT网卡,没有Host-Only网卡,又是一阵莫名其妙。
6)终于在菜单栏找到Host-Only网卡配置,配好,胜利在望。(好像老版本两种网卡是在一起配置的,不知道为什么新版放到了完全不同的入口。。)
7)给虚拟机配好第二个网卡,网络配置成功。总耗时两到三小时,又快乐又崩溃。
 
正确配置过程梳理:
一共就三个步骤:
① 创建一个自定义的NAT网卡,用于虚拟机连外网
② 创建一个自定义的Host-Only网卡,用于宿主机连虚拟机
③ 配置虚拟机网络
 
Step 1: 创建自定义NAT网卡
不像vmware,有默认配置好的两个网卡vmnet1和vmnet8,vbox的全局网络配置是空空如也的,没有网卡。这么说其实也不准确。在虚拟机的网络配置中可以看到,有两个NAT网络,很是迷惑。
 
 
其实“网络地址转换(NAT)”是一个内置的、不可修改的NAT网卡,默认为10.0.2.0/24网段,并开启了DHCP,不提供相关配置信息,在NAT网卡列表中也看不到。而“NAT网络”是由用户手动配置的网卡,在 VB管理器 -> 工具 -> 全局设定 -> 网络中管理。
 
 
配置很简单,不多说了,尽量使用办公网不使用的网段。例如我司使用的是10和172,那就配成192。
 
 
Step 2: 创建自定义Host-Only网卡
不知道为啥子,vbox的全局设定中只能设置NAT,并没有Host-Only网卡。
 
 
其实在菜单栏 -> 管理 -> 主机网络管理器。配置同样简单。
 
 
 
Step 3:配置虚拟机网络
在虚拟机设置中选择网络,一个网卡选择自定义的NAT网络网卡,另一个选择自定义的Host-Only网络网卡。
 
 
 
Step 4: 重启虚拟机即可。
 
要说难,其实根本也不难。没想到用了这么多年虚拟机的老司机居然翻了车。一方面是自己确实对网络非常不熟悉,另一方面也怪vbox的各种设计真的相当反人类。这么一件小事折腾了两三个小时,就像初用ubuntu时不会装中文输入法的自己一样。很神奇的是网上居然也没查到相关的文章。因此自己记录下来,希望能对大家有所帮助。
 

在mac版virtual box中安装ubuntu虚拟机的NAT/Host-Only网络配置踩坑记录的更多相关文章

  1. virtual box 中两个虚拟机 、宿主机 三机互通并且能上外网设置

    virtual box 中两个虚拟机 .宿主机 三机互通并且能上外网设置 1:背景:因为需要学习linux,所以需要在虚拟机里装linux系统,测试要么宿主机与虚拟机linux网络实验测试:要么另一台 ...

  2. virtual box下安装ubuntu经验

    1. 哪怕下载的是ubuntu64位版本,也在vitualbox下选择ubuntu而不要选择ubuntu(64bit) 2. 安装VBoxGuestAdditional.iso:下载和vbox版本相匹 ...

  3. VMware8.0虚拟机中安装Ubuntu12.04使用NAT设置连接网络

    之前一直尝试使用“桥接”的方法,但是一打开虚拟机,本机windows就断网.最后不得不换种方法,还好尝试了很多遍终于使用NAT设置成功的联网了. 说明:本机windows连接的是无线网. 1.检查自己 ...

  4. Virtual Box中 CentOS双网卡设置

    Virtual Box中 CentOS双网卡设置:   在Virtual Box中安装CentOS x86-64 6.4(final),配置了双网卡,eth0 为桥接模式 , eth1为内网模式   ...

  5. Virtual Box 中的虚拟系统无法调整分辨率(无法自适应窗口大小)

    关于 Virtual Box 中安装好虚拟机后无法调整分辨率,即无法随 vbox 窗口大小自动调整内部虚拟机的屏幕. 网上找了百度了一遍,很多方法并不凑效,好在最后解决了,现将过程记录,以飨来者. 1 ...

  6. 在centos 6.5 在virtual box 上 安装增强版工具

    centos 6.5 在virtual box 上 安装增强版工具: 出现:centos unable to find the source of your current linux kernel ...

  7. Virtual box中Ubuntu虚拟机磁盘碎片整理和空间清理方法

    虚拟机中,随着不断的使用,增加大文件(例如日志,视频和软件版本),虽然在虚拟机中手动删除了,但是虚拟机占用的空间并不会随之减少,需要手动清理一下. 这里介绍一种Virtual box中Ubuntu碎片 ...

  8. 在虚拟机中安装Ubuntu Server 15.04

    学Linux,上红联! 红联Linux门户|Linux通用技术|Linux发行版技术|Linux企业应用|Linux实验室|红联Linux论坛 Linux系统教程 Linux入门 Linux管理 Li ...

  9. 【荐】利用NAT、Host-Only双虚拟网卡,实现Virtual Box中CentOS5.x联网

    一.虚拟机与主机互联,通常有三种方式,详细介绍请看: VMware虚拟机三种网络模式(Bridged,Nat,Host-only)区别详解 二.通过网络共享,Host-Only联网,详细案例请看: W ...

随机推荐

  1. AOM

    AOM ----  Automation Object Model (自动化对象模型) AOM就是一个可以自动化QTP的自动化对象模型,它可以对QTP的进行自动化配置操作以及QTP的运行回放进行自动化 ...

  2. 怎么学习PHP

    学习PHP有半个月了.每天都要打代码and写笔记.学过C和Java,在学习PHP的过程中比较顺利吧 (^-^) 代码打得越多,运行得越多,慢慢得会对程序理解得越深.下面就讲讲我学习PHP的心得.PHP ...

  3. Windows Server 2008 R2 官方简体中文免费企业版/标准版/数据中心版

    Windows Server 2008 R2是一款微软发布的Windows服务器操作系统,和之前发布的Windows Server 2008相比功能更为完善运行更为稳定,提升了系统管理弹性.虚拟化.网 ...

  4. 《穷爸爸富爸爸——Cashflow》

    读<穷爸爸富爸爸>大约两年前了,当时对理财没什么概念,除了支付宝,就是京东小金库,哪个利率高就存哪个里.记忆中除了感觉这应该是有一定经济基础的人通常做的事,工薪阶级的自己还未达标,工资除了 ...

  5. Flink从socket读取数据sink到redis

    package com.lin.flink.stream.customPartition; import org.apache.flink.api.common.functions.MapFuncti ...

  6. db2 load命令装载数据时定位错误出现的位置

    使用如下命令装载数据(注意CPU_PARALLELISM 1): db2 load from filename.del of del replace into tab_name  CPU_PARALL ...

  7. webacp4.0

    'use strict';const path = require('path'); var APP_PATH = path.resolve(__dirname, 'src');const webpa ...

  8. Thinkphp5.0 自定义命令command的使用

    在app下的command文件中,定义命令所在的模块以及命名. 然后保存,打开cmd,php think 定义的那个command的名字,完整的命令行为:php think clearInvalidO ...

  9. 使用canvas时, 如何用相对单位(rem, rpx)来适配不同机型

    使用canvas的api时, 使用的都是绝对数值, 如: 方法传参是坐标位置,不带单位,如ctx.translate(10,10); 那么此时, 我就需要将rem或rpx 转换成 px; 首先, 获取 ...

  10. js console对象

    js调试 根据信息的不同性质,console对象显示信息的方法,分别是一般信息console.log(),console.info().除错信息console.debug().警告提示console. ...