3 虚拟机安装
3.1 CentOS的安装
启动刚刚创建并配置好网卡的虚拟机,会出现CentOS镜像启动的提示,回车进入安装界面,等待一会来到如下界面,先进入Date&Time
建议选择English,时区选择上海(一般建议使用中国时区,安装好后也可以更改,可以用data -R命令查询)
安装路径,即Installtion destination上会有个黄色叹号提醒你配置,直接进去点击done ,走默认路径即可
这个时候我们会发现,两台虚拟机的NAT网卡(enp0s3)IPV4地址是一样的,为了使他们可以正常通信,我们必须避免这个冲突,因此可以手动将其中一台虚拟机的enp0s3网卡配置更改掉:点击enp0s3-配置-IPV4-从DHCP改成manual-选择add-添加地址
注意:要与另外一台机器在同一网段,如本例master为10.0.2.15,于是手动设置compute为10.0.2.16,其他(mask、gateway、dns)要两者保持一致
ps:读者可以看到实际上这里就使用了我们在 2.1 里说到的,私网的A类地址
这些完成之后就可以开始安装了,安装过程中可以设置root用户的密码,管理员不用设置,我们这里设置成1212
3.2 虚拟机的配网
安装完成后点击reboot系统会重启,使用用户名:root,以及刚刚设置的密码登录,注意密码输入时不会显示出来,输完了直接按回车即可
最后我们只需要配置host-only的enp0s8网卡即可实现内外网的通信,使用vi文本编辑器在两台机器上都执行以下指令来更改网卡配置:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
修改成以下配置(可以不用写注释),保证两台机器的ipaddr不一样即可
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #这里要更改,原为DHCP,改成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
NAME=enp0s8
UUID=4cd8831a-6c63-44f6-8d45-720eff9b9e61
DEVICE=enp0s8
ONBOOT=yes #这里要更改,原为no,改为yes意为启动时自动生效
#以下四行是添加一开始创建的Ethernet Adapter信息,IPADDR的最后一个可以随意设置,这里为138
IPADDR=192.168.206.138
PREFIX=24
GATEWAY=192.168.206.1
DNS1=192.168.206.1
需要注意的是,IPADDR、GATEWAY、DNS1三者要与第一步创建的Ethernet Adapter保持在同一网段,且两台机器的IPADDR不能相同,本例设置为master=192.168.206.138,compute=192.168.206.139
更改完成后,使用service network restart命令来重启网络设置,接着检查网络是否配置成功:
#重启网络服务,使刚刚的配置生效
service network restart
#检测虚拟机与外网的通信
ping 随便一个网址地址,如百度
#用cmd的ipconfig命令查一下自己主机的ip,检测虚拟机是否可以与主机通信(最好再用主机ping一下虚拟机)
ping localhostip
#两台虚拟机互相ping
ping 另一台虚机的ip
如果全部ping通了,即代表网络配置成功
4 Xshell连接虚拟机
前面说道,我们一般都使用shell来连接虚拟机,不仅是本地的也包括远端的。这是因为,不仅仅是因为shell的使用比虚拟机自带的界面更加便利,而且功能也更加强大。
举个简单的例子,如果我需要在某虚拟机上调试某个功能,在shell上访问虚拟机就可以开两个终端,一个用来执行功能、另一个用来查看日志,调试起来非常方便;另一个实用的例子就是shell一般都自带文件传输功能(Xshell为xftp),主机和虚拟机之间的通信非常方便
如何配置Xshell来连接我们的虚拟机呢?首先保证虚拟机正常开启(不用登录),然后进入 文件-新建,更改名称为虚拟机名称(如master/compute,可以随便取),主机为虚拟机地址(192.168.206.138或者192.168.206.139),确定并连接(输入用户名root与密码1212) ,连接成功,非常简单:
到这里虚拟机配置方法基本介绍完了,要知道一个便利且顺畅的虚拟机环境配置,是每一个需要使用linux做开发的工程师的第一步,接下来我会继续更新有关linux的学习心得,比如配网过程中用到的bash命令