当前位置: 首页 > news >正文

CentOS 7服务器初始化全攻略:从基础配置到安全加固

在搭建服务器的过程中,初始化配置是奠定稳定运行和安全防护的基础。无论是用于生产环境还是测试场景,一套规范的初始化流程都能帮你避免后续诸多麻烦。本文将详细介绍CentOS 7服务器的初始化步骤,从源配置到防火墙加固,带你一步步完成服务器的"初始化体检"。

一、配置国内Yum源:加速软件安装

CentOS默认的官方软件源位于国外,下载速度较慢且不稳定。将其替换为国内源(如阿里云、清华源),能显著提升软件安装和更新效率。

操作步骤:

  1. 备份原有源文件(以防配置出错时恢复):

  2. 在这里插入图片描述

  3. 下载国内源文件(推荐阿里云,速度快且稳定):
    在这里插入图片描述
    下载成功

  4. 配置EPEL源(提供额外的开源软件包):

sudo yum install -y epel-release
sudo sed -e 's|^metalink=|#metalink=|g' \-e 's|^#baseurl=|baseurl=|g' \-e 's|^//download.fedoraproject.org/pub|//mirrors.aliyun.com|g' \-e 's|http://download.example|https://mirrors.aliyun.com|g' \-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
  1. 刷新缓存(使新源生效):
sudo yum clean all
sudo yum makecache

在这里插入图片描述

二、更新系统与安装必备工具

系统更新能获取最新安全补丁,而常用工具则是后续管理和开发的基础。

操作步骤:

  1. 更新系统(内核更新需重启生效):
sudo yum update -y
  1. 安装常用工具集(涵盖编辑、网络、监控等场景):
sudo yum install -y \vim-enhanced \    # 增强版文本编辑器wget \            # 命令行下载工具curl \            # 网络数据传输工具telnet \          # 网络诊断工具net-tools \       # 包含ifconfig等网络工具bash-completion \ # 命令自动补全lsof \            # 查看打开的文件sysstat \         # 系统性能监控(iostat、sar等)htop \            # 交互式进程管理器tree \            # 树状目录展示git \             # 版本控制工具unzip \           # 解压zip文件lrzsz             # 终端文件传输(sz/rz命令)

若需开发环境,可额外安装:sudo yum groupinstall -y "Development Tools"

三、网络连接验证:确保基础通信正常

网络是服务器与外界交互的基础,初始化阶段需确认网络通畅。

操作步骤:

  1. 查看IP地址(确认网络接口已启动):
ip addr show  # 或 ifconfig

在这里插入图片描述

  1. 测试DNS解析(检查域名解析是否正常):
ping -c 4 www.baidu.com  # 发送4个ICMP包测试

在这里插入图片描述

  1. 测试外网访问(排除DNS问题,直接通过IP测试):
ping -c 4 114.114.114.114  # 国内常用DNS服务器IP

在这里插入图片描述

若无法上网,需检查网络配置文件:cat /etc/sysconfig/network-scripts/ifcfg-eth0(网卡名可能为ens33等,需根据实际情况调整)

四、配置主机名:便于识别与管理

默认主机名通常无意义,自定义主机名能更清晰地标识服务器角色(如web服务器、数据库服务器)。

操作步骤:

  1. 查看当前主机名
hostname
  1. 设置新主机名(以yufei为例):
sudo hostnamectl set-hostname yufei

在这里插入图片描述

  1. 配置本地解析(避免部分软件因主机名无法解析报错):
sudo vim /etc/hosts  # 在文件末尾添加一行
# 示例:127.0.0.1 yufei

在这里插入图片描述

五、同步时间:保障系统时间准确性

服务器时间不准确可能导致日志混乱、证书验证失败等问题,需配置自动时间同步。

操作步骤:

  1. 安装chrony服务(CentOS 7推荐的时间同步工具):
sudo yum install -y chrony

在这里插入图片描述

  1. 启动并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd

在这里插入图片描述

  1. 强制立即同步时间
sudo chronyc -a makestep

在这里插入图片描述
在这里插入图片描述
时间同步成功

  1. 验证时间同步状态
sudo chronyc sources -v  # 查看同步源状态
date  # 查看当前系统时间

在这里插入图片描述

六、配置防火墙:筑牢服务器安全防线

