前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7.x操作系统使用前的基础优化

CentOS 7.x操作系统使用前的基础优化

作者头像
双面人
发布2019-04-10 17:05:16
6360
发布2019-04-10 17:05:16
举报
文章被收录于专栏:热爱IT热爱IT

1、修改网卡为eth0

代码语言:javascript
复制
1、编辑网卡
# cd  /etc/sysconfig/network-scripts/
# mv ifcfg-ens160 ifcfg-eth0
# mv ifcfg-ens192 ifcfg-eth1
# vim ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0                      #网卡名称改为eth0
DEVICE=eth0               #设备名称改为eth0
ONBOOT=yes
IPADDR=xxx.xxx.x.xx
PREFIX=24
GATEWAY=xxx.xxx.x.x
DNS1=xxx.xxx.x.x
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
注:删掉网卡内的UUID=176582f7-d198-4e4f-aab0-34ab10d17247   通用唯一识别码和HWADDR=00:0c:29:a5:3f:39   MAC地址  这两行。  所有网卡都需要修改

2、编辑grub文件:
[root@localhost network-scripts]# cp -a /etc/sysconfig/grub /etc/sysconfig/grub.bak    #备份文件
[root@localhost network-scripts]# vim /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console" 
GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet"   #这行添加net.ifnames=0 biosdevname=0
GRUB_DISABLE_RECOVERY="true"

3、生成启动菜单:
[root@localhost network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-7d9a96ac2162427d937e06ede5350e9e
Found initrd image: /boot/initramfs-0-rescue-7d9a96ac2162427d937e06ede5350e9e.img
done

4、然后重启服务器:reboot,重启服务器后查看网卡信息

2、下载必要软件包

再安装操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{vim、wget、tree...等},下面就安装命令,可以根据需求自行调整。

代码语言:javascript
复制
# yum -y install wget net-tools screen lsof tcpdump nc mtr openssl-devel vim bash-completion lrzsz nmap telnet tree ntpdate

3、使用aliyun的repo源

操作系统自带的是国外的源,改成国内的源安装包会快很多 例:aliyun或者清华的源都可以,这里使用aliyun的repo源。 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm

4、 给/etc/rc.local添加执行权限

需要开机自启动的脚本或者配置,可以放在/etc/rc.local里,但是发现并没有执行,下面我们看一下原因。

代码语言:javascript
复制
# ll /etc/rc.local 
lrwxrwxrwx 1 root root 13 Jan  5 23:31 /etc/rc.local -> rc.d/rc.local     #发现是个软连接文件
# ls -l /etc/rc.d/rc.local 
-rw-r--r-- 1 root root 473 Oct 20 11:07 /etc/rc.d/rc.local        #问题在这里,没有执行权限
# chmod +x /etc/rc.d/rc.local      #添加执行权限
# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x 1 root root 473 Oct 20 11:07 /etc/rc.d/rc.local
注:这样添加在rc.local里的开机自启动配置就可以执行了。

5、修改ssh默认端口并禁止root用户远程登陆

linux系统下都有一个默认的超级管理员root,ssh服务的默认端口是22,圈内都知道,那么接下来我们可以修改一下我们的默认端口和禁止root用户远程登录,初步提高一下服务器的安全

代码语言:javascript
复制
1、首先修改ssh的默认端口
# sed -i "s#\#Port 22#Port 23451#g" /etc/ssh/sshd_config         #端口可以改成任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)
2、禁止root用户远程登陆
  a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)
# useradd xxx        #添加xxx用户
# echo "pass" | passwd --stdin xxx     #给xxx用户设置密码为pass
  b):修改ssh服务配置文件并撑起服务
# sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# systemctl restart sshd

此时断开当前连接或者新开一个连接就会发现使用root用户连接不上服务器了,莫慌,使用xxx用户连接然后切换到root用户即可

6、关闭selinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,说白了就是安全机制,当然如果会配置的话建议配置更好,这里就介绍一下如何关闭吧,哈哈哈。

