系统优化和克隆过程
要克隆一台或者几台虚拟机,需要先进行系统的优化,下面就是系统的优化步骤
1.1在虚拟机中,打开虚拟机设置
1.2添加一块网卡,即一共两块网卡,选择网络适配器,单击添加
1.3来到添加硬件向导,选择网络适配器,单击下一步
1.4这里不做设置,保持默认即可,单击完成
还是在虚拟机设置界面,选择网络适配器2,—LAN区段—LAN区段
选择添加,设置LAN区段172.16.1.0/24
选择LAN区段,将区段添加上,然后确定即可
然后点击编辑—虚拟网络编辑器,点击NAT设置
在NAT设置里面只修改网关地址,其它默认即可,点击确定
取消本地DHCP服务,设置子网IP和子网掩码完成单击确定即可
接下来启动虚拟机,输入用户名密码,之后输入命令setup,进入第一块网卡eth0设置,将所有信息设置为如下即可,确认即可
新添加一块网卡eth1,设置信息如下,确认即可
上面的步骤完成之后,在命令行输入/etc/init.d/network restart重启网卡,接下来就进入系统的优化阶段,首先将虚拟机连入到xshell中。
命令行的优化
2.1更改yum源(默认从国外下载软件)
mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup &&\
wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
-O 指定将下载的信息保存当哪个路径中
epel 表示扩展的yum源
2.2关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce
2.3关闭iptables
/etc/init.d/iptables stop
/etc/init.d/iptables stop
chkconfig iptables off
2.4精简开机自启动服务
chkconfig|egrep -v"crond|sshd|network|rsyslog|sysstat"|awk '{print"chkconfig",$1,"off"}'|bash
export
chkconfig --list|grep 3:on
2.5提权oldboy可以sudo(可选优化)
useradd oldboy
echo 123456|passwd --stdin oldboy
\cp /etc/sudoers /etc/sudoers.ori
echo "oldboy ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /etc/sudoers
visudo -c
2.6中文字符集(不用做)
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG
2.7时间同步
echo '#time sync by oldboy at 2010-2-1'>>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov>/dev/null 2>&1' >>/var/spool/cron/root
crontab -l
2.8命令行安全(千万别做)
#echo 'export TMOUT=300' >>/etc/profile
#echo 'export HISTSIZE=5' >>/etc/profile
#echo 'export HISTFILESIZE=5' >>/etc/profile
#tail -3 /etc/profile
#. /etc/profile
2.9加大文件描述
echo '* - nofile 65535 '>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
2.10内核优化
cat >>/etc/sysctl.conf< 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 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.wmem_max = 16777216 net.core.rmem_max = 16777216 EOF sysctl -p查看内核信息 2.11下载安装系统基础软件 yum install lrzsz nmap tree dos2unix nc -y 2.12系统升级操作(暂时不用操作升级) #yum update或yum upgrade #yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级 #yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变 模板机优化脚本处理技巧:方便后续克隆改IP和主机名等 修改主机名和IP脚本 =================================================== [root@backup ~]# cat /server/scripts/m.sh #!/bin/sh if [ $# -ne 2 ];then echo "/bin/sh $0 hostname PartIP" exit 1 fi sed -i "s#oldboy#$1#g" /etc/sysconfig/network hostname $1 sed -i "s#100#$2#g"/etc/sysconfig/network-scripts/ifcfg-eth0 sed -i "s#100#$2#g"/etc/sysconfig/network-scripts/ifcfg-eth1 调整克隆后网站正常配置 [root@backup ~]# tail -1 /etc/rc.local >/etc/udev/rules.d/70-persistent-net.rules 删除模板及网卡配置里mac所在行及uuid所在行。 =================================================== 模板机解析配置 =================================================== a./etc/hosts hosts解析 cat >/etc/hosts< 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web02 172.16.1.8 web01 172.16.1.9 web03 172.16.1.51 db01 db01.etiantian.org 172.16.1.31 nfs01 172.16.1.41 backup 172.16.1.61 m01 EOF =================================================== Linux基础优化与安全重点小结 1)不用root登录管理系统,而以普通用户登录通过sudo授权管理。 2)更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。 3)定时自动更新服务器的时间,使其和互联网时间同步。 4)配置yum更新源,从国内更新源下载安装软件包。 5)关闭SELinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发高流量的服务器可能无法开启)。 6)调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。 7)定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满(注意Centos6和Centos5要清除的目录不同)。 8)精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。 9)Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。 10)更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。 11)锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab, 处理以上内容后把chattr、lsattr改名为oldboy,转移走,这样就安全多了。 12)清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。 13)清除多余的系统虚拟用户账号。 14)为grub引导菜单加密码。 15)禁止主机被ping。 16)打补丁并升级有已知漏洞的软件。 =================================================== # 虚拟主机配置(系统克隆) 1. 克隆前系统准备 1清空; >/etc/udev/rules.d/70-persistent-net.rules echo '>/etc/udev/rules.d/70-persistent-net.rules'>>/etc/rc.local 两删除(网卡配置文件中UUID信息和HWADDR) sed -ri '/HWADDR|UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01] cat /etc/sysconfig/network-scripts/ifcfg-eth[01] 2. 进行系统克隆 然后模板机关机,接着选择要克隆的模板机单击右键,依次选择管理—克隆 接着选择下一步。 因为是第一次克隆,所以选择虚拟机的当前状态,然后单击下一步。 在这里因为链接克隆比完整克隆的速度快,节省空间,所以我们选择创建链接克隆,然后单击下一步。 然后在这里设置虚拟机的名称和路径,然后单击完成。 这里出现完成,就表示我们已经创建好了一个虚拟机,然后开机进行配置。 # 虚拟主机配置(设置克隆主机) #01. 网卡地址修改 sed -i 's#200#41#g'/etc/sysconfig/network-scripts/ifcfg-eth[01] #02. 修改系统主机名称 hostname backup sed -i 's#oldboyedu-39-nb#backup#g'/etc/sysconfig/network #03. 重启网络 /etc/init.d/network restart #04. 重新建立xshell标签进行连接 至此,第一台克隆主机完成