1 安装virtualBox
国内镜像源下载
virtualbox | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
Index of /virtualbox/6.1.18/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
2 使用vagrant初始化centOS7
vagrant下载
百度云链接:https://pan.baidu.com/s/1UJckRjWff0w6tdSz-iJF1g
提取码:n7ft
2-1 安装vagrant
安装vagrant完成后,需要重启电脑
2-2 检验是否安装成功vagrant
cmd打开输入vagrant,回车
2-3 添加centos7镜像
-
离线安装vagrant-centos-7.box
链接:https://pan.baidu.com/s/1JuIUo4HL0lm1EtUKaoMpaA
提取码:w9a8
选择一个初始化的目录,D:\software\centos7\centos701
cmd切换到此目录,初始化镜像
vagrant init centos701
把离线centos7.box添加到vagrant box中,命令如下
vagrant box add centos701 D:\software\centos7\centos701\centos701.box
2-4 使用vagrant测试centos7镜像是否安装成功
输入下列命令,启动vagrant
vagrant up
启动之后,就会发现virtualBox已经有一个已经运行的centos7镜像
在cmd下输入下列命令,连接虚拟机
vagrant ssh
登录成功,输入whoami
命令显示当前登录账户为vagrant,这是vagrant默认创建的账户
3 使用XShell连接linux
a 在cmd下切换到root账户
切换用户 su root
密码 vagrant
【注意】Xshell连接vagrant创建的linux,必须先连接vagrant账户,连接上后再进行切换,切换到root账户
b 在cmd中,进入linux后修改/etc/ssh/sshd_conf
vi sshd_config,insert模式,esc退出insert模式,按:切换至命令模式,输入wq!退出
把PasswordAuthentication no改为PasswordAuthentication yes
如果不行,就在/etc/ssh/sshd.config中改
c 查看本机virtualbox ip
d 查看虚拟机ip
e 修改Vagrantfile文件,指定固定ip
config.vm.network "private_network", ip: "192.168.196.111"
f 重启vagrant
vagrant reload
g 重启linux,查看ip
h 本机ping虚机
i Xshell连接linux
用户名 root
密码 vagrant
ip 192.168.0.10
端口 22
测试,连接成功
virtualbox配置centos7网络
virtualbox设置两个网卡NAT网络和Host-only网络
- NAT网络:
虚拟机访问互联网,使用10.0.2.x段
【注意】
如果NAT下界面名称不可选,用让如下方式解决
管理 -> 全局设定 -> 网络 -> 新增
然后再观察,界面名称就有了。
- Host-only网络
虚拟机和主机互相通信,使用和主机本机IP同频段192.168.0.X段【此时得看本机虚机的地址】
具体设置去修改Vagrantfile文件,指定固定ip【上文已经讲过】
登录linux看下ip addr
本地 ping 虚机
虚机 ping 本地
虚机 ping 外网
4 依次创建centos702、centos703
D:\software\centos7\centos702
D:\software\centos7\centos703
创建出来的效果如下
为以后集群模式做基础
【注意】
Vagrant默认转发宿主的2222端口到虚拟机的22端口(默认设置,无须配置)。在有多个虚拟机并存的情况下,2222端口将不好使,启动第二个虚拟机的时候,会报端口占用错误。
在每个Vagrantfile文件中配置port为3000、3001、3002
#先禁用默认的ssh转发,再添加自定义转发
config.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: "true"
config.vm.network "forwarded_port", guest: 22, host: 3002
再依次启动三个虚机,发现启动正常