<返回更多

VirtualBox搭建centos服务器指南

2020-08-27    
加入收藏

版权声明

本文由“开发者手册”原创,如需转载,请标明出处。

基本介绍

作为一个软件开发者,总想自己搭个服务器、组个集群、整整Docker、玩玩k8s,什么?系统搞挂了.... 怎么能快速重来?

一般我们会有一台工作笔记本(宿主机),可以通过VirtualBox安装多台centos系统来搭建本地开发环境。网络要实现宿主机与虚拟机之间的互通、虚拟机与虚拟机之间的互通、虚拟机可以访问外部网络和同一局域网内的其他主机、同一局域网中的其他主机不能访问虚拟机。

系统环境

宿主机环境:macBook Pro 2015,macOS Catalina 10.15.6

VirtualBox:6.1

centos镜像版本:CentOS-7-x86_64-Minimal-1804.iso

说明:安装包在我共享的网盘里,如果需要可以+关注私信我

VirtualBox安装和基本设置

VirtualBox安装好后的主页面如下图所示

「干货」VirtualBox搭建centos服务器指南

 

VirtualBox四种常见网络配置方案


Network Address Translation(NAT,网络地址转换模式):在NAT模式下虚拟机访问网络是通过主机提供的,虚拟机本身并不存在于网络中,虚拟机通过DHCP获得的虚拟ip通常为(10.0.2.X)。

Bridged Adapter(桥接模式):在桥接模式下,虚拟机和主机的网卡之间就像架设了一座桥,使虚拟机可以直接接入到网络中。虚拟机能被分配到一个真实IP,所有的网络功能和真机一样。

Internal(内部网络模式):在内部网络模式下,虚拟机与外网完全断开,只能实现虚拟机和虚拟机之间的网络互相访问。

Host-Only Adapter(主机模式):在主机模式下,VirtualBox会在宿主机上模拟出一张虚拟网卡(vboxnet:192.168.56.1)专门用于提供虚拟机使用。所有的虚拟机都会连接到该网卡上,虚拟机通过DHCP获得的虚拟ip通常为(192.168.56.X)。

「干货」VirtualBox搭建centos服务器指南

 

配置本地VirtualBox网络环境


我们会采用NAT+Host-Only配置方式来实现需求。NAT模式是用于满足虚拟机外网的访问,Host-Only模式是设置固定IP使虚拟机和宿主机可以互相访问。

创建NAT网络环境

1、点击全局设定

「干货」VirtualBox搭建centos服务器指南

 

2、选择网络->点击添加->启动网络,参数保持默认即可

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

创建Host-Only网络环境

1、选择网络菜单

「干货」VirtualBox搭建centos服务器指南

 

2、点击创建按钮,会生成一个vboxnet0的网络配置,网段为:192.168.56.X,DHCP服务器可以启用也可以关闭,我这边选择关闭,因为后续会配置为固定IP。

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

安装centos操作系统

安装步骤


1、点击新建按钮

「干货」VirtualBox搭建centos服务器指南

 

2、输入基本信息后点击创建按钮

「干货」VirtualBox搭建centos服务器指南

 

3、设置磁盘大小后点击创建按钮

「干货」VirtualBox搭建centos服务器指南

 

4、点击设置->网络来设置网卡信息

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

5、点击启动按钮

「干货」VirtualBox搭建centos服务器指南

 

6、出现选择操作系统镜像页面,点击选择按钮

「干货」VirtualBox搭建centos服务器指南

 

再点击Add按钮,在弹出框中选择本地镜像文件,最后点击choose按钮

「干货」VirtualBox搭建centos服务器指南

 

再点击start按钮

「干货」VirtualBox搭建centos服务器指南

 

7、此时会显示安装页面

「干货」VirtualBox搭建centos服务器指南

 

8、选择安装语言

「干货」VirtualBox搭建centos服务器指南

 

9、设置时区

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

10、选择安装路径

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

11、点击Begin Installation开始安装

「干货」VirtualBox搭建centos服务器指南

 

12、设置root密码

「干货」VirtualBox搭建centos服务器指南

 


「干货」VirtualBox搭建centos服务器指南

 

13、点击Reboot按钮重启

「干货」VirtualBox搭建centos服务器指南

 

14、重启后使用root用户登录系统

「干货」VirtualBox搭建centos服务器指南

 

centos基本配置


配置网卡

输入ip addr命令查看网络信息,发现有enp0s3和enp0s8两个网卡。

「干货」VirtualBox搭建centos服务器指南

 

enp0s3为NAT模式对应的网卡,不配置固定IP。

enp0s8为Host-Only模式对应的网卡,配置为固定IP。

设置enp0s3网卡

命令:vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

修改:ONBOOT=yes

「干货」VirtualBox搭建centos服务器指南

 

保存退出后。

输入命令:systemctl restart network重启网络服务。

此时再通过命令:ip addr查看网络配置,发现enp0s3这张网卡被分配到ip(10.0.2.9)了:

「干货」VirtualBox搭建centos服务器指南

 

此时外网访问应该也通了,ping www.baidu.com后结果如下:

「干货」VirtualBox搭建centos服务器指南

 

设置enp0s8网卡:

命令:vi /etc/sysconfig/network-scrirpts/ifcfg-enp0s8

修改如下:

