文章目录

  • 前言
  • 一、配置国内 Yum 源(加速软件安装)
  • 二、更新系统与安装必备工具
  • 三、网络连接验证
  • 四、配置主机名
  • 五、同步时间
  • 六、配置防火墙
    • 6.1 使用 iptables
      • 6.1.1 整体思路
      • 6.1.2 详细步骤
      • 6.1.3 完整配置脚本示例
      • 6.1.4 常用管理命令
    • 6.2 使用 firewalld
  • 总结

前言

服务器初始化是系统管理中的基础且关键的一步。合理的初始化配置不仅能提升服务器的安全性、稳定性和可维护性,还能为后续的服务部署与应用运行打下良好基础。

本文以 CentOS 7 为例,详细介绍从系统源配置、基础工具安装到网络、主机名、时间同步及防火墙设置的全流程,帮助您快速完成一台新服务器的基本环境搭建。


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

将默认的国外 Yum 源替换为国内镜像源(如阿里云、清华源),可显著提升软件包的下载速度。

# 1. 备份原有的源文件,防止意外发生
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

在这里插入图片描述

# 2. 下载阿里云的 CentOS 7 源文件(推荐,速度快且稳定)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 下载并配置阿里云的 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

在这里插入图片描述

# 4. 清理旧缓存并生成新缓存
yum clean all && yum makecache

在这里插入图片描述

可选:如需使用清华源,可将第 2 步命令替换为:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo


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

系统更新能获取最新的安全补丁和软件版本,同时安装常用工具可为后续维护和开发提供便利。

# 1. 更新整个系统(内核更新需重启生效)
sudo yum update -y# 2. 安装一批常用工具
sudo yum install -y \vim-enhanced \    # 加强版的 vi 编辑器wget \            # 命令行下载工具curl \            # 网络数据传输工具telnet \          # 网络诊断工具net-tools \       # 包含 ifconfig 等网络工具bash-completion \ # 命令自动补全增强lsof \            # 列出打开的文件sysstat \         # 系统性能监控工具(含 iostat、sar 等)htop \            # 交互式进程查看器(比 top 更好用)tree \            # 以树状图列出目录内容git \             # 版本控制工具unzip \           # 解压 zip 文件lrzsz             # 提供 sz(下载)、rz(上传)命令,方便终端传输文件# 若需开发环境,可安装:
# sudo yum groupinstall -y "Development Tools"yum install -y vim-enhanced wget curl telnet net-tools bash-completio lsof sysstat htop tree git unzip lrzsz

在这里插入图片描述


三、网络连接验证

确保服务器能正常访问外网,是后续所有操作的基础。

# 1. 查看当前 IP 地址,确认网络接口已启动
ip addr show
# 或使用:
ifconfig

在这里插入图片描述

# 2. 测试域名解析(检查 DNS 是否正常)
ping -c 4 www.baidu.com

在这里插入图片描述

# 3. 测试外网连通性
ping -c 4 114.114.114.114# 若无法上网,需检查网络配置,例如:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0(网卡名可能为 ens33 等)

在这里插入图片描述


四、配置主机名

设置易于识别的主机名,方便服务器管理。

# 1. 查看当前主机名
hostname

在这里插入图片描述

# 2. 设置新主机名(例如:centos7-master)
sudo hostnamectl set-hostname centos7-master

在这里插入图片描述

# 3. 修改 hosts 文件,将本机主机名解析到本地
# 在文件末尾添加一行:127.0.0.1 <你的主机名>
sudo vim /etc/hosts
# 例如添加:127.0.0.1 centos7-master# 4. 重新登录 Shell 生效,或执行以下命令立即生效
bash

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


五、同步时间

保证服务器时间准确,对日志分析、证书验证等操作至关重要。

# 1. 安装 chrony 时间同步服务(CentOS 7 首选)
sudo yum install -y chrony# 2. 启动 chronyd 服务并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd

在这里插入图片描述

# 3. 强制立即与时间服务器同步,同步时间 1分钟~5分钟
sudo chronyc -a makestep

在这里插入图片描述

# 4. 查看时间同步状态
sudo chronyc sources -v
# 或查看当前系统时间:
date

在这里插入图片描述


六、配置防火墙

CentOS 7 支持 iptablesfirewalld 两种防火墙管理方式,可根据实际需求选择。

6.1 使用 iptables

尽管系统默认采用 firewalld,许多管理员仍倾向于使用 iptables,因其操作更直观且控制更灵活。iptables 能实现更精细化的规则配置,尤其适合需要精准控制网络流量的场景。

6.1.1 整体思路

  1. 停止并禁用 firewalld
  2. 安装 iptables-services
  3. 设置默认策略;
  4. 编写放行规则;
  5. 保存规则并设置开机自启。

