CentOS 配置方法

FreeGuideOnline 最新 2026-07-15

CentOS 系统基础配置完全指南

本教程面向初次接触 CentOS 的用户,以 CentOS 7 为主要操作环境,同时标注与 CentOS Stream 8/9 的差异。你将系统掌握网络、软件源、防火墙、用户权限及安全加固等核心配置方法。


前置环境准备

开始配置前,建议完成最小化安装的 CentOS,并确保拥有 root 权限或 sudo 能力。

  1. 确认系统版本

    cat /etc/centos-release
    

    输出示例:CentOS Linux release 7.9.2009 (Core)

  2. 更新系统至最新

    sudo yum update -y   # CentOS 7
    sudo dnf update -y   # CentOS Stream 8+
    
  3. 安装常用工具

    sudo yum install -y vim wget curl net-tools
    

网络配置

正确配置网络是所有服务的基础。CentOS 默认使用 NetworkManager 管理连接,也可使用传统的 network 脚本。

动态IP(DHCP)配置

大部分云环境默认已启用 DHCP,需修改网卡配置确保开机自启:

  1. 查看网卡名称:
    ip addr
    # 常见名称如 eth0、ens33、enp0s3
    
  2. 编辑对应配置文件 /etc/sysconfig/network-scripts/ifcfg-<网卡名>
    TYPE=Ethernet
    BOOTPROTO=dhcp
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    
  3. 重启网络服务:
    sudo systemctl restart network   # CentOS 7
    sudo systemctl restart NetworkManager  # CentOS Stream
    

静态IP配置

若需固定IP地址,修改同一配置文件:

TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

之后重启网络服务。使用 ip addrping 验证连通性。

主机名设置

sudo hostnamectl set-hostname myserver.example.com
# 立即生效,同时更新 /etc/hostname

/etc/hosts 中添加解析记录:

127.0.0.1   localhost myserver.example.com

YUM/DNF 软件源配置

CentOS 通过 yum (v7) 或 dnf (v8+) 管理软件包。默认官方源速度可能较慢,推荐更换为国内镜像。

更换为阿里云镜像(CentOS 7)

  1. 备份原有 repo 文件:
    sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
    
  2. 下载阿里云仓库配置:
    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 清理缓存并生成新缓存:
    sudo yum clean all
    sudo yum makecache
    

CentOS Stream 8/9 用户可使用阿里云 Stream 源:

sudo dnf install -y epel-release   # 先装 EPEL
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-*.repo

安装 EPEL 扩展源

sudo yum install -y epel-release   # CentOS 7

完成后可安装更多软件,如 htopfail2ban 等。


防火墙与 SELinux 基础配置

CentOS 7+ 默认使用 firewalld 作为防火墙,取代了 iptables

firewalld 常用命令

  • 查看状态: sudo systemctl status firewalld
  • 开启/停止/重启: sudo systemctl start|stop|restart firewalld
  • 查看已激活规则: sudo firewall-cmd --list-all
  • 开放服务(如 HTTP):
    sudo firewall-cmd --zone=public --add-service=http --permanent
    sudo firewall-cmd --reload
    
  • 开放自定义端口(如 8080/TCP):
    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload
    

SELinux 快速设置

SELinux 提供强制访问控制。初学者可能遇到权限问题,可临时调整为宽容模式或按需修改上下文。

  • 查看当前状态: getenforce
  • 临时关闭(重启失效): sudo setenforce 0
  • 永久禁用(需重启): 编辑 /etc/selinux/config,设置 SELINUX=disabled
  • 更安全的做法是保留 enforcing 模式,仅对特定资源修改上下文,例如:
    sudo semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
    sudo restorecon -Rv /web
    

用户与权限管理

创建新用户并授予 sudo 权限

  1. 添加用户:

    sudo useradd -m user1
    sudo passwd user1
    
  2. 将该用户加入 wheel 组(拥有 sudo 权限):

    sudo usermod -aG wheel user1
    

    CentOS 7 默认 wheel 组具有 sudo 能力,确保 /etc/sudoers 中包含:

    %wheel  ALL=(ALL)       ALL
    
  3. 验证:

    su - user1
    sudo whoami    # 应输出 root
    

SSH 密钥认证(提高安全性)

生成密钥对(本地客户端):

ssh-keygen -t rsa -b 4096

将公钥复制到服务器:

ssh-copy-id user1@你的服务器IP

完成后再禁用密码登录(见 SSH 安全章节)。


SSH 安全加固

编辑 SSH 配置文件 /etc/ssh/sshd_config,修改以下参数后重启服务 sudo systemctl restart sshd

关键安全参数

# 禁用 root 直接登录
PermitRootLogin no

# 禁用密码认证(仅密钥登录)
PasswordAuthentication no

# 更改默认端口,减少扫描
Port 2222

# 限制登录用户
AllowUsers user1

# 空闲超时退出
ClientAliveInterval 300
ClientAliveCountMax 0

注意:修改前请确保已配置好密钥登录并测试成功,以免被锁在服务器外部。防火墙也需要同步放行新端口。


系统更新与维护

定期更新系统

# CentOS 7
sudo yum update -y

# CentOS Stream
sudo dnf update -y

可安装 yum-cron(CentOS 7)实现自动更新:

sudo yum install -y yum-cron
sudo systemctl enable yum-cron --now

配置文件 /etc/yum/yum-cron.conf 中可设置更新类型。

日志查看与基础排错

  • 系统日志: tail -f /var/log/messages
  • 安全日志: tail -f /var/log/secure
  • 服务状态: systemctl status 服务名
  • 端口监听: ss -tulnp

时间同步

确保服务器时间准确:

sudo yum install -y chrony   # 若未安装
sudo systemctl enable chronyd --now
# 检查同步状态
chronyc tracking

附加:搭建 Web 服务(示例)

以安装 Nginx 为例,快速验证配置成果:

  1. 安装 Nginx
    sudo yum install -y nginx   # 需先安装 EPEL 或官方源
    
  2. 启动并设置开机自启
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 防火墙放行 HTTP
    sudo firewall-cmd --add-service=http --permanent
    sudo firewall-cmd --reload
    
  4. 访问 http://你的服务器IP 应出现 Nginx 欢迎页。

结语

通过本指南你已掌握 CentOS 基础配置的核心技能。系统管理是一个不断积累的过程,建议结合具体场景逐步深入,并始终保持安全第一的原则。更多免费教程可关注后续更新。

提示:生产环境中请在测试环境下验证所有配置变更,确保业务连续性。