一、准备环境

1.1 在VMware Workstation 12 Pro上新建虚拟机

CentOS-7.2、7.5模板机制作_第1张图片

CentOS-7.2、7.5模板机制作_第2张图片

CentOS-7.2、7.5模板机制作_第3张图片

CentOS-7.2、7.5模板机制作_第4张图片

CentOS-7.2、7.5模板机制作_第5张图片

CentOS-7.2、7.5模板机制作_第6张图片

CentOS-7.2、7.5模板机制作_第7张图片

CentOS-7.2、7.5模板机制作_第8张图片

CentOS-7.2、7.5模板机制作_第9张图片

CentOS-7.2、7.5模板机制作_第10张图片

CentOS-7.2、7.5模板机制作_第11张图片

CentOS-7.2、7.5模板机制作_第12张图片

磁盘大小,如果是个人测试环境50G够用了,如果是公司测试环境建议100G

CentOS-7.2、7.5模板机制作_第13张图片

CentOS-7.2、7.5模板机制作_第14张图片

CentOS-7.2、7.5模板机制作_第15张图片



1.2 虚拟机网络设置


CentOS-7.2、7.5模板机制作_第16张图片

CentOS-7.2、7.5模板机制作_第17张图片

CentOS-7.2、7.5模板机制作_第18张图片


如果需要再添加一个内网网卡,操作过程

CentOS-7.2、7.5模板机制作_第19张图片



CentOS-7.2、7.5模板机制作_第20张图片

CentOS-7.2、7.5模板机制作_第21张图片

CentOS-7.2、7.5模板机制作_第22张图片

CentOS-7.2、7.5模板机制作_第23张图片


二、安装CentOS 7

2.1 下载CentOS 7

https://mirrors.aliyun.com/centos/7.3.1611/isos/x86_64/


CentOS-7.2、7.5模板机制作_第24张图片 

2.2 安装CentOS 7

CentOS-7.2、7.5模板机制作_第25张图片

开机启动虚拟机

CentOS-7.2、7.5模板机制作_第26张图片

如果想让网卡和centos6名称一样ifcfg-eth0,那么通过如下方法修改,如果不想和centos6一样,采用

centos7默认网卡命名方式,就不需要按tab键了,直接回车。建议和centos6一样,方便后面管理网络。

当然安装完成后照样也可以修改和centos6一样的命名方式的。如下采用和centos6一样的网卡命名方式操作:

CentOS-7.2、7.5模板机制作_第27张图片

在下一行输入 net.ifnames=0 biosdevname=0 然后回车(目的centos 7网卡命名为eth0)

CentOS-7.2、7.5模板机制作_第28张图片

CentOS-7.2、7.5模板机制作_第29张图片

CentOS-7.2、7.5模板机制作_第30张图片

CentOS-7.2、7.5模板机制作_第31张图片


CentOS-7.2、7.5模板机制作_第32张图片

CentOS-7.2、7.5模板机制作_第33张图片

CentOS-7.2、7.5模板机制作_第34张图片

CentOS-7.2、7.5模板机制作_第35张图片

200MB

CentOS-7.2、7.5模板机制作_第36张图片

CentOS-7.2、7.5模板机制作_第37张图片

CentOS-7.2、7.5模板机制作_第38张图片

CentOS-7.2、7.5模板机制作_第39张图片

CentOS-7.2、7.5模板机制作_第40张图片

CentOS-7.2、7.5模板机制作_第41张图片

CentOS-7.2、7.5模板机制作_第42张图片

CentOS-7.2、7.5模板机制作_第43张图片

CentOS-7.2、7.5模板机制作_第44张图片



CentOS-7.2、7.5模板机制作_第45张图片


三、优化CentOS 7系统

3.1 优化网卡ifcfg-eth0(在虚拟机内部操作)

CentOS 7.2网卡默认为ifcfg-eno,CentOS 7.5网卡默认为ifcfg-ens160,CentOS 7.6网卡默认为ifcfg-ens33

CentOS 7.2网卡为默认为eno:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=dhcp    #修改为static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes            #修改为no
IPV6_AUTOCONF=yes        #此项删除
IPV6_DEFROUTE=yes        #此项删除
IPV6_PEERDNS=yes        #此项删除
IPV6_PEERROUTES=yes    #此项删除
IPV6_FAILURE_FATAL=no    #此项删除
NAME=eno16777736
UUID=a60ac1a5-59e2-460e-8e62-07c1b65a1186    #如果作为模板机建议删除此项,虽然克隆后不影响
DEVICE=eno16777736
ONBOOT=no            #修改为yes
#以下部分是新增的
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
#如下是选做的,也可以后期通过/etc/resolv.conf配置DNS
#如果想配置DNS访问外网可以在此处配置DNS,此处配置后不需要再通过修改/etc/resolv.conf方式配置DNS了,此处新增DNS1或DNS2,DNS可以是内网也可以是外网DNS,如果不需要配置DNS,此处可以不配置
DNS1=8.8.8.8
#如果1个DNS不够,可以再增加一个DNS2
DNS2=114.114.114.114

