1. CentOS7介绍
CentOS(Community Enterprise Operating System,社区企业操作系统)是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本,以高效、稳定著称。
因为CentOS8之后不再提供Minimal版镜像,只有网络版Boot和完整版DVD,网络版在安装前需要额外配置网络和下载源,才能够执行最小化的操作系统安装。
- CentOS 操作系统官方下载地址:Download (centos.org)
- CentOS 7 镜像列表:CentOS7 Mirrors List(DVD,Boot,Minimal)
- CentOS 8 镜像列表:CentOS8 Mirrors List(DVD,Boot)
2. 系统安装调整
2.1. 网卡名称重命名(可选)
方法1:进入boot安装系统时,按下"tab"按键进入编辑界面,在尾部追加内容:‘net.ifnames=0 biosdevname=0’,再安装操作系统时,网卡名称默认设置为eth0。
net.ifnames=0 biosdevname=0
方法2:如果已安装完成centos7操作系统,则修改grub2引导配置。
#1.修改网卡配置文件DEVICE配置的值
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#修改配置:DEVICE=eth0
#2.重新命名网卡文件:
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
#3.由于centos7采用grub2 引导,还需要对 grub2 进行修改,编辑 /etc/default/grub 配置文件,在"GRUB_CMDLINE_LINUX "这个参数后面加入 "net.ifnames=0 biosdevname=0"配置:
vim /etc/default/grub
#...
#GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
#...
#4.最后,用 grub2-mkconfig 命令重新生成GRUB配置并更新内核
grub2-mkconfig -o /boot/grub2/grub.cfg
#5.重启操作系统即可
reboot
2.2. 磁盘分区设置
创建boot启动分区、boot\efi引导分区、swap分区以及 / 根目录。
值得注意的是:虚拟机的固件类型是UEFI引导,则需要额外配置/boot/efi分区。
3. 系统服务调整
3.1. 网络配置修改
Centos7默认的网卡配置文件名称:ifcfg-ens32(ens192)
由于之前修改网卡名称,这里配置网卡名为:ifcfg-eth0
# 1.编辑网卡配置文件
tee > /etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPADDR=10.10.0.1
NETMASK=255.255.255.0
GATEWAY=10.10.0.254
DNS1=10.10.0.254
DNS2=114.114.114.114
NAME=eth0
DEVICE=eth0
ONBOOT=yes
EOF
# 2.重启网络服务
systemctl restart network
3.2. SSH端口变更
Centos7默认的SSH配置端口:22
,调整SSH的访问端口有利于提高安全性。
3.2.1 selinux&firewall调整
SELinux是一个安全系统,保护你的Linux系统防止因访问权限问题而造成的损失。
如果你的Vultr VPS装有SELinux,且在SELinux没有添加放行端口,那么修改的SSH端口或其他服务的监听端口可能就无法连接,会出现端口超时的问题。
#1.不配置selinux,可以选择直接关闭(重启后生效)
sed -i -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#2.SELinux中放行的SSH端口(推荐)
semanage port -a -t ssh_port_t -p tcp 51423
#3.运行semanage命令报错:(semanage command not found)
yum -y install policycoreutils-python
Centos7以前默认的防火墙为:iptables,而Centos7防火墙服务更新为firewalld,其实本质上是在iptables服务基础上进行修改。如果在firewalld上没放行修改后的ssh端口,系统会拦截该端口的外部访问。
#1.添加防火墙放行规则,–permanent参数表示永久生效
firewall-cmd --zone=public --add-port=51423/tcp --permanent
#2.重新加载防火墙
firewall-cmd --reload
3.2.2 sshd服务配置修改
在Centos7中默认的sshd的配置文件路径:/etc/ssh/sshd_config
#1.修改ssh访问端口
sed -i -e 's/#Port 22/Port 51423/g' -e 's/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/g' /etc/ssh/sshd_config
#2.设置ssh连接超时
sed -i -e 's/#ClientAliveInterval 0/ClientAliveInterval 600/g' -e 's/#ClientAliveCountMax 3/ClientAliveCountMax 3/g' /etc/ssh/sshd_config
3.3. 其他服务调整
Centos7系统安装完成后自动运行postfix服务,postfix的产生是为了替代传统的sendmail.相较于sendmail,postfix在速度,性能和稳定性上都更胜一筹,但是许多场景是不需要的。
- 关闭并停用postfix
- 设置系统记录的历史命令上线
- 调整文件的最大限制
#1.关闭并停用postfix
systemctl stop postfix && systemctl disable postfix
#2.设置系统记录的历史命令上线
sed -i -e 's/HISTSIZE=1000/HISTSIZE=300/g' /etc/profile
source /etc/profile
#3.调整文件的最大限制
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
EOF