6.1.2 详细步骤

第 1 步:停止并禁用 Firewalld

# 第 1 步:停止并禁用 firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld

在这里插入图片描述

第 2 步:安装并启动 Iptables Services

# 安装 iptables-services 包,它提供了保存规则和作为服务管理的功能
sudo yum install -y iptables-services# 启动iptables服务并设置开机自启
sudo systemctl start iptables
sudo systemctl enable iptables

在这里插入图片描述

第 3 步:设置默认策略(安全基础)
在添加任何允许规则之前,先设置最严格的默认策略:拒绝所有传入连接,允许所有传出连接,允许转发

警告:在执行以下命令前,请确保你已经放行了 SSH 端口(通常是22),否则会立即断开远程连接! 最好在本地控制台操作。

# 1. 设置默认策略(非常重要!先做这一步)
sudo iptables -P INPUT DROP    # 默认拒绝所有进来的流量
sudo iptables -P FORWARD DROP  # 默认拒绝所有转发的流量
sudo iptables -P OUTPUT ACCEPT # 默认允许所有出去的流量# 2. 允许所有本地回环(lo)接口的通信,这是系统内部通信所必需的
sudo iptables -A INPUT -i lo -j ACCEPT# 3. 允许已建立的和相关联的连接通过
# 这条规则至关重要!它允许对外请求的返回数据包进入,否则无法正常上网和使用大多数服务。
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

第 4 步:添加具体的放行规则(按需开放)

现在,在严格的基础上,按需开放端口。

# 1. 允许SSH连接 (端口22) - 这是远程管理的生命线,必须开放!
# 可以使用 --dport 22 或 -m tcp -p tcp --dport 22,后者更精确
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 2. 允许PING (ICMP协议),便于网络诊断
sudo iptables -A INPUT -p icmp -j ACCEPT# 3. 允许HTTP (80) 和 HTTPS (443)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 4. 如果需要放行其他端口,例如MySQL (3306)、自定义端口(8080)
# sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

第 5 步:保存规则并重启服务

iptables 的命令规则默认只在内存中生效,重启后会丢失。必须使用以下命令保存到配置文件中。

# 保存当前内存中的规则到 /etc/sysconfig/iptables 文件
sudo service iptables save
# 或者使用
sudo /usr/libexec/iptables/iptables.init save# 重启iptables服务,确保配置加载无误
sudo systemctl restart iptables

第 6 步:验证配置

# 查看当前生效的所有iptables规则,检查配置是否正确
sudo iptables -L -v -n --line-numbers# 检查iptables服务状态
sudo systemctl status iptables

在这里插入图片描述

6.1.3 完整配置脚本示例

可将以下内容保存为 setup_iptables.sh 并执行(请在安全环境中测试):

#!/bin/bash# 停止firewalld
echo "Stopping firewalld..."
systemctl stop firewalld
systemctl disable firewalld# 安装iptables-services
echo "Installing iptables-services..."
yum install -y iptables-services# 设置默认策略和基础规则
echo "Setting up iptables rules..."
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 添加放行规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    # SSH
iptables -A INPUT -p icmp -j ACCEPT              # ICMP (Ping)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # HTTPS
# 在此添加你需要的其他规则...# 保存并启用
echo "Saving rules and enabling service..."
service iptables save
systemctl start iptables
systemctl enable iptablesecho "Configuration complete! Current rules:"
iptables -L -v -n

在这里插入图片描述

授权并执行:

chmod 744 setup_iptables.sh
sudo ./setup_iptables.sh

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

6.1.4 常用管理命令

命令说明
sudo iptables -L -v -n查看当前规则(详细模式)
sudo iptables -L -v -n --line-numbers查看规则并显示行号(用于删除规则)
sudo iptables -D INPUT <行号>删除指定行号的规则
sudo service iptables save保存当前规则(必须执行)
sudo systemctl restart iptables重启 iptables 服务
sudo systemctl status iptables查看服务状态

注意:服务部署完成后,需根据实际需求继续添加相应端口或协议的放行规则。

6.2 使用 firewalld

CentOS 7 默认使用 firewalld 作为防火墙前端管理工具。配置原则是:默认拒绝所有传入连接,只开放必要的端口

# 1. 查看防火墙状态
sudo systemctl status firewalld
# 如果未启动,则启动并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld# 2. 查看当前开放的端口和服务
sudo firewall-cmd --list-all# 3. 放行常用的服务端口(根据需求选择)
# 放行 SSH 端口(默认22,极其重要,确保自己能连上)
sudo firewall-cmd --permanent --add-service=ssh
# 放行 HTTP (80) 和 HTTPS (443) 端口,用于Web服务
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 如果需要放行自定义端口,例如 8080
# sudo firewall-cmd --permanent --add-port=8080/tcp# 4. 重新加载防火墙配置使其生效
sudo firewall-cmd --reload# 5. 再次确认规则已生效
sudo firewall-cmd --list-all

