系统优化总结

1.修改ip地址、网关、主机名、DNS

2.关闭selinux,清空iptables (一般工作场景有wan ip就要打开iptables,但高并发除外)

3.添加普通用户.通过sudo授权管理。

4.配置yum更新源

5.定时自动更新服务器时间

6.精简开机自启动服务(crond.sshd.network,syslog保留)

7.定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满

8.更改默认的SSH服务端口,及禁止root用户远程连接

9.锁定关键系统文件

chattr +i /etc/passwd

chattr +i /etc/inittab

chattr +i /etc/group

chattr +i /etc/shadow

chattr -i /etc/passwd /etc/passwd解锁

处理完后对chattr进行改名

which chattr

mv /usr/bin/chattr /usr/bin/dingjian

可以防止黑客对系统的修改和攻击

10.调整文件描述符大小

11.更改字符集,支持中文

12.清空/etc/issue,去除系统及内核版本登录前的屏幕显示

13.内核优化/etc/sysctl.conf sysctl -p生效

<>修改ip地址、网关、主机名、DNS

vi/etc/sysconfig/network-scripts/ifcfg-eth0#修改IP、网关、DNS

vi /etc/sysconfig/network #修改主机名:

hostname dingjian #临时修改主机名,重登生效

vi /etc/resolv.conf #修改DNS

service network restart /etc/init.d/network restart #重启网络生效

<>关闭selinux,清空iptables

1.关闭selinux

★修改配置文件需要重启机器:

修改/etc/selinux/config 文件

vim /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled

或者:

sed -i's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config #修改配置文件永久生效,但必须重启系统

grep SELINUX=disabled/etc/selinux/config #查看更改后的结果

★临时关闭(不用重启机器)

setenforce 0 #设置SELinux 成为permissive模式

#setenforce 1 设置SELinux 成为enforcing模式

getenforce #查看selinux当前状态

2.清空iptables

iptables �CF #清理防火墙规则

iptables �CL #查看防火墙规则

/etc/init.d/iptables save #保存防火墙配置信息

<>、添加普通用户.通过sudo授权管理

useradd tom #新建tom用户

passwd tom 或者echo 123456 | passwd --stdin tom #tom用户加密码

visudo 授权管理见:http://blog.dingjian.me/20131103/124.html

<>、配置yum更新源

centos5.8 :

cd /etc/yum.repos.d #进入yum.repos.d目录

mv CentOS-Base.repoCentOS-Base.repo.back #备份CentOS-Base.repo

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo #下载sohu

或者

wgethttp://mirrors.163.com/.help/CentOS5-Base-163.repo #下载163

yum clean all #清空yum缓存

yum makecache #建立yum缓存

rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY* #导入签名KEYRPM

yumupgrade-y #更新系统内核到最新

yum --exclude=kernel* update #更新系统软件而不更新内核

yum install lrzsz ntpdate sysstat -y #安装几个必要的软件了

centos6.4源的下载地址是:http://mirrors.163.com/.help/CentOS6-Base-163.repo

<>、定时自动更新服务器时间

使用ntpdate命令进行更新:

ntpdate 210.72.145.44 #是中国国家授时中心的官方服务器

计划任务自动同步时间

echo '#time sync by dingjian at 2013-10-24'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate time.nist.gov>/dev/null 2>&1'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate 210.72.145.44>/dev/null 2>&1'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate time.windows.com>/dev/null 2>&1'>>/var/spool/cron/root

提示:CentOS 6.4的时间同步命令路径不一样 centos6/usr/sbin/ntpdate ;centos5/sbin/ntpdate

扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server

<>、精简开机自启动服务(crond.sshd.network,syslog保留)Centos6.4rsyslog

centos5.8方法:

LANG=en

for dingjian in `chkconfig --list|grep3:on|awk '{print $1}'`;do chkconfig --level 3 $dingjian off;done

