之前用惯了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. JavaScript HashTable

    function HashTable() { var loseHashCode = function(key) { var hash = 0; for (var i = 0; i < key.l ...

  2. 51-python基础-python3-列表-常用列表方法- index()方法

    index()方法 1-可以传入一个值,如果该值存在于列表中,就返回它的下标. 实例1: 2-如果该值不在列表中,Python 就报 ValueError. 实例2: 3-如果列表中存在重复的值,就返 ...

  3. How to compile Linux kernel in fedora 6

    前提:已裝好Fedora 6 core 2.6.18 ,在 Fedora 6 中compile linux kernel.1.下載 Fedora 6 core 2.6.18 http://www.ke ...

  4. Docker 清理容器 log 日志

    原文 Docker 清理容器 log 日志 docker logs <容器ID> 是常用命令,来查看容器运行日志,但时间长了之后,就会发现越来越慢,log 太多了,这时就需要清理一下. 先 ...

  5. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

  6. etcd注册服务

    etcd作为最简单(轻量,精简)的kv服务.etcd可以应用很多方面,但是它有一个特点,etcd只是基础,需要你自己实现功能.它不像其其它组件开箱即用,也正是如此,它足够简单精巧. 回到主题,etcd ...

  7. Python 第三天学习整理2

    一.常用的字符串方法 capitalize() #将字符串首字母大写 center(100,'*') #把字符串居中的 count(‘zhou’)#查询次数 endswith('.jpg ')#判断字 ...

  8. Jmeter接口压力测试(先登录再测接口)

    Jmeter测试接口(包括登陆操作) 1.      创建HTTP Request先登录 参考: http://blog.csdn.net/ab_2016/article/details/782496 ...

  9. Java集合体系结构(List、Set、Collection、Map的区别和联系)

    Java集合体系结构(List.Set.Collection.Map的区别和联系) 1.Collection 接口存储一组不唯一,无序的对象 2.List 接口存储一组不唯一,有序(插入顺序)的对象 ...

  10. Python向方法中传递自定义类型参数

    定义类型 class Fish: def __init__(self,x): self.num = xclass Turtle: def __init__(self,y): self.num = yc ...