zongzi0820
作者zongzi0820·2019-03-11 20:57
系统工程师·南京利楠群信息技术有限公司

Centos的基本配置

字数 6793阅读 1583评论 0赞 3

centos系统安装后的基本配置
配置网卡和设置网络联网
通过setup命令设置网卡
在系统命令行输入setup命令,然后回车键.
通过tab键及对应的键依次选择进入几个窗口
整个过程依次为: 执行setup命令---->NETWORK configuration ----> Device configuration ----> eth0, 配置完依次单击 OK ----> Save ----> Save&Quit ----> Quit.这样就退出了命令行界面.(该配置实质上就是修改网卡的配置文件/etc/sysconfig/neywork-scripts/ifcig-eth0的内容)
虚拟机下重要参数
虚拟网卡为NAT模式
Primary DNS Server: 8.8.8.8
Secondary DNS Server: 202.106.0.20
虚拟网卡为bridged
static ip: 10.0.0.7
Metmask: 255.255.255.0
Default gateway IP: 10.0.0.254
Primary DNS Server: 8.8.8.8
Secondary DNS Server: 202.106.0.20
然后依次执行如下命令:
执行命令ifup eth0, 启动网卡
执行命令 ifconfig eth0, 查看获取ip
执行命令 ping www.baidu.com, 检测网路是否畅通
网卡配置选项的含义
cat /etc/sysconfig/neywork-scripts/ifcfg-eth0
DEVICE=eth0
第一块网卡逻辑设备名,第二块为eth1,有些系统也会以em等字符标识
HWADDR=00:0c:29:a5:3f:39
以太网硬件地址,即MAC地址,如果是VMware克隆的虚拟机无法启动网卡,可以毫不犹豫地删除此项.
TYPE=Ethernet
上网类型,目前基本是以太网
UUID=176582f7-d198-4e4f-aab0-34ab10d17247
通用唯一标识码,如果是VMware克隆的虚拟机无法启动网卡,可以去除此项
ONBOOT=no
这个地方要设置yes,才能保证下次开机启动时激活网卡设备.
NM_CONTROLLED=yes
是否通过NetworkManager管理网卡设备
BOOTPROTO=none
启动协议,获取配置方式,有none|bootp|dhcp三个选项
IPADDR=10.0.0.8
这是虚拟机桥接模式,局域网linux服务器的固定IP
NETMASK=255.255.255.0
子网掩码,用来规划网络位和主机位,一般为255.255.255.0
DNS2=8.8.8.8
第二个DNS,这里默认会覆盖,以及优先于/etc/resolv.conf的配置生效
GATEWAY=10.0.0.254
局域网上网网关地址
DNS1=202.106.0.20
主DNS,这里默认会覆盖,以及优先于/etc/resolv.conf的配置生效
IPV6INIT=no
是否支持IPV6
USERCTL=no
修改完配置需要重启网卡命令为:ifdown eth0 && ifup eth0.尽量不要使用/etc/init.d/neywork restart 重启网卡,因为这条命令会影响所有网卡.
查看IP设置命令 ifconfig eth0
查看默认网关设置命令 route -n
查看DNS设置命令 cat /etc/resolv.conf
更新系统, 打补丁到最新

于windows打补类似,linux也可以定期更新系统软件.
linux下安装软件的优秀工具叫做yum,它是centos linux下最好用的包管理器和安装软件包的工具,用起来很方便.linux的二进制软件包一般是rpm包,类似windows的exe程序.
通过yum工具可以很方便的安装rpm软件包.默认获取rpm包的软件配置是从国外centos官方源及其镜像地址下载的.因此,通过yum工具安装软件,速度回比较慢,因此需要把默认获取rpm包的地址改成国内的yum源地址.