防火墙是服务器的第一道安全屏障,需遵循"最小权限"原则,仅开放必要端口。CentOS 7提供两种防火墙配置方式,可根据需求选择。

6.1 使用iptables配置防火墙

iptables是经典的防火墙工具,适合需要精细控制规则的场景。

配置思路:
  • 关闭默认的firewalld,改用iptables
  • 设置默认策略为"拒绝入站、允许出站"
  • 开放必要端口(如SSH、HTTP等)
  • 保存规则并设置开机自启
详细步骤:
  1. 停止并禁用firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld

在这里插入图片描述

  1. 安装iptables服务
sudo yum install -y iptables-services
sudo systemctl start iptables
sudo systemctl enable iptables

在这里插入图片描述
在这里插入图片描述

  1. 设置默认策略与基础规则(重要:先确保SSH端口开放,避免远程连接断开):
# 设置默认策略:拒绝入站和转发,允许出站
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

在这里插入图片描述

# 允许本地回环接口通信(系统内部必要)
sudo iptables -A INPUT -i lo -j ACCEPT

在这里插入图片描述

# 允许已建立的连接及相关流量(保证对外请求的响应能正常进入)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

在这里插入图片描述

  1. 开放必要端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH(远程管理必备)
sudo iptables -A INPUT -p icmp -j ACCEPT            # 允许PING(便于网络诊断)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP(Web服务)
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS(加密Web服务)
# 如需其他端口(如MySQL 3306),可添加:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

在这里插入图片描述

  1. 保存规则并生效
sudo service iptables save  # 保存规则到配置文件
sudo systemctl restart iptables  # 重启服务

在这里插入图片描述

  1. 验证配置
sudo iptables -L -v -n --line-numbers  # 查看规则及行号(便于修改)

在这里插入图片描述

总结

完成以上步骤后,你的CentOS 7服务器已具备基本的稳定性和安全性。建议最后执行sudo reboot重启服务器,确保所有配置(如内核更新、主机名)完全生效。

服务器初始化是系统运维的基础,合理的配置不仅能提升效率,更能减少后续故障和安全风险。根据实际业务需求,你还可以进一步优化(如配置SSH密钥登录、关闭不必要的服务等),为服务器构建更坚实的运行环境。

http://www.xdnf.cn/news/1367623.html

相关文章:

  • Redis ZSET 深度剖析:从命令、原理到实战
  • 几种方式实现文件自动上传到服务器共享文件夹
  • NVIDIA GPU 中的 L2 Cache
  • 【Linux】Socket编程——TCP版
  • 深入OpenHarmony后台任务“黑匣子”:BackgroundTaskMgr框架全栈解析与实战避坑指南
  • Thingsboard 租户管理员权限,增加租户普通用户权限
  • 三、显示3D文字
  • PLC通讯中遇到的实际场景
  • Mamba-HoME:面向3D医学影像分割的层次化专家混合新框架
  • 自然处理语言NLP: 基于双分支 LSTM 的酒店评论情感分析模型构建与实现
  • 透视光合组织大会:算力生态重构金融AI落地新实践
  • C语言 指针
  • 【设计模式】 面向对象基础
  • 打破技术壁垒的先进制造框架的智慧工业开源了
  • 如何利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物的影响?
  • Mac安装mitmproxy及操作对监控的请求
  • Android Glide常见问题解决方案:从图片加载到内存优化
  • 使用 Docker、Jenkins、Harbor 和 GitLab 构建 CI/CD 流水线
  • Linux文件系统深入解析:从原理到实践
  • 通义灵码插件——AI 重构表单开发!半小时搭建可视化拖拽系统,效率碾压传统模式
  • 面试:Spring
  • MySQL 面试题系列(三)
  • week5-[循环结构]听歌
  • cuda编程笔记(16)--使用 cuDNN 实现卷积、激活、池化等反向操作
  • 淘宝/天猫商品详情API数据解析【附代码】
  • AP8105 PFM升压芯片数据手册
  • 支持向量机(SVM)学习笔记
  • 如何安装 VS2019 和 .NET Core SDK 2.2.301(winx64)?完整操作步骤(附安装包下载)
  • Ubuntu22.04安装OBS
  • 【软考论文】论自动化测试方法及其应用