代码语言:javascript
复制
# sed -i.bak 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config    #修改配置文件需要重启服务器配置才会生效,如何立即生效那?
# setenforce 0      #关闭SELinux立即生效,重启服务器后配置失效。

7、关闭防火墙

防火墙,不解释,内网服务建议关掉,对外开放的服务器需要配置规则,这里先关掉,关于防火墙配置规则等待后续更新。

代码语言:javascript
复制
# systemctl stop firewalld         #临时关闭
# systemctl disable firewalld          #永久关闭

systemctl stop firewalld.service

8、修改主机名并设置主机名解析

装机后主机名默认为localhost,这里个人想更改自己的主机名,在不搭建内网DNS的情况,能通过主机名找到本机的IP地址。

代码语言:javascript
复制
# hostnamectl set-hostname web01     #设置主机名为web01,这样设置连配置文件里都修改了

接下来修改hosts文件实现IP地址到主机名的解析

此时发现可以实现链接。

9、解决ssh远程连接慢的问题

代码语言:javascript
复制
# sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g'  /etc/ssh/sshd_config
# systemctl restart sshd

说明: GSSAPIAuthentication参数是用于Kerberos验证的,而对于绝大多数人来说,不可能使用这种验证机制的,所以要注意把他们停掉。然后重启服务会发现远程连接速度有明显提升

10、设置字符集

设置当前服务器字符集,国际通用utf-8,当然根据自己的业务自己调整,

代码语言:javascript
复制
#  localectl status      #查看当前字符集
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
# localectl set-locale LANG=zh_CN.UTF-8     #修改字符集为zh_CN.UTF-8,命令行和配置文件都生效
# cat /etc/locale.conf       #查看配置文件
LANG=zh_CN.UTF-8

11、加大打开文件数的限制(open files)

CentOS 7.2系统默认最大打开文件限制为1024,每建立一个TCP连接既浪费一个限制(这里不细讲,后续会更新详细说明),为了提升服务器性能,所以我们要增加打开文件的最大限制。

代码语言:javascript
复制
# ulimit -n         #默认大小
1024
# echo "* soft nofile 65536" >> /etc/security/limits.conf         #xi修改最大限制为65535
# echo "* hard nofile 65536" >> /etc/security/limits.conf
# reboot           #重启后生效

12、时间同步

时间同步,这里不多说了,向OpenStack的所有节点的时间不一致会导致创建不了虚拟机,也会有其他的问题,不多说,我们生产上所有服务器时间都是同步的。

代码语言:javascript
复制
# yun install -y ntpdate        #前面已经装过了
# ntpdate ntp1.aliyun.com       #这里同步的是aliyun的时间,公司内部建议自己搭建时间服务器(减少流量、广播等),然后加入crontab即可,内网时间服务器等待后续更新。

13、开启快速回收

TCP断开连接时会有一个等待时间为2msl(60秒)对应的状态为TIME_WAIT,如果业务并发较大的话会有很多的TIME_WAIT状态(详细等待后续更新),如何来解决那?

代码语言:javascript
复制
# cat /proc/sys/net/ipv4/tcp_timestamps     #时间戳,默认是开启的
# cat /proc/sys/net/ipv4/tcp_tw_reuse      # 连接复用,tcp_timestamps是开启的状态下是可以开启的,1为开启,默认是关闭的状态。
# cat /proc/sys/net/ipv4/tcp_tw_recycle      #socket快速回收,net网络状态下不可以开启,负载均衡上不可以打开,读者根据自身情况开启或关闭,默认为关闭状态。

版权声明:原创作品,如需转载,请注明出处。否则将追究法律责任

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/01/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、修改网卡为eth0
  • 2、下载必要软件包
  • 3、使用aliyun的repo源
  • 4、 给/etc/rc.local添加执行权限
  • 5、修改ssh默认端口并禁止root用户远程登陆
  • 6、关闭selinux
  • 7、关闭防火墙
  • systemctl stop firewalld.service
  • 8、修改主机名并设置主机名解析
  • 9、解决ssh远程连接慢的问题
  • 10、设置字符集
  • 11、加大打开文件数的限制(open files)
  • 12、时间同步
  • 13、开启快速回收
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档