重要安全提示:如果修改了 SSH 端口(例如改为 5922),一定要先放行新端口再关闭旧端口,否则可能导致自己无法远程连接!

sudo firewall-cmd --permanent --add-port=5922/tcp
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

总结

服务器初始化分为以下几个步骤:

  1. 配置国内Yum源
  2. 安装运维的必备工具
  3. 网络验证
  4. 配置主机名
  5. 同步时间并且设置主机映射 为了加快主机之间访问速度
  6. 配置防火墙
  7. 设置 ssh 端口 以及用户的密码(设置密码复杂性 数字+大小写 符号+并且设置18位以上)或者公钥和私钥登录

完成以上所有步骤后,您的 CentOS 7 服务器就已完成了基本的安全与功能初始化。建议最后执行一次重启(sudo reboot),以确保所有配置(特别是内核更新和主机名设置)完全生效。此时服务器已处于安全、稳定、高效的状态,为后续应用部署和服务搭建奠定了坚实基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94705.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94705.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94705.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我用Photoshop Firefly+Blender,拯救被环境毁掉的人像大片

今日阳光正好。这样的天气对于摄影师来说是种馈赠&#xff0c;但也让我想起了这个行业最普遍也最无奈的痛点&#xff1a;我们精心策划了一场拍摄&#xff0c;模特的表现、光线的质感都近乎完美&#xff0c;但最终却因为一个平淡的阴天、一处杂乱的背景&#xff0c;或是一个无法…

【线性代数】常见矩阵类型

目录 1. 方阵(Square Matrix) 2. 对称矩阵(Symmetric Matrix) 3. 反对称矩阵 / 斜对称矩阵(Skew-Symmetric Matrix) 4. 对角矩阵(Diagonal Matrix) 5. 三角矩阵 6. 正交矩阵(Orthogonal Matrix) 7. 幂等矩阵(Idempotent Matrix) 8. 正定矩阵 / 半正定矩阵 …

达梦数据库统计信息收集

达梦数据库统计信息收集 检查统计信息收集情况 如何手动收集统计信息 查看统计信息收集结果 统计信息手动收集策略 统计信息的自动收集 检查统计信息收集情况 检查最近一次统计信息收集时间: --表的最近一次统计信息收集时间 SQL> select owner,table_name,last_analyzed…

【目标检测】论文阅读4

Fast and accurate object detector for autonomous driving based on improved YOLOv5 发表时间&#xff1a;2023年&#xff1b;期刊&#xff1a;scientific reports 论文地址 摘要 自动驾驶是人工智能的一个重要分支&#xff0c;实时准确的目标检测是保证自动驾驶车辆安全稳…

wpf之DockPanel

前言 DockPanel是一个容器控件&#xff0c;容器中的子控件通过设置DockPanel.Dock属性来调整位置 1、DockPanel.Dock DockPanel.Dock的值有Left、Right、Top、Bottom 1.1 Left 指示控件靠左停靠 1.2 Right 指示控件靠右停靠 1.3 Top 指示控件靠上停靠 1.4 Bottom 指示…

解决VSCode中Cline插件的Git锁文件冲突问题

文章目录 问题现象 错误分析 解决方案 方法一:手动删除锁文件(推荐) 方法二:检查并终止Git进程 方法三:重置检查点目录 方法四:完全重新初始化 预防措施 总结 在使用VSCode进行开发时,许多开发者会选择安装Cline插件来提升工作效率。然而,在使用过程中,可能会遇到一些…

视频合成素材视频-多合一功能-青柠剪吧

剪辑繁琐耗时&#xff1f;这款工具正在改变创作者的日常。最近很多人都在用的剪辑神器&#xff0c;叫青柠剪吧。它尤其适合需要批量处理视频的朋友&#xff0c;内置40多项功能&#xff0c;从替换、分割到对齐、导出&#xff0c;基本覆盖了剪辑全流程。操作简单&#xff0c;哪怕…

未成功:使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)

