内网环境福音:CentOS 局域网YUM源搭建全指南(有外网/无外网双方案)

在企业级Linux运维场景中,很多现场服务器处于纯内网环境,无法直接访问外网YUM源,导致系统包更新、软件安装等操作举步维艰;即便部分服务器能连通外网,也可能因官方源速度慢、版本老旧影响运维效率。针对这些痛点,本文整理了一套完整的局域网YUM源搭建方案,分别适配"有外网"和"无外网"两种场景,帮助运维人员实现内网服务器的高效包管理。

一、前期准备:关闭SELINUX(必做步骤)

无论是哪种搭建场景,首先需要关闭SELINUX,避免其对后续操作产生权限限制:

  1. 查询SELINUX状态

    复制代码

    getenforce

  2. 临时关闭(无需重启,立即生效)

    复制代码

    setenforce 0

  3. 永久关闭(修改配置文件,需重启服务器生效)

    复制代码

    vim /etc/selinux/config

    将配置项SELINUX=enforcing改为SELINUX=disabled,保存后重启服务器即可永久关闭。

二、场景一:有外网服务器搭建局域网YUM源

此方案适用于有一台可连通外网的服务器,可通过同步外网源包搭建内网YUM仓库,供其他内网服务器使用。

1. 配置国内YUM源(提升同步速度)

  1. 先备份历史YUM源,避免冲突

    复制代码

    sudo mv /etc/yum.repos.d/* /root/

  2. 下载阿里云CentOS 7 YUM源(无wget可换curl)

    复制代码

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 或curl命令 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

  3. 清理并生成缓存

    复制代码

    yum clean all && yum makecache

2. 安装并配置httpd服务(提供仓库访问)

  1. 先更新YUM源,再安装httpd

    复制代码

    yum update -y yum install -y httpd

  2. 修改端口(默认80端口,若被占用可改为8080)

    复制代码

    vim /etc/httpd/conf/httpd.conf

    Listen 80改为Listen 8080,保存退出。

  3. 启动httpd并设置开机自启

    复制代码

    systemctl start httpd systemctl enable httpd

  4. 配置防火墙(建议直接关闭,简化操作)

    复制代码

    systemctl stop firewalld systemctl disable firewalld

3. 同步外网源包,创建YUM仓库

  1. 创建仓库目录,用于存放同步的RPM包

    复制代码

    mkdir -p /var/www/html/repo

  2. 过滤架构(可选,节省磁盘空间)

  1. 编辑/etc/yum.repos.d/CentOS-Base.repo,在[base][updates][extras]段下添加过滤配置,只同步x86_64架构包:

    复制代码

    exclude=*.i?86 *.athlon *.ppc* *.sparc* arch=x86_64

  1. 安装同步工具并拉取RPM包

    复制代码

    yum install -y createrepo yum-utils reposync -a x86_64 -l -d -m -n -p /var/www/html/repo --download-metadata

  2. 生成仓库元数据(让YUM能识别仓库)

    复制代码

    createrepo -p /var/www/html/repo/base createrepo -p /var/www/html/repo/updates createrepo -p /var/www/html/repo/extras

  3. 测试访问:浏览器打开http://服务器IP:8080/repo,能看到仓库目录即配置成功。

4. 配置内网客户端服务器

在需要使用局域网YUM源的内网服务器(如[192.168.101.102](192.168.101.102))上创建repo文件:

复制代码

vim /etc/yum.repos.d/Base.repo

写入以下内容(替换为实际仓库服务器IP):

复制代码

[base] name=base baseurl=http://192.168.101.150:8080/repo/base enabled=1 gpgcheck=0 [updates] name=updates baseurl=http://192.168.101.150:8080/repo/updates enabled=1 gpgcheck=0 [extras] name=extras baseurl=http://192.168.101.150:8080/repo/extras enabled=1 gpgcheck=0

清理并重建缓存后,即可测试安装软件:

复制代码

yum clean all && yum makecache yum install -y wget

三、场景二:无外网环境搭建本地YUM源

若所有服务器均无外网访问权限,可通过"外网提前同步包+内网迁移"的方式搭建YUM源。

1. 提前在外网服务器同步RPM包

在有外网的Linux服务器上,按场景一的步骤同步阿里云源包,然后打包为repo.tar.gz,通过U盘、内网传输工具等方式迁移到内网YUM源服务器(如[192.168.101.150](192.168.101.150))。

2. 内网服务器创建本地仓库

  1. 解压迁移的包并生成元数据

    复制代码

    tar -zxvf repo.tar.gz -C /home createrepo -p /home/repo/base createrepo -p /home/repo/updates createrepo -p /home/repo/extras

  2. 创建本地repo配置文件

    复制代码

    vim /etc/yum.repos.d/Base.repo

    写入本地仓库路径:

    复制代码

    [base] name=base baseurl=file:///home/repo/base enabled=1 gpgcheck=0 [updates] name=updates baseurl=file:///home/repo/updates enabled=1 gpgcheck=0 [extras] name=extras baseurl=file:///home/repo/extras enabled=1 gpgcheck=0

  3. 清理缓存并测试安装

    复制代码

    yum clean all && yum makecache yum install -y wget

3. 扩展为局域网共享仓库(可选)

若需供多台内网服务器使用,可安装httpd服务(步骤同场景一),然后将本地仓库迁移到httpd目录:

复制代码

mkdir -p /var/www/html/repo mv /home/repo/* /var/www/html/repo

内网客户端服务器按场景一的客户端配置方式,使用http://仓库IP:8080/repo作为源地址即可。

四、总结

无论是有外网还是无外网场景,搭建局域网YUM源的核心都是"仓库目录+元数据+客户端配置"三步。有外网时可直接同步外网源,效率更高;无外网时通过离线迁移包也能实现内网包管理。该方案解决了内网服务器软件安装、系统更新的痛点,大幅提升企业内网Linux运维的便捷性和稳定性。

相关推荐
一颗青果2 分钟前
HTTP协议详解
linux·网络·网络协议·http
Joy T2 小时前
【AI运维】02 云上基础部署:ECS、OSS 与 Nginx 的体系化理解与实践
运维·nginx
广州灵眸科技有限公司3 小时前
瑞芯微(EASY EAI)RV1126B CAN使用
linux·网络·单片机·嵌入式硬件
石小千4 小时前
Nexus升级(3.63.0--3.87.1)
运维
魂万劫5 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
序属秋秋秋6 小时前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
zfj3216 小时前
top 命令中的 wa (IO wait) 指标,理论上几乎完全是由磁盘IO(包括swap)引起的,而不是网络IO
linux·网络·top·iowait
Xの哲學6 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
数字化转型20256 小时前
SAP Signavio 在风机制造行业的深度应用研究
大数据·运维·人工智能
用户6135411460166 小时前
libicu-62.1-6.ky10.x86_64.rpm 安装步骤详解(麒麟V10系统)
linux