VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式

VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式

本文以Virtual为例,Ubuntu16虚拟机网络环境NAT和Host Only模式配置。

1.三种虚拟机网络环境简介

1.1 NAT模式

1.NAT模式特点

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

  2. 虚拟机之间不能ping通。

  3. 虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)。

  4. 主机不能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模式特点

  1. 虚拟机不可以上网
  2. 虚拟机之间可以ping通
  3. 虚拟机可以ping通主机(注意虚拟机与主机通信是通过主机的名为VirtualBox Host-Only Network的网卡,因此ip是该网卡ip 192.168.56.1,而不是你现在正在上网所用的ip)
  4. 主机可以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模式特点

  1. 如果主机可以上网,虚拟机可以上网。
  2. 虚拟机之间可以ping通。
  3. 虚拟机可以ping通主机。
  4. 主机可以ping通虚拟机(以上各点基于一个前提:主机可以上网)。
  5. 如果主机不可以上网,所有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模式

NAT模式虚拟机配置:使用网卡1

NAT虚拟机配置

2.2 Host Only模式配置

主机的网络适配器可以看到
在这里插入图片描述

虚拟机配置:使用网卡2
在这里插入图片描述

3.测试连接

虚拟机从Vmware迁移到Virtual,发现SSH远程连接不上,ifconfig命令下没有网卡,只有环回口,如下图所示:
ipconfig网卡

其实不是接口不存在,只是接口没有UP。网络搜索无果,只好自己找方法。回到图形界面,发现联网时要先启用网络,启用网络时会调用/sbin/dhclient,于是尝试下执行。

cd /sbin/
./dhclient

结果成功了,ifconfig下显示接口已经UP,一共有两张网卡,一张网卡是NAT模式的,一张网卡是Host Only模式的,然后测试,虚拟机和主机可以互相ping,虚拟机也可以上外网,SSH可以登录上(Host Only模式的IP)。
网卡设置

<think>好的,我现在需要解决用户在VirtualBox中配置Ubuntu虚拟机与主机网络互通的问题。首先,我得回忆一下之前学过的相关知识,并结合提供的引用内容来构建一个清晰的解决方案。 用户提到了四个引用,其中引用[1]、[3]、[4]都涉及网络配置的具体步骤,尤其是NATHost-only网络的设置。我需要先确定用户的需求是实现互相ping通,可能需要同时访问互联网和宿主机之间的通信,因此需要配置双网卡:一个用于NAT(让虚拟机可以上网),另一个用于Host-only(实现宿主机和虚拟机之间的通信)。 根据引用[4],配置静态IP可能是关键步骤。在Ubuntu 18.04或更高版本中,网络配置通常使用Netplan,所以需要编辑/etc/netplan/下的配置文件。例如,设置enp0s3为NAT,使用DHCP获取IP;enp0s8为Host-only,配置静态IP在Host-only的网络范围内,如192.168.56.x。然后应用配置并测试连通性。 同时,引用[3]提到网络配置的坑,可能需要注意VirtualBox的网络设置是否正确,比如Host-only网络的适配器是否启用,虚拟机的网络适配器是否选择正确模式。此外,防火墙设置也可能影响ping的通断,需要检查UFW是否关闭或者允许ICMP请求。 接下来,我需要将步骤分解,确保用户能够逐步操作。首先配置VirtualBox的网络设置,添加两个网络适配器,然后进入Ubuntu系统配置Netplan文件,设置静态IP,最后测试ping和SSH连接。还要注意可能的问题点,比如网卡名称不同、配置文件格式错误等,提醒用户根据实际情况调整。 最后,生成相关问题时要涵盖常见的问题,比如无法ping通的可能原因、共享文件夹配置、网络模式的区别等,帮助用户扩展理解。</think>### VirtualBoxUbuntu虚拟机与主机网络互通配置步骤 #### 1. 配置VirtualBox网络模式 - **添加双网卡**: - **网卡1**:选择**NAT模式**(用于虚拟机访问互联网) - **网卡2**:选择**Host-only模式**(用于宿主机与虚拟机通信) *操作路径:虚拟机设置 → 网络 → 分别选择适配器类型和模式*[^4] #### 2. 配置Ubuntu静态IP(针对Host-only网卡) - 编辑Netplan配置文件(Ubuntu 18.04+): ```bash sudo nano /etc/netplan/00-installer-config.yaml ``` - 输入以下内容(注意网卡名称可能为`enp0s3`/`enp0s8`或`ens33`/`ens34`): ```yaml network: version: 2 renderer: networkd ethernets: enp0s3: # NAT网卡(自动获取IP) dhcp4: true enp0s8: # Host-only网卡(手动设置静态IP) dhcp4: false addresses: [192.168.56.100/24] # 需与Host-only网段一致 nameservers: addresses: [8.8.8.8, 1.1.1.1] ``` - 应用配置并验证: ```bash sudo netplan apply ip addr # 查看是否成功分配IP ``` #### 3. 测试网络连通性 - **虚拟机→宿主机**:在Ubuntu终端执行`ping 192.168.56.1`(宿主机Host-only网卡IP)[^3] - **宿主机→虚拟机**:在Windows命令提示符执行`ping 192.168.56.100` - **虚拟机→互联网**:执行`ping baidu.com`验证NAT是否生效 #### 4. 常见问题排查 - **防火墙干扰**:关闭Ubuntu防火墙 `sudo ufw disable` - **IP网段冲突**:确保Host-only网卡IP在VirtualBox管理器中定义的范围内(如`192.168.56.0/24`) - **网卡未启用**:检查VirtualBox全局设置中Host-only网络是否已创建并启用 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值