centos安装完毕后,首先应该修改更新源,并升级到最新的系统.修改更新源的yum源命令:
cp /etc/yum.repos.d/CentOS-Base-repo
/etc/yum.repos.d/CentOS-Base.repo.ori
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/ ./help/Centos 6-Base-163.repo
ll /etc/pki/rpm-gpg/
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum update -y
额外安装一些有用的软件包
yum install tree telnet dos2unix sysstate lrzsz nc nmap -y
yum grouplist 查看所有包组名称,包括已经安装的和未安装
yum groupinstall "Development Tools" 指定包组名安装,注意要带双引号
安装linux系统后调优及安全设置
关闭SELinux功能
修改配置文件.使关闭SELinux永久生效
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
临时关闭SELinux,可在命令行执行如下命令
setenforce
sentenforce 0 临时将SELinux调成permissive状态
getenforce 查看selinux当前状态
命令说明如下:
sentenforce: 用于命令行管理selinux的级别,后面的数字表示设置对应的级别.
getenforce: 查看SELinux当前的级别状态

修改配置SElinux后,要想使其生效,必须要重启系统.因此,可配合使用setenforce 0 这个临时使其关闭的命令, 这样在重启前后都可以使selinux关闭生效,也就是说无须立刻重启服务器了,在生产场景下linux机器是不能随意重启的.

精简开机系统启动
重要的开机自启动服务
sshd: 远程连接linux服务器时需要用到这个服务程序,所以必须开启,否则linux服务器就无法提供远程连接服务了.
rsyslog: 日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中,在centos6以前此服务的名字为syslog
network: 系统启动时,若想激活/关闭各个网络接口,则应考虑开启此服务
crond: 该服务用于周期性地执行系统及用户配置的任务计划,有要周期性执行的任务时,就要开启,此服务几乎是生产场景必须要用的一个软件.
sysstate: sysstate是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据很有帮助,比如cpu使用率,硬盘和网络吞吐数据等,对这些数据的收集和分析,有利于判断系统运行是否正常,所以它是提高系统运行效率的,安全运行服务器的得力助手
sysstate软件包集成的主要工具:
iostate工具提供cpu使用率及硬盘吞吐效率的数据
mpstat工具提供与单个或多个处理器相关的数据
sar工具负责收集,报告并存储系统活跃的信息

提示: 上述5个服务是安装完系统后建议保留的开机自启动服务,也机会是一切生产服务器必修保留的开机自启动服务,将来还可以根据服务器的业务使用场景调整相应的自启动服务.

设置开机自启动服务的常见方法
执行命令然后收动处理的方法
执行ntsysv命令,然后在弹出的窗口中进行设置
执行setup命令---->system service,然后在弹出的窗口中进行设置
通过一行命令或shell脚本进行设置
LANGE=en : 先调整为英文字符集,以方便下面命令过滤中文字符串
chkconfig --list | grep 3:on
第一种方法:先全关闭,再开启需要保留的
LANGE=en for oldboy in chkconfig --list | grep 3:on | awk '{print $1}'; do chkconfig --level 3 $oldboy off; done for oldboy in crond network rsyslog sshd sysstate ; do chkconfig --level 3 $oldboy on; done chkconfig --list | grep 3:on
第二种: 一条命令搞定,shell循环实现
for oldboy in chkconfig --list | grep "3:on" | awk '{print $1}' | grep -vE "crond|network|sshd|rsyslog|sysstate"; do chkconfig $oldboy off; done
第三种: 不要shell循环语句也一条命令搞定
chkconfig --list | grep 3:on | grep -vE "crond|sshd|network|rsyslog|sysstate" | awk '{print "chkconfig " $1 " off "}' | bash
关闭防火墙
在企业环境中,一般只有配置外网IP的Linux服务器才需要开启防火墙,但即使有外网IP,高并发,高流量的业务服务器仍然不能开启防火墙,因为开启后会有较大性能损失,导致网站访问速度很慢,这种情况下只能在前端加更好的硬件防火墙了.
关闭防火墙的具体操作如下:
/etc/init.d/iptables stop
/etc/init.d/iptables stop : 重复执行确认已经关闭
chkconfig iptables off : 关闭开机自启动命令,前面已经关闭这里就无需执行
chkconfig --list | grep ipt
linux系统安全最小原则说明
安装linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装.
开机自启动服务最小化,即无用的服务不开启
操作命令最小化.例如: 能用rm -f test.txt 就不用 rm -fr test.txt
登录linux用户最小化.平时没有特殊需求不登录root,用普通用户登录即可
普通用户授权最小化,即只给用户必需的管理系统的命令
Linux系统文件及目录的权限设置最小化,禁止随意创建,更改,删除文件
更改ssh服务器端远程登录的配置
windows服务器的默认远程登录端口是3389,管理员用户是administrator,普通用户是guest.linux的管理用户是root,普通用户默认有很多个,远程连接,默认端口22.这些通常有it经验的人都知道.那么黑客是否也知道呢?他们当然知道,甚至比我们更清楚,所以,为了系统安全,必须隐藏或更改上述默认配置,更改配置的命令如下:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori : 更改配置前进行备份,是系统管理员的一个良好的习惯
vi /etc/ssh/sshd_config : 编辑sshd_config