最后修改完后如下所示:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=eno16777736
UUID=a60ac1a5-59e2-460e-8e62-07c1b65a1186
DEVICE=eno16777736
ONBOOT=yes
#以下部分是新增的
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=8.8.8.8
DNS2=114.114.114.114

修改完成后重启网卡生效

[root@localhost ~]# systemctl restart network    #重启所有网卡

CentOS 7.2网卡为eth0和上面方法一样的,只是配置文件中所有的eno16777736修改为eth0而已

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp    #修改为static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes            #修改为no
IPV6_AUTOCONF=yes        #此项删除
IPV6_DEFROUTE=yes        #此项删除
IPV6_PEERDNS=yes        #此项删除
IPV6_PEERROUTES=yes    #此项删除
IPV6_FAILURE_FATAL=no    #此项删除
NAME=eth0
UUID=a60ac1a5-59e2-460e-8e62-07c1b65a1186    #如果作为模板机建议删除此项,虽然克隆后不影响
DEVICE=eth0
ONBOOT=no            #修改为yes
#以下部分是新增的
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
#如下是选做的,也可以后期通过/etc/resolv.conf配置DNS
#如果想配置DNS访问外网可以在此处配置DNS,此处配置后不需要再通过修改/etc/resolv.conf方式配置DNS了,此处新增DNS1或DNS2,DNS可以是内网也可以是外网DNS,如果不需要配置DNS,此处可以不配置
DNS1=8.8.8.8
#如果1个DNS不够,可以再增加一个DNS2
DNS2=114.114.114.114
[root@localhost ~]# systemctl restart network    #重启所有网卡

测试环境单网卡CentOS 7.5网卡为默认为ens

