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伺服器吧
阿里雲:內網和公網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 模板機即可。
後期需要克隆虛擬機器直接用連結克隆即可