目的


本文主要介绍以下两点:

一. 如何在Oracle VM VirtualBox安装centos(已有VirtualBox)

二. 如何在内网里实现虚拟机访问外网、物理主机以及物理主机访问虚拟机

一、如何在Oracle VM VirtualBox安装centos


1. 下载centos7

打开阿里云开源镜像站,点击右边按钮“下载OS镜像”。

发行版选择“centos”,版本选择“7(x86_64-DVD-1908)”(有兴趣的可以选择8),点击下载。

centos 镜像中安装java 如何安装centos镜像_外网

2. 安装centos

下载完成后,打开Oracle VM VirtualBox软件,点击“新建”。

centos 镜像中安装java 如何安装centos镜像_外网_02

接下来,会分配内存,新建虚拟硬盘,大家可以根据实际情况分配大小(如果做开发环境,设备允许的话,可以分配2g内存,40g虚拟硬盘), 这里一路默认值。

虚拟机创建完成后,开始安装centos操作系统,点击“启动”。

centos 镜像中安装java 如何安装centos镜像_centos 镜像中安装java_03

选择下载的centos镜像

centos 镜像中安装java 如何安装centos镜像_centos_04

回车安装

出现语言选择界面,选择“English”。

centos 镜像中安装java 如何安装centos镜像_centos_05

设置时区,Asia/ShangHai。

centos 镜像中安装java 如何安装centos镜像_外网_06

打开网络,会自动获取。

centos 镜像中安装java 如何安装centos镜像_IPV6_07

centos 镜像中安装java 如何安装centos镜像_外网_08

继续,初试化root密码,密码一定要记住,下面要用到。

centos 镜像中安装java 如何安装centos镜像_centos 镜像中安装java_09

等待操作系统安装成功,点击Reboot。

centos 镜像中安装java 如何安装centos镜像_centos 镜像中安装java_10

重启成功后,输入root,以及上面设置的密码,即可进入操作系统。

centos 镜像中安装java 如何安装centos镜像_外网_11

二、 如何在内网里实现虚拟机访问外网、物理主机以及物理主机访问虚拟机


此时的虚拟机是可以访问网络,以及物理主机的。

centos 镜像中安装java 如何安装centos镜像_IPV6_12

查看虚拟机ip

centos 镜像中安装java 如何安装centos镜像_centos 镜像中安装java_13

当用物理主机访问虚拟机的时候,却发现访问不到,因为不在一个网段里。

centos 镜像中安装java 如何安装centos镜像_IPV6_14

满足虚拟机访问外网、物理主机以及物理主机访问虚拟机,其实有三种网络模式可以实现。

  1. Bridged(桥接模式)
  2. NAT(网络地址转换模式)
  3. Host-Only(仅主机模式)

其中桥接模式是最简单,只要将虚拟机的网络 -> 网卡的连接方式选择为桥接方式。并且在物理主机段中找到一个可用的ip,到虚拟机的网卡配置里,设置这个ip,就可以实现上面的结果。

但是呢,这种方式有个缺陷,虚拟机会占用一个真实的ip地址。在公司的内网中,这就是个很麻烦的一件事,资源有限,一般都是一个员工账号绑定一个固定ip。

NAT和Host-Only其实也都可以独只实现上面的结果,不过呢,比较繁琐,为了简单,这里采用结合的方式来实现虚拟机访问外网、物理主机以及物理主机访问虚拟机。

这里使用的NAT结合Host-Only模式。

在Oracle VM VirtualBox中关闭新建的虚拟机,右击,选择“设置” -> “网络”。

网卡1,使用网络地址转换。

centos 镜像中安装java 如何安装centos镜像_IPV6_15

网卡2,选择仅主机网络,同时选择适配器

centos 镜像中安装java 如何安装centos镜像_外网_16

回到物理主机,查看适配器网段。

centos 镜像中安装java 如何安装centos镜像_外网_17

进入虚拟机的操作系统,设置网卡。

cd /etc/sysconfig/network-scripts 
cp ifcfg-enp0s3 ifcfg-enp0s8 #复制一份
vi ifcfg-enp0s8 #修改网卡
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #修改静态
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
UUID="b80772d7-96a4-419c-97dd-d85c91054f1e" # 修改UUID
NAME="enp0s8" # 修改网卡名
DEVICE="enp0s8" # 修改设备名
ONBOOT="yes"
IPADDR="192.168.10.17" # 物理主机上的设配器网端是192.168.10.1(相当于网络出入口,路由器), 随便设置一个端的未用的ip。
PREFIX="24" # 网关
service network restart # 重启

查看网卡 ip addr

centos 镜像中安装java 如何安装centos镜像_IPV6_18

物理主机ping虚拟机

centos 镜像中安装java 如何安装centos镜像_centos 镜像中安装java_19

虚拟机ping物理主机、虚拟机ping网络

centos 镜像中安装java 如何安装centos镜像_IPV6_20

Stay Hungry, Stay Foolish