[root@mobanji network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp            #修改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes            #修改为no
IPV6_AUTOCONF=yes        #此项删除
IPV6_DEFROUTE=yes        #此项删除
IPV6_FAILURE_FATAL=no    #此项删除
IPV6_ADDR_GEN_MODE=stable-privacy    #此项删除
NAME=ens160
UUID=a60ac1a5-59e2-460e-8e62-07c1b65a1186    #如果是作为模板机建议删除此项,虽然克隆后不影响
DEVICE=ens160
ONBOOT=no#修改为yes
#以下部分是新增的
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
#如下是选做的,也可以后期通过/etc/resolv.conf配置DNS
#如果想配置DNS访问外网可以在此处配置DNS,此处配置后不需要再通过修改/etc/resolv.conf方式配置DNS了,此处新增DNS1或DNS2,DNS可以是内网也可以是外网DNS,如果不需要配置DNS,此处可以不配置
DNS1=8.8.8.8
#如果1个DNS不够,可以再增加一个DNS2
DNS2=114.114.114.114
[root@localhost ~]# systemctl restart network    #重启所有网卡

最后修改后如下所示:

[root@mobanji ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.68.8.100
NETMASK=255.255.255.0
GATEWAY=10.68.8.1
DNS1=10.68.8.38
DNS2=10.68.8.48

备注:

网卡中配置了DNS1、DNS2那么重启网卡systemctl restart network的时候会自动在/etc/resolv.conf中自动生成DNS地址。

如下所示:

[root@mobanji ~]# cat /etc/resolv.conf
nameserver 10.68.8.38
nameserver 10.68.8.48

所以CentOS中如果网卡中配置了DNS那么不需要重复在/etc/resolv.conf中再重复指定DNS了。如果不想在网卡中配置DNS那么可以直接在/etc/resolv.conf文件中配置DNS。


CentOS 7.6:

举例2:个人实验环境,双网卡,ens33对外,ens34对内

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS2=223.6.6.6
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=172.16.1.100
NETMASK=255.255.255.0

最后在虚拟机外部用CRT远程连接虚拟机

CentOS-7.2、7.5模板机制作_第46张图片

CentOS-7.2、7.5模板机制作_第47张图片

3.2 关闭selinux

[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce Permissive
[root@localhost ~]# getenforce           
Permissive
[root@localhost ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@localhost ~]# reboot
[root@localhost ~]# getenforce
Disabled

备注:

也可以通过/etc/sysconfig/selinux关闭selinux

[root@mobanji ~]# ll /etc/sysconfig/selinux
lrwxrwxrwx. 1 root root 17 Feb  1 10:57 /etc/sysconfig/selinux -> ../selinux/config

3.3关闭NetworkManager和防火墙开机自启动

[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable NetworkManager

3.3修改主机名-设置模板机主机名mobanji,此步骤可以不配置

[root@localhost ~]# hostname mobanji
[root@localhost ~]# vi /etc/hostname  
localhost.localdomain	修改为mobanji
ctrl+D注销后,再登录后,主机名已修改为mobanji

3.4设置DNS解析-内网DNS

[root@mobanji ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.68.8.100
NETMASK=255.255.255.0
GATEWAY=10.68.8.1
DNS1=10.68.8.38
DNS2=10.68.8.48

备注:

网卡中配置了DNS1、DNS2那么重启网卡systemctl restart network的时候会自动在/etc/resolv.conf中自动生成DNS地址。

如下所示:

[root@mobanji ~]# cat /etc/resolv.conf
nameserver 10.68.8.38
nameserver 10.68.8.48

所以CentOS中如果网卡中配置了DNS那么不需要重复在/etc/resolv.conf中再重复指定DNS了。如果不想在网卡中配置DNS那么可以直接在/etc/resolv.conf文件中配置DNS。


手动修改DNS配置如下所示:

[root@localhost ~]# vi /etc/resolv.conf 
nameserver 10.0.0.2
如果想设置外网dns可以设置为
nameserver 114.114.114.114
nameserver 8.8.8.8

3.5 安装常用的软件包

yum install -y vim net-tools wget lrzsz tree screen lsof tcpdump nc \
mtr nmap telnet dos2unix sysstat nc nmap zip unzip ntpdate

前3个是必须要安装的

ifconfig在net-tools包里面

安装完系统一定不要运行yum updata,否则系统版本会升级。


3.6 更改CentOS-Base、EPEL源为阿里源

    默认情况下centos7内置的CentOS-Base、EPEL都是国外的,国外源慢,网络不稳定等因素,所以需要更改为国内的源,例如阿里云源。base是内置的源,epel是第三方源。

根据:https://mirrors.aliyun.com/提示操作即可,现在阿里云镜像网站已修改为https://opsx.alibaba.com/mirror

1.更改CentOS-Base为阿里云源

CentOS 7
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存

CentOS-7.2、7.5模板机制作_第48张图片

CentOS-7.2、7.5模板机制作_第49张图片


2.更改EPEL源为阿里源

https://opsx.alibaba.com/mirror

方法1:推荐

epel
##epel 配置方法
###1、备份(如有配置其他epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
2、下载新repo 到/etc/yum.repos.d/
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

CentOS-7.2、7.5模板机制作_第50张图片

CentOS-7.2、7.5模板机制作_第51张图片

方法2:

找到centos7的EPEL仓库源rpm包,直接安装。操作如下:

CentOS-7.2、7.5模板机制作_第52张图片

CentOS-7.2、7.5模板机制作_第53张图片

#直接执行安装
rpm -ivh


3.7 设置linux服务器时间同步

备注:时间同步一律使用阿里云的NTP时间同步服务器,因为time.nist.gov时间同步服务器ping不同,所以国内还是用阿里云的NTP服务器吧

详情请看:https://help.aliyun.com/knowledge_detail

阿里云:内网和公网NTP服务器和其他互联网基础服务

https://help.aliyun.com/knowledge_detail/40583.html?spm=5176.11065259.1996646101.searchclickresult.2bc34270br1kx1

阿里云公网NTP服务器地址:

ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com

操作如下:

[root@mobanji ~]# /usr/sbin/ntpdate ntp1.aliyun.com
 4 Oct 12:23:24 ntpdate[24685]: no server suitable for synchronization found
[root@mobanji ~]# echo '#time sync by oldboy at 2018-12-3 16:22:31'>>/var/spool/cron/root
[root@mobanji ~]# echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1'>>/var/spool/cron/root
[root@mobanji ~]# crontab -l
#time sync by oldboy at 2017-10-04
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1


3.8 更新系统并重启(选做)。提示:此步骤慎重操作,因为会把centos 7.2升级为最新的版本。

所以建议有需求再更新,没有需求不要更新。

[root@localhost ~]# yum update -y && reboot

3.9 克隆虚拟机

centos 7关机方法
1、init 0
2、shutdown -h now
备注:halt(centos7无效,centos6有效)

    请关闭虚拟机,并克隆当前虚拟机mobanji到linux-node1、linux-node2,建议选择“创建链接克隆”,而不是选择”创建完整克隆”。

克隆完毕后请给linux-node2设置正确的IP地址和主机名。

四、备注

4.1 备注1

    如果是做openstack等二次虚拟化实验测试,虚拟机需要cpu需要开启虚拟化。如下所示:

CentOS-7.2、7.5模板机制作_第54张图片