by oldboy # 2011-11-24## Port 52113 PermitRootLogin no PermitEmptyPasswords no UseDNS no GSSAPIAuthentication no #### by oldboy # 2011-11-24

prot
指定sshd守护进程监听的端口号,默认为22.默认在本机的所有网络接口监听,也可以通过ListenAddress指定只在某个特定的接口上监听.
端口范围: 0~65535, 不能与已有的服务器端口冲突
一般建议改为此1024大的端口.
PermitEmptyPasswords
是否允许密码为空的用户远程登录.默认是"no"
PermitRootLogin
是否允许root登录,可用值如下: "yes"(默认)表示允许;"no"表示禁止;"without-password"表示禁止使用密码认证登录;"forced-commands-only"表示只有在指定了command选项的情况下才允许使用公钥认证登录,同时其他认证方法全部被禁止,这个值常用于做远程备份之类的事情.
UseDNS
指定sshd是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应,默认值为: "yes".建议改成"no",否则可能会导致ssh连接很慢.
GSSAPIAuthentication
解决linux之间使用ssh远程连接慢的问题.

将以上信息更改后,保存退出
执行如下命令重启sshd,使修改的配置生效:
/etc/init.d/sshd reload
或者
/etc/init.d/sshd restart

更高级的ssh安全策略
更改ssh监听ip,使其仅监听内网ip,命令如下:
sed -n '13,20p' /etc/ssh/sshd_config
通过防火墙限制仅能使用内网ip连接此服务器.限制命令如下:
ipatbles -I INPUT -p tcp --dport 52113 -s 10.0.0.0/24 -j ACCEPT
通过拨号到VPN服务器,然后从局域网访问这些服务器,提升安全性.其实linux主机安全就像我们居住的房子安全一样.
工作中的系统安全重点就是互联网TCP/IP连接,对外的Web服务器端口http80和https443的安全控制
linux中文显示设置
[root@www ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT="latarcyrheb-sun16" [root@www ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori [root@www ~]# echo ' LANG="zh_CN.UTF-8" ' > /etc/sysconfig/i18n # 相当于用vi /etc/sysconfig/i18n 添加LANG="zh_CN.UTF-8" [root@www ~]# source /etc/sysconfig/i18n # 使上文生效 [root@www ~]# echo $LANG zh_CN.UTF-8
调整linux系统文件描述符数量
文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件.文件描述符与包括先关信息的文件对象相关联,这些信息被称作文件的上下文.文件描述符的有效范围是0到OPEN_MAX.
对于内核而言,所有打开的文件都是通过文件描述符引用的,当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符,当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,并将其作为参数传递给read或write.
查看linux服务器文件描述符设置的情况可以使用ulimit -n 命令, 文件描述符大小默认是1024.
[root@www ~]# ulimit -n
对于高并发的业务linux服务器来说,这个默认的设置值是不够的,需要调整:
方法一
执行vim /etc/security/limits.conf命令,在文件结尾加上如下一行.

    • nofile 65535
      echo '* - nofile 65535' >> /etc/security/limits.conf
      配置完成后,需重新登录才可以生效,查看如下:
      [root@www ~]# ulimit -n
      方法2
      直接把ulimit -SHn 65535命令加入/etc/rc.local,用以设置每次开机启动时配置生效,命令如下:
      cat >> /etc/rc.reload<<EOF

      -S use the 'soft' resource limit

      -H use the 'hard' resource limit

      -n the maxmum number of open file descriptors

      ulimit -HSn -s 65535
      EOF

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

  • 虚拟机内安装tools
    评论 1 · 赞 1
  • 相关文章

    相关问题

    相关资料

    X社区推广