下载 nginx: download 解压配置http 编译conf/nginx.conf http {server {listen 8080; # 代理服务器监听端口resolver 8.8.8.8; # DNS 解析器location / {proxy_pass $scheme://$host$request_uri; # 转发请求proxy_set_header Host $host;proxy_set_header X-Real-IP $…

【Python】新手入门:Python标准库有哪些常用模块?

🌈 个人主页:(时光煮雨) 🔥 高质量专栏:vulnhub靶机渗透测试 👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~) 🌵文章目录🌵 前言 💡一、操作系统接口 📝二、文件通配符…

从双重检查锁定的设计意图、锁的作用、第一次检查提升性能的原理三个角度,详细拆解单例模式的逻辑

public class SFTPUtil {// 16 usages&#xff08;注释为截图中的使用统计&#xff0c;实际代码无需保留&#xff09;private static ChannelSftp sftp;// 6 usages&#xff08;注释为截图中的使用统计&#xff0c;实际代码无需保留&#xff09;private volatile static SFTPUt…

Win10部署ElasticSearch、Logstash、Kibana

一、本地部署 ElasticSearch 1、下载 Elasticsearch 安装包 点此下载 Elasticsearch 2、解压到指定目录 3、winR 输入 cmd&#xff0c;进入 Elasticsearch 安装目录运行 .bat 文件 4、浏览器输入 https://localhost:9200 &#xff0c;并进行身份验证 在 Elasticsearch 的 bi…

解决Visual Studio中UWP设计器无法显示的问题:需升级至Windows 11 24H2

一则清晰的错误提示&#xff0c;指明了前进的方向。近日&#xff0c;我在使用Visual Studio进行UWP应用开发时遇到了一个棘手问题——MainPage.xaml的设计视图无法正常显示&#xff0c;取而代之的是一个明确的系统提示。本文将详细分析这一问题及其解决方案。 问题现象 当在Vis…

PINN物理信息神经网络多变量回归预测,Matlab实现

前言 物理信息神经网络&#xff08;Physics-Informed Neural Networks, PINNs&#xff09;是一种结合深度学习与物理定律的神经网络方法&#xff0c;旨在解决涉及偏微分方程&#xff08;PDEs&#xff09;的问题。以下是对该问题的详细解答&#xff1a;物理信息神经网络的定义与…

SagooIoT 产品国产化

国产化说明&#xff0c;支持的国产化数据库、服务器、操作系统以及国产化中间件。操作系统统一uos操作系统红旗Linux麒麟V10操作系统中天鲲鹏欧拉版本操作系统服务器华为泰山服务器海光服务器华为鲲鹏服务器只要是能兼容Linux操作系统的服务器&#xff0c;你都可以尝试替换。数…

去哪里学AI?2025年AI培训机构推荐!

随着人工智能技术在金融风控、智能医疗、工业制造等领域的加速落地&#xff0c;其已成为全球科技竞争的核心赛道。但人才供给的不足却制约着行业发展&#xff0c;中国信息通信研究院 2024 年发布的《人工智能人才发展报告》显示&#xff0c;我国 AI 领域年度人才缺口已达 720 万…

800G时代!全场景光模块矩阵解锁数据中心超高速未来

引言&#xff1a; 在AI算力爆发与云服务迭代的浪潮下&#xff0c;全球数据中心正加速迈入800G时代。面对激增的带宽需求与严苛的能效挑战&#xff0c;如何选择兼具高性能、低功耗与灵活部署的光模块&#xff1f;全系列800G解决方案已构建完整技术生态&#xff0c;为算力基础设施…

TDengine IDMP 5 个实测场景让监控变简单

概述 在工业#数字化转型 的赛道上&#xff0c;“监控系统搭建” 一直是个让人头疼的难题&#xff1a;传统方案要写 SQL、调脚本、学可视化工具&#xff0c;一套流程走下来少则几天、多则几周&#xff0c;运维新增设备还得重复折腾。但现在&#xff0c;有了 TDengine TSDB TDe…

关于vscode的右键常用操作以及自定义快捷键

最近我一直在使用vscode进行嵌入式开发&#xff0c;我发现比keil好用多了&#xff0c;记录常用右键操作&#xff0c;以及自定义快捷键&#xff0c;记录下来&#xff0c;多希望对大家有所帮助。vscode自定义快捷键F8&#xff1a;跳转到类型定义 只需要将鼠标左键点击变量&…

二、添加3D形状

几何体的生成主要依赖MeshBuilder类添加和管理,包含如下方法: 目录 几何体 1、立方体 AddBox 2、球体 AddShpere 3、圆环 AddTorus 4、锥体或截锥体 AddCone 5、圆柱体 AddCylinder 6、空心管道 AddPipe 7、圆截面管道 AddTube 8、挤压二维截面 AddExtrudeGeometry…

Excel 表格 - 乘法与除法处理(保留两位小数四舍五入实现、保留两位小数截断实现、添加百分号)

乘法函数 1、保留两位小数四舍五入实现 &#xff08;1&#xff09;基本介绍 ROUND(【单元格 1】 * 【单元格 2】, 2)【单元格 1】 * 【单元格 2】&#xff1a;基本的乘法运算ROUND(..., 2)&#xff1a;外层函数&#xff0c;将结果四舍五入到指定的小数位数&#xff0c;2 表示保…