1. 程式人生 > 實用技巧 >CentOS-6.8模板機制作

CentOS-6.8模板機制作

一、虛擬機器環境準備

1.1 虛擬化NAT網路設定

使用DHCP自動獲取IP地址

1.2 建立虛擬機器

二、安裝CentOS-6.8-x86_64-bin-DVD1作業系統

用root登入,直接setup設定網絡卡,相關資訊,設定完了直接重啟即可。

ifup eth0先啟動第一個網絡卡,然後ifconfig獲取第一塊網絡卡IP地址

三、模板機優化

開機後使用命令ifup eth0獲取到IP地址後。用SecureCRT連線。

3.1SecureCRT設定

3.2 linux系統調優及安全設定

1、設定開機網絡卡自動啟動

[root@mobanji ~]# sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-eth0

2、關閉selinux

[root@mobanji ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@mobanji ~]# getenforce
Enforcing
[root@mobanji ~]# setenforce Permissive
[root@mobanji ~]# getenforce
Permissive
重啟後再次檢視                                                                                                                                                      
[root@mobanji ~]# getenforce
Disabled

3、關閉防火牆

[root@mobanji ~]# /etc/init.d/iptables stop  ##臨時關閉
[root@mobanji ~]# chkconfig iptables off  ##永久關閉開機啟動

4、調整字符集(可選)

支援中文顯示,防止中文出現亂碼(CRT外觀-字元編碼也要設定UTF-8)此處一般不要設定成中文的。linux一切都是英文的比較好,如果想看中文的再開啟即可。

[root@mobanji ~]# echo $LANG
en_US.UTF-8
[root@mobanji ~]# sed -i 's#en_US#zh_CN#g' /etc/sysconfig/i18n
[root@mobanji ~]# . /etc/sysconfig/i18n ##.或者source都可以
[root@mobanji ~]# echo $LANG
zh_CN.UTF-8

5、調整檔案描述符

調整方法1:修改/etc/security/limits.conf配置

[root@muban ~]# echo '*                -       nofile          65535'>>/etc/security/limits.conf
[root@muban ~]# tail -1 /etc/security/limits.conf
*                -       nofile          65535

登出SecureCRT,重新登入才能配置生效。

[root@muban ~]# ulimit -n
65535

6、提取oldboy普通賬戶可以sudo

useradd oldboy
cp /etc/sudoers{,.ori}
echo "oldboy ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c

7、修改Base源和Epel源為阿里雲源,並打補丁到最新。

7.1 Base源更改為阿里雲

CentOS
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 6
yum install wget
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o  /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
3、之後執行yum makecache生成快取

7.2 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 6)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

7.3 更新補丁(選做)

此處不建議更新系統(如果只想用centos 6.8就不要升級)

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum update -y #執行此命令升級後centos6.8就自動升級成了6.9了,再重啟如下圖所示:

8、安裝常用的軟體包

[root@mobanji ~]# yum install tree telnet dos2unix sysstat lrzsz nc nmap zip unzip -y

9、精簡開機自啟動服務(只保留5個服務)

[root@mobanji ~]# chkconfig --list|grep 3:on|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
[root@mobanji ~]# chkconfig --list|grep 3:on
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off

10、設定linux伺服器時間同步

備註:時間同步一律使用阿里雲的NTP時間同步伺服器,因為time.nist.gov時間同步伺服器ping不同,所以國內還是用阿里雲的NTP伺服器吧

詳情請看:https://help.aliyun.com/knowledge_detail/40583.html?spm=5176.11065259.1996646101.searchclickresult.1b585958RxfxOU

阿里雲:內網和公網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

11、歷史記錄數及登入超時環境變數設定(測試環境建議不設定)

echo 'export TMOUT=300'>>/etc/profile #連線的超時時間控制時間為300秒
echo 'export HISTSIZE=5'>>/etc/profile #命令列的歷史記錄數為5
echo 'export HISTFILESIZE=5'>>/etc/profile #歷史記錄檔案的命令數量
tail -3 /etc/profile

12、核心優化

本優化適合apache,nginx,squid等多種web應用,特殊的業務有可能需要略做調整

將下面的核心引數值加入vim /etc/sysctl.conf最後一行檔案中

cat >>/etc/sysctl.conf<<EOF
######### new add ###########
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000  65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下引數是對iptables防火牆的優化,防火牆不開會提示,可以忽略不理
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =120
EOF

然後執行如下命令sysctl-p使之生效

[root@mobanji ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000  65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

13、配置雙網絡卡固定ip(選做)

設定完後如下配置後重啟linux系統

如果環境屬於移動辦公建議,從DNS設定成阿里雲公共dns地址

移動辦公:主從dns都根據http://www.alidns.com/setup/#linux設定成

nameserver 223.5.5.5    主dns
nameserver 223.6.6.6    從dns   即可

設定完成後重啟,然後直接用SecureCRT連線即可

14、優化網絡卡

目的:通過模板機克隆不會報錯

eth0網絡卡:刪除mac地址和uuid,根據實際情況配置IP,子網掩碼,閘道器,DNS等資訊。

[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0c:29:59:47:0f
TYPE=Ethernet
UUID=ee7d8a04-694b-4595-9e37-b759535e7c99
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.100
NETMASK=255.255.255.0
DNS2=202.96.128.86
GATEWAY=10.0.0.2
DNS1=10.0.0.2
USERCTL=no
PEERDNS=yes
IPV6INIT=no
[root@oldboy ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
刪除如下兩行即可(MAC地址和UUID)
HWADDR=00:0c:29:59:47:0f
UUID=ee7d8a04-694b-4595-9e37-b759535e7c99

eth1網絡卡:刪除mac地址和uuid

[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=00:0c:29:59:47:19
TYPE=Ethernet
UUID=e082a412-3fee-42e6-96e5-ac05b4d38d5f
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.16.1.100
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=yes
IPV6INIT=no
[root@oldboy ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
刪除如下兩行即可(MAC地址和UUID)
HWADDR=00:0c:29:59:47:19
UUID=e082a412-3fee-42e6-96e5-ac05b4d38d5f

清空70-persistent-net.rules

[root@oldboy ~]# >/etc/udev/rules.d/70-persistent-net.rules
[root@oldboy ~]# echo ">/etc/udev/rules.d/70-persistent-net.rules" >>/etc/rc.local
[root@oldboy ~]# cat /etc/rc.local 
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
>/etc/udev/rules.d/70-persistent-net.rules

配置完成後重啟網絡卡,然後重新用SecureCRT用配置的IP登入即可。

/etc/init.d/network restart

如果出現如下報錯,那麼克隆模板機後的IP地址不能設定為10.68.8.61(雖然配置前ping 10.68.8.61不通)

換個IP即可

設定完後,關機。然後把這個模板機,做個快照,快照名為模板機CentOS 6.8 模板機即可。

後期需要克隆虛擬機器直接用連結克隆即可