使用 VirtualBox+Vagrant 快速搭建 Linux 虚拟机环境

前言

创建linux虚拟机是我们比较头疼的一件工作,首先需要下载虚拟机管理软件,然后下载linux安装包,导入虚拟机管理软件后还需要进行一系列的配置。

现在通过vertualbox 和 vagarent 这两款软件,让我们创建linux虚拟机变的更加简单,下面通过一系列真实的安装步骤,为大家演示如何快速创建linux虚拟机

软件准备

下载、安装Virtual Box:https://www.virtualbox.org/wiki/Downloads

下载、安装Vagrant:https://www.vagrantup.com/downloads

注意:VirtualBox会与包括但不限于如下软件冲突,需要卸载这些软件,然后重启电脑;

冲突的软件:红蜘蛛、360、净网大师(有可能)等

软件安装

安装 Virtual Box

1、双击 Virtual Box 安装包,弹出安装向导

image-20201128201405798

2、建议更改安装位置,不要放到 C 盘

image-20201128201459526

3、按照安装向导,直到安装结束

安装 Vagrant

1、双击 Vagrant 安装包,弹出安装向导

image-20201128202051067

2、同样建议更改安装位置,不要放到 C 盘

image-20201128202308034

3、按照安装向导,直到安装结束

4、vagrant:查看是否安装成功

image-20201128203141423

Linux 安装

linux版本这里选择常见的centos7,vagrant 官方提供的镜像由于网络环境下载可能比较慢,所以这里提供给大家两种安装方式,大家自取。

在线安装

1、选择一个文件夹,执行 vagrant init centos/7:初始化

这里我选择了 E :/centos 文件夹下,安装虚拟机

初始化后,在当前用户文件夹下会有一个 Vagrantfile 文件

image-20201128203838726

2、vagrant up:启动虚拟机

这里有两点需要注意:

1、执行 vagrant 命令启动虚拟机,必须在安装虚拟机时选择的文件夹下

2、vagrant up 命令在线安装时间根据网络情况而定,可能会很长

在虚拟机安装目录 cmd 窗口下执行 vagrant up 命令,等待命令执行完成,虚拟机及安装完毕。

没错,就是这么秀!两行命令虚拟机就安装好了,相比之前为了安装虚拟机各种设置,是不是舒服很多。

image-20201129094456938

3、登录虚拟机
打开Virtual Box发现虚拟机已启动

image-20201129094529423

在虚拟机安装文件夹,打开 cmd 窗口, 执行 vagrant ssh 命令,登录到虚拟机

注意:登录虚拟机时默认 vagrant 用户,可以通过 su root 命令,切换到 root 用户,root 用户密码默认也是 vagrant

image-20201129094650496

本地安装

前面介绍了在线安装的方式,虽然很简单奈何网速太慢,这里提供本地安装方式

1、下载镜像

将镜像下载到本地,这里提供国内镜像源 http://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/

2、添加镜像

执行 vagrant box add {title} {url}命令的方式添加本地的镜像

  • title: 镜像名称
  • url: 为镜像下载地址

3、初始化

执行 vagrant init {title} 命令,初始化虚拟机

4、安装虚拟机

执行 vagrant up 命令,安装虚拟机

网络配置:固定ip地址

Virtual Box 默认使用网络地址转换(NAT)端口转发的方式,ip地址不固定、每个端口都得配置端口转发规则,用起来不方便。

登录 virtual box 工具,打开安装的虚拟机设置页面,切换到网络设置菜单:

image-20201129094824125

可以将虚拟机设置为当前电脑同一网段地址,在当前网络环境下与当前电脑同等地址:

1、查看本机 ip 地址

打开本机 cmd 窗口,执行 ipconfig 命令 查看 ip 地址信息

可以看到本机在 VirtualBox Host-Only Network 网络适配器下,ip 地址为 192.168.56.1

C:UsersAdministrator>ipconfig

Windows IP 配置

以太网适配器 VirtualBox Host-Only Network:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::a00c:1ffa:a39a:c8c2%16
   IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

2、修改虚拟机网络 ip

打开虚拟机安装文件夹,在该文件夹下找到文件名为 Vagrantfile 的文件,用文本工具打开该文件,编辑 Vagrantfile 文件第 35 行,使其在同一网段,这里将虚拟机ip地址设置为 192.168.56.10

config.vm.network "private_network", ip: "192.168.56.10"

image-20201208223153578

3、验证修改是否成功

修改完成后,使用 vagrant reload 命令重启虚拟机,使用 vagrant ssh 命令登录虚拟机

  • 首先:执行 ip addr 命令,查询修改后虚拟机 ip 地址

image-20201208223631937

  • 然后:执行 ping www.baidu.com 查看网络是否正常

登录配置:远程 xshell 连接

使用 vagrant 安装的虚拟机,默认情况下没有开启密码登录功能,如果使用 xshell 等工具,对虚拟机进行密码登录,还需要进行以下配置

1、vagrant 登录成功后,切换到 root 用户

2、修改 /etc/ssh/sshd_config 文件

  • 修改 ssd_config 里 PermitRootLogin属性 改为yes ,并把前面的# 去掉
  • PasswordAuthentication 改为yes 并且去掉 #

3、保存退出,重启sshd服务

systemctl restart sshd

再通过xshell连接的时候,就可以用账号密码,root来登录了

参考文章

使用VirtualBox+Vagrant快速搭建Linux虚拟机环境

Xshell登录Vagrant方式

原文地址:https://www.cnblogs.com/dtdx/p/14106222.html