「干货」VirtualBox搭建centos服务器指南

 

我这边把固定IP设置为:192.168.56.56

通过命令:systemctl restart network重启网络服务。

此时通过命令:ip addr查看,发现enp0s8网卡的固定IP也生效了。

「干货」VirtualBox搭建centos服务器指南

 

在宿主机通过ping 192.168.56.56命令发现宿主机可以访问虚拟机了。

「干货」VirtualBox搭建centos服务器指南

 

该虚拟机通过ping 192.168.56.1发现虚拟机也可以访问宿主机。

「干货」VirtualBox搭建centos服务器指南

 

配置主机名

命令:hostnamectl --static set-hostname demo56

说明:设置主机名为demo56。

关闭防火墙

命令:systemctl stop firewalld && systemctl disable firewalld

输出:

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

关闭SElinux

命令:setenforce 0

命令:vi /etc/selinux/config

修改:SELINUX=disabled

关闭swap和取消swap挂载

命令:swapoff -a && sysctl -w vm.swAppiness=0

结果:vm.swappiness = 0

命令:vi /etc/fstab

修改(加#号注释):#/dev/mapper/centos-swap swap swap defaults 0 0

设置localadmin用户


由于一般不直接用root用户来做操作,所以我们通过创建localadmin用户替代root用户。

以下操作在root用户下执行

创建用户组

命令:groupadd localadmin

创建用户

命令:useradd localadmin -m -s /bin/bash -d /home/localadmin -g localadmin

参数说明:

  • -m:创建用户目录
  • -s:指定登录shell
  • -d:设置主目录
  • -g:设置用户所属组

设置登录密码

命令:passwd localadmin

设置sudo权限

命令:visudo -f /etc/sudoers

新增:

localadmin ALL=(ALL) NOPASSWD: ALL

说明:

NOPASSWD: ALL 表示执行所有操作都无需验证密码

安装基础软件


在localadmin用户下执行

在线安装:

  • 上传下载工具:sudo yum -y install lrzsz
  • 压缩/解压缩:sudo yum -y install zip unzip
  • wget下载工具:sudo yum -y install wget
  • lsof工具:sudo yum -y install lsof
  • curl工具:sudo yum -y install curl
  • net-tools工具:sudo yum -y install net-tools
  • vim工具:sudo yum -y install vim
  • nscd工具:sudo yum -y install nscd

安装docker(17.03.0-ce,安装包在我的共享网盘里有提供):

命令:sudo yum -y install docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm

命令:sudo yum -y install docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm

设置docker开机启动:sudo systemctl enable docker

启动docker:sudo systemctl start docker

查看docker是否启动成功:docker -v

制作centos备份系统

通过前面的步骤,我们已经安装好了centos系统,并做了基本的配置和安装了基础软件,服务器基本可以投入使用了。但是为了不重复造轮子,我们可以通过VirtualBox把当前这个状态的系统备份下来作为基础系统,后续的虚拟机都从这个系统获取。

先关闭当前centos系统。

1、选择备份系统菜单

「干货」VirtualBox搭建centos服务器指南

 

2、点击生成按钮

「干货」VirtualBox搭建centos服务器指南

 

3、输入备份名称和备份描述后点击OK按钮

「干货」VirtualBox搭建centos服务器指南

 

4、创建成功

「干货」VirtualBox搭建centos服务器指南

 

根据备份系统创建新虚拟机

注意:做此操作时,最好保持被复制的系统处于关闭状态,以防止出现ip冲突等问题。

现在我们要基于前面备份的基础系统来创建真正投入使用的系统

1、在要被备份的虚拟机上点击复制按钮

「干货」VirtualBox搭建centos服务器指南

 

2、填写新虚拟机的名称和存放路径

「干货」VirtualBox搭建centos服务器指南

 

3、选择副本类型

「干货」VirtualBox搭建centos服务器指南

 

4、选择备份类型

「干货」VirtualBox搭建centos服务器指南

 

5、点击复制后,发现server111这台虚拟机创建成功

「干货」VirtualBox搭建centos服务器指南

 

对新虚拟机做的配置


设置新的固定IP

我这里将IP设置为:192.168.56.111

启动server111这台虚拟机,使用root账户登录,然后执行如下命令设置IP

命令:vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

修改:

IPADDR=192.168.56.111

再执行命令:systemctl restart network 重启网络服务。

此时会发现enp0s8的ip变为了192.168.56.111

设置主机名

我这里设置为server111

命令:hostnamectl --static set-hostname server111

常见问题及解决方法

无法正确解析域名


问题起因:这个问题是由于虚拟机的DNS服务器IP地址设置不正确引起的。一般情况下,虚拟机使用的是和宿主机一样的DNS设置。如果是在公司创建的虚拟机,创建好后能上网,但是拿到家里就上不了了,这是由于DNS服务地址还没有刷新过来,导致在家上不了网。

解决办法:可以通过重启虚拟机或者手动刷新DNS缓存来解决,刷新DNS缓存命令如下:sudo systemctl restart nscd

参考资料

VirtualBox官方地址:https://www.virtualbox.org

结束语

希望我的文章能给您带来帮助,如果您有什么疑问,可以给我留言,我会在第一时间给您提供解答。如果您有好的建议或想法,也欢迎给我留言。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>