#把所有的启动项全关

for dingjian in crond network syslog sshd;dochkconfig --level 3 $dingjian on;done

#只打开这四个启动启

chkconfig --list |grep 3:on #只查看3级别的运行状态

centos6.4方法:

LANG=en

for dingjian in `chkconfig --list|grep3:on|awk '{print $1}'`;do chkconfig --level 3 $dingjian off;done

#把所有的启动项全关

for dingjian in crond network rsyslogsshd;do chkconfig --level 3 $dingjian on;done

#只打开这四个启动启

chkconfig --list |grep 3:on #只查看3级别的运行状态

<>、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满

手动清理方法:

find /var/spool/clientmqueue/ -type f|xargs rm -f

自动清理方法:

[root@dingjian ~]# mkdir /server/scripts -p

[root@dingjian ~]# vi/server/scripts/spool_clean.sh

#!/bin/sh

find /var/spool/clientmqueue/ -type f|xargs rm -f

然后将其加入到crontab定时任务中

echo '*/30 * * * * /bin/sh/server/scripts/spool_clean.sh >/dev/null 2>&1' >>/var/spool/cron/root

crontab -l #检查一下定时任务

注意:

centos5.8,默认没有clientmqueue

centos6.4的,要先安装sendmail才能有/var/spool/clientmqueue/这个目录

[root@iter ~]# yum install sendmail -y

<>、更改默认的SSH服务端口,及禁止root用户远程连接

[root@dingjian ~]# cp /etc/ssh/sshd_config/etc/ssh/sshd_config.bak

[root@dingjian ~]# vim /etc/ssh/sshd_config

Port 2000 #ssh连接默认的端口

PermitRootLogin no #root用户黑客都知道,禁止它远程登录

PermitEmptyPasswords no #禁止空密码登录

UsednS no #不使用DNS

[root@dingjian ~]# /etc/init.d/sshd reload #从新加载配置

[root@dingjian ssh]# netstat -lnt #查看一下端口

[root@dingjian ssh]# lsof -i :2000 #己知端口查服务

[root@iter ~]# netstat -an|grep -i est #查看连接状态

<>、锁定关键系统文件chattr+i /etc/passwd

chattr +i /etc/inittab

chattr +i /etc/group

chattr +i /etc/shadow

chattr -i /etc/passwd /etc/passwd解锁

可以防止黑客对系统的修改和攻击

<>、调整文件描述符大小

[root@dingjian ~]# ulimit -n #查看文件描述符大小

65535

[root@dingjian ~]# echo '* - nofile65535'>>/etc/security/limits.conf

配置完成后,重新登录即可查看

也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效

[root@dingjian ~]cat>>/etc/rc.local<<EOF

#open files

ulimit -HSn 65535

#stack size

ulimit -s 65535

EOF

<十一>、更改字符集,支持中文

cp /etc/sysconfig/i18n/etc/sysconfig/i18n.bak #备份i18n

echo 'LANG="ZH_CN.GB18030"' >/etc/sysconfig/i18n #更改字符集为ZH_CN.GB18030

source /etc/sysconfig/i18n #使i18n配置生效

echo $LANG #输出查看字符集信息

<十二>、清空/etc/issue,去除系统及内核版本登录前的屏幕显示

>/etc/issue #清空登陆显示的信息

echo"welcome!">/etc/issue vi /etc/issue #修改系统登陆时显示的信息

<十三>、内核优化/etc/sysctl.conf sysctl -p生效

本优化适合apacheNginxsquid多种等web应用,特殊的业务也可能需要略作调整。

centos5.8内核优化:

[root@dingjian scripts]# vi/etc/sysctl.conf #把以下的参数加到最后面

#by dingjian in 20131106

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.ipv4.ip_conntrack_max = 25000000

net.ipv4.netfilter.ip_conntrack_max=25000000

net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180

net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120

net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60

net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120

[root@dingjian scripts]# sysctl -p

