说明:实际VirtualBox搭建Ubuntu环境,和其他虚拟化软件搭建Ubuntu的环境流程步骤差不多,这回说的重点是VirtualBox的网络设置,这个还是有一些差别。
第一部分:5种网络模式说明
通过一个表格来说明VirtualBox支持的5种网络类型(也有4种的说法,NAT和NAT server不太区分,统称NAT)
通过表格我们大致知道:
Host-only(主机模式)能实现虚拟机和主机的双向互通,同时可以和其他虚拟机进行通信,不支持外网通讯。主要用在内网主机和集群之间的相互通讯。
Internal(内部网络模式),只支持虚拟机之间的通讯,其余情况均不支持。算是Host-only一种特殊情况,用的比较少。
Bridged(桥接模式),支持情况最好的一种情况,相当是一个独立的网卡,独立的网络。但是在虚拟机里面使用的没有NAT多,因为只有一台主机,多个网卡独立上网反而麻烦了。
NAT(网络地址转换模式),如下图所示,虚拟机通过自己gateway,首先将请求转发到宿主机上,然后在使用宿主的物理网卡访问外网,特点是:一台宿主机可以支持多态虚拟机链接外网。一般本地虚拟机使用这种方式比较多。
第二部分: 明确设置目标
要求如下:
虚拟机可以访问外网
宿主机可以ssh登陆虚拟机
虚拟机之间可以相互通信
分析结论:采用NAT+ Host-only两种组合的方式。因为只有一台宿主机,需要支持多台虚拟机,访问外网采用NAT模式,宿主机于虚拟机、虚拟机与虚拟机可以使用Host-only实现。
第三部分: Ubuntu网络设置
3.1 新建虚拟机
假设我们新建一个新的虚拟机环境
说明:新建
过程中的配置细节我们就不具体说明,按照自己的需要配置即可。
3.2 启用第一块网卡
第一块网卡默认是: NAT模式,其实这一块不需要配置,默认就有。
3.3 启用第二块网卡
第二块网卡计划是:Host-only模式使用,用于内网通讯。
说明:有的同学可能会出现界面名称
没有选择项的情况
原因:那你因为目前的virtualBox还没有配置本机网络设置,配置好以后,才会有相对应的选项来下来选择。使用如下的方法来配置主机网络管理器:
配置完以后,设置第二块网卡的时候,就会有选项,这样两块网卡就配置好了。
默认情况下,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
查看网卡名ifconfig
,找到enp开头的网卡名,第一个enps03就是上步中的网卡1,enps08为网卡2