说明:实际VirtualBox搭建Ubuntu环境,和其他虚拟化软件搭建Ubuntu的环境流程步骤差不多,这回说的重点是VirtualBox的网络设置,这个还是有一些差别。

第一部分:5种网络模式说明

通过一个表格来说明VirtualBox支持的5种网络类型(也有4种的说法,NAT和NAT server不太区分,统称NAT)

Mode VM→Host VM←Host VM1↔VM2 VM→Net/LAN VM←Net/LAN
Host-only 支持 支持 支持 不支持 不支持
Internal 不支持 不支持 支持 不支持 不支持
Bridged 支持 支持 支持 支持 支持
NAT 支持 端口转发 不支持 支持 端口转发
NATserver 支持 端口转发 支持 支持 端口转发

通过表格我们大致知道:

  1. Host-only(主机模式)能实现虚拟机和主机的双向互通,同时可以和其他虚拟机进行通信,不支持外网通讯。主要用在内网主机和集群之间的相互通讯

  2. Internal(内部网络模式),只支持虚拟机之间的通讯,其余情况均不支持。算是Host-only一种特殊情况,用的比较少。

  3. Bridged(桥接模式),支持情况最好的一种情况,相当是一个独立的网卡,独立的网络。但是在虚拟机里面使用的没有NAT多,因为只有一台主机,多个网卡独立上网反而麻烦了。

  4. NAT(网络地址转换模式),如下图所示,虚拟机通过自己gateway,首先将请求转发到宿主机上,然后在使用宿主的物理网卡访问外网,特点是:一台宿主机可以支持多态虚拟机链接外网。一般本地虚拟机使用这种方式比较多。

NAT工作模式说明

第二部分: 明确设置目标

要求如下:

  1. 虚拟机可以访问外网
  2. 宿主机可以ssh登陆虚拟机
  3. 虚拟机之间可以相互通信

分析结论:采用NAT+ Host-only两种组合的方式。因为只有一台宿主机,需要支持多台虚拟机,访问外网采用NAT模式,宿主机于虚拟机、虚拟机与虚拟机可以使用Host-only实现。

第三部分: Ubuntu网络设置

3.1 新建虚拟机

假设我们新建一个新的虚拟机环境
说明:新建过程中的配置细节我们就不具体说明,按照自己的需要配置即可。
新建虚拟机

3.2 启用第一块网卡

第一块网卡默认是: NAT模式,其实这一块不需要配置,默认就有。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bq11b1du-
设置
NAT网络转换

3.3 启用第二块网卡

第二块网卡计划是:Host-only模式使用,用于内网通讯。
网卡2

说明:有的同学可能会出现界面名称没有选择项的情况

原因:那你因为目前的virtualBox还没有配置本机网络设置,配置好以后,才会有相对应的选项来下来选择。使用如下的方法来配置主机网络管理器:
主机网络管理器
vboxnet0

配置完以后,设置第二块网卡的时候,就会有选项,这样两块网卡就配置好了。

3.4 修改Ubuntu配置文件

默认情况下,VirtalBox只启用第一块网卡,第二块网卡启动需要手动修改配置文件才能生效。

# 编辑网卡文件
sudo vim /etc/network/interface

# 配置内容如下(注释已过滤)
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

# 可以配置更多,包括子网掩码、网关
auto enp0s8
iface enp0s8 inet static
	address 192.168.56.110
3.5 重启生效并测试配置效果
# 重启网络服务,IP并不会发生变化,所以只能使用终极大招:重启机器了
sudo reboot

# 查看网络信息
# 当出现三块网卡基本就成功了
ifconfig
enp0s3    Link encap:Ethernet  HWaddr 08:00:27:0c:52:95
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0

enp0s8    Link encap:Ethernet  HWaddr 08:00:27:24:3e:5b
          inet addr:192.168.56.110  Bcast:192.168.56.255  Mask:255.255.255.0

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          
#  外网检测
ping baidu.com

# 宿主机与虚拟机、虚拟机与虚拟机通讯
# 宿主机上执行,能够登陆成功就说明没有问题
niefajun@Mac ssh niefajun@192.168.56.110
niefajun@192.168.56.110's password:
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)

Last login: Fri Jul 17 23:30:53 2020 from 192.168.56.1

参考资料列表:

  1. Chapter 6. Virtual Networking
  2. Setup NAT and Host only Network on Oracle VM VirtualBox

备注:
更多精彩博客,请访问:聂发俊的技术博客

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