重新加载内核参数

centos6.4内核优化

[root@dingjian scripts]# vi/etc/sysctl.conf #把以下的参数加到最后面

#by dingjian in 20131106

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

[root@dingjian scripts]# sysctl -p

重新加载内核参数

centos5.8centos6.4中防火墙的优化有些不一样

如果iptables防火墙的优化报错,这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

modprobe ip_conntrack

echo "modprobe ip_conntrack">> /etc/rc.local

centos6.6 系统优化总结的更多相关文章

  1. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  2. ios – Xcode上传错误:无法打开ssh会话. (16)

    注意:我们终于上传了该应用程序,但是我们并没有真正解决这个问题,所以如果有人可以分享一些有关这个问题的宝贵意见或经验,我将不胜感激.我也检查了以下2个类似的问题,但这些没有帮助:>Erroruploadingiosapplicationtoitunesconnect“failedtoopensshsession(16)”>AppStoresubmission/distributionerror“f

  3. 记一次云计算测试实验-openstack-icehouse-安装swift

    -----------------------controller:---------------------------------sourceadmin-openrc.shkeystoneuser-create--name=swift--pass=000000--email=swift@localhostkeystoneuser-role-add--user=swift--tenant=ser

  4. 与Swift 2中的防火墙指针

    我正在尝试检查用户是否具有互联网连接,部分过程涉及使用UnsafePointer调用。与Swift2.x中的防火墙指针一起使用的正确方法是什么?

  5. Swift游乐场和模拟器错误(ipc / mig)服务器死机,无法启动iOS模拟器

    您的防火墙阻止调试器,您需要允许它连接:TCP出127.0.0.1:63748或者允许调试服务器进程打开访问.一旦启用它,并重新启动Xcode,所有的应该像一个魅力一样工作.注意/更新:如果您无法找到或允许调试服务器,只需暂时尝试禁用防火墙并重新启动xcode.操场是否奏效?哦,不要忘了确保你的助理视图打开,输出框显示.

  6. android – Google Cloud Messaging无法在公司网络上使用4.1.2设备

    我已经实现了一个简单的GCM客户端和服务器.客户端使用currentGCMclientAPIs(而不是deprecatedhelperlibrary).服务器(C#和.NET)遵循相应的serverguidelines(使用HTTP).我的服务器在公司域内的计算机上运行,因此我将客户端设备连接到公司网络内的Wi-Fi接入点,但可以访问Internet.简而言之,我的问题是4.3手机上收到通知,但连

  7. Android系统服务的SELinux策略定义:如何设置?

    我之前写过一个独立的守护进程来访问自定义设备(/dev/mydev0).看看AOSP源代码,我想我需要在以下文件中设置策略才能使其工作:新文件device.te包含:新文件mydevsrvc.te包含编辑file_contexts添加:编辑了service_contexts以添加:并通过编辑init.flo.rc来启动守护进程以包含以下行:现在,我需要访问Android应用程序中的设备,所以我必须

  8. android – 谷歌GCM推送通知服务器的IP范围?

    想知道有没有人在这里碰巧知道google的gcm服务器的ip范围?

  9. android – SDK管理器未知主机dl-ssl.google.com

    我无法在SDK管理器中更新软件包,它显示下载中断:未知主机dl-ssl.google.com.我没有使用任何代理,我的Comodo防火墙也被关闭了.我还尝试使用管理员权限运行SDK.有谁知道如何解决这个问题?

  10. android – 模拟器中hosts文件中的Url映射被忽略

    我正在使用genymotion仿真器,并使用它从主机文件中提取adbremountadbpull/system/etc/hostsC:\Users\Rkn09\Desktop\hosts我添加了新的映射192.168.0.115xxx.mydomain.com,我把它推回到模拟器使用adbpushC:\Users\Rkn09\Desktop\hosts/system/etc/hosts但是当我向x

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部