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

Rocky Linux 9.2网络配置与本地yum源搭建实战指南

1. Rocky Linux 9.2网络配置实战

Rocky Linux作为RHEL的替代品,在企业级应用中越来越受欢迎。最近我在部署一套内部测试环境时,发现很多新手对Rocky Linux 9.2的网络配置存在困惑。下面我就把实际踩坑后验证过的最可靠配置方法分享给大家。

1.1 网卡配置的两种方式

Rocky Linux 9.2提供了两种主流的网络配置方式,我建议新手优先使用第一种配置文件方式:

方法一:直接修改配置文件

# 首先查看网卡名称 nmcli device

这个命令会列出所有网络接口,通常以太网卡名称类似ens160或eth0。记下你要配置的网卡名称后,用vim编辑对应的配置文件:

vi /etc/NetworkManager/system-connections/ens160.nmconnection

这里有个容易踩坑的地方:Rocky Linux 9.2的配置文件路径和格式与旧版本有所不同。关键的配置段应该是这样的:

[ipv4] address1=192.168.1.100/24,192.168.1.1 dns=8.8.8.8; method=manual

配置完成后必须重启网络服务:

systemctl restart NetworkManager

方法二:使用nmcli命令行工具虽然官方推荐nmcli,但我实测发现对新手不太友好。比如要设置静态IP需要这样:

nmcli con mod ens160 ipv4.addresses 192.168.1.100/24 nmcli con mod ens160 ipv4.gateway 192.168.1.1 nmcli con mod ens160 ipv4.dns "8.8.8.8" nmcli con mod ens160 ipv4.method manual nmcli con up ens160

提示:如果配置后网络不通,建议先用ip addr检查IP是否生效,再用ping测试网关连通性

1.2 多网卡绑定实战

在生产环境中,我们经常需要配置网卡绑定提高可靠性。我在某次部署中就遇到过单网卡故障导致服务中断的问题。配置步骤其实很简单:

  1. 先创建绑定接口
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
  1. 添加从属网卡
nmcli con add type bond-slave ifname ens160 master bond0 nmcli con add type bond-slave ifname ens192 master bond0
  1. 配置IP地址
nmcli con mod bond0 ipv4.addresses 192.168.1.200/24 nmcli con mod bond0 ipv4.gateway 192.168.1.1 nmcli con up bond0

这种配置模式下,当主网卡故障时会自动切换到备用网卡,对业务完全透明。我实测切换时间在3秒以内,对大多数应用来说已经足够。

2. 本地yum源深度配置

2.1 镜像源准备与挂载

搭建本地yum源首先要准备好安装镜像。我推荐从官网下载DVD镜像,包含的软件包最全:

wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.2-x86_64-dvd.iso

挂载镜像时有个细节要注意:如果直接mount /dev/sr0可能会遇到只读问题。我的经验是先用lsblk确认设备名,然后这样挂载更可靠:

mkdir -p /media/cdrom mount -o loop Rocky-9.2-x86_64-dvd.iso /media/cdrom

2.2 yum源配置文件详解

很多教程给的repo配置过于简单,我推荐使用这种增强版配置:

cat > /etc/yum.repos.d/local.repo <<EOF [BaseOS] name=Rocky Linux $releasever - BaseOS baseurl=file:///media/cdrom/BaseOS enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial [AppStream] name=Rocky Linux $releasever - AppStream baseurl=file:///media/cdrom/AppStream enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial [HighAvailability] name=Rocky Linux $releasever - HighAvailability baseurl=file:///media/cdrom/HighAvailability enabled=0 gpgcheck=1 [ResilientStorage] name=Rocky Linux $releasever - ResilientStorage baseurl=file:///media/cdrom/ResilientStorage enabled=0 gpgcheck=1 EOF

这个配置有几个优点:

  1. 包含了所有常用仓库
  2. 启用了GPG校验更安全
  3. 按需启用特定仓库
  4. 使用变量让配置更通用

2.3 常见问题排查

在最近的一次培训中,学员遇到最多的问题是yum makecache失败。这里分享几个排查技巧:

问题一:挂载点不正确症状:报错"Couldn't open file /media/cdrom/BaseOS/repodata/repomd.xml" 解决:用ls命令检查/media/cdrom下是否有BaseOS目录

问题二:SELinux限制症状:权限被拒绝 解决:临时禁用SELinux测试

setenforce 0

问题三:镜像不完整症状:GPG校验失败 解决:重新下载镜像并验证SHA256校验和

3. 高级网络配置技巧

3.1 VLAN配置实战

在企业网络中,VLAN隔离是基本需求。Rocky Linux 9.2配置VLAN其实很简单:

# 创建VLAN接口 nmcli con add type vlan con-name vlan100 dev ens160 id 100 nmcli con mod vlan100 ipv4.addresses 192.168.100.2/24 nmcli con up vlan100

配置完成后可以用以下命令验证:

ip -d link show vlan100

3.2 网络性能调优

对于高负载服务器,我通常会调整以下参数:

# 增加TCP缓冲区大小 echo 'net.core.rmem_max=16777216' >> /etc/sysctl.conf echo 'net.core.wmem_max=16777216' >> /etc/sysctl.conf # 启用TCP快速打开 echo 'net.ipv4.tcp_fastopen=3' >> /etc/sysctl.conf # 应用配置 sysctl -p

这些调整在我的Web服务器上实测提升了约15%的网络吞吐量。

4. yum源维护与扩展

4.1 创建自定义仓库

除了官方仓库,我们还可以添加自己的软件仓库。比如要添加EPEL仓库:

dnf install epel-release

对于内部软件包,可以这样创建本地仓库:

# 安装createrepo工具 dnf install createrepo_c # 创建仓库目录 mkdir -p /opt/myrepo/packages # 添加RPM包 cp *.rpm /opt/myrepo/packages/ # 生成仓库元数据 createrepo /opt/myrepo # 添加repo配置 cat > /etc/yum.repos.d/myrepo.repo <<EOF [myrepo] name=My Custom Repo baseurl=file:///opt/myrepo enabled=1 gpgcheck=0 EOF

4.2 仓库同步与更新

保持本地仓库更新很重要,可以设置定时任务:

# 每天凌晨同步更新 0 3 * * * /usr/bin/rsync -avz --delete rsync://mirror.rockylinux.org/rocky/9/BaseOS/x86_64/os/ /media/cdrom/BaseOS/

对于内部仓库,每次添加新软件包后需要重建元数据:

createrepo --update /opt/myrepo

我在实际运维中发现,合理配置的本地yum源可以将软件安装速度提升10倍以上,特别是在批量部署时效果更明显。

http://www.jsqmd.com/news/642134/

相关文章:

  • 告别手动敲代码!Quartus Prime 21.1 一键生成 Testbench 并联动 Modelsim 仿真的保姆级教程
  • SMUDebugTool深度解析:解锁Ryzen处理器隐藏性能的专业硬件调试实战指南
  • 单细胞miloR实战:基于KNN图的差异丰度分析在疾病研究中的应用
  • 用 Cursor 重构 iOS App:从遗留代码到性能优化(附实战案例与规则模板)
  • SAP Fiori Elements实战:避开CDS View发布OData服务的那些‘坑’(以List Report为例)
  • pubmed的使用
  • 胶囊网络实战避坑指南:PyTorch代码逐行解析,带你绕过动态路由和重构损失的那些‘坑’
  • Vitis HLS Schedule Viewer保姆级解读:从代码到硬件调度,一张图看懂你的设计瓶颈
  • 从产线到道路:车载毫米波雷达标定全流程的工程实践与挑战
  • 【2024新版】BurpSuite零基础安装到实战指南(含JDK配置+Firefox插件调试)
  • 前端福音!VuReact v1.6.0 版本更新,让 Vue 转 React 更高效、更可靠
  • VSCode+CMake构建STM32高效开发环境的实战指南
  • 5分钟快速上手:Zotero茉莉花插件中文文献管理终极指南
  • libhv实战:300行代码构建一个C++高性能ProtoRPC网关
  • 如何3步完成抖音音频批量提取:douyin-downloader抖音下载器完整指南
  • 133. Rancher 2.12.x 升级失败:检测到 RKE1 NodeTemplate 资源
  • 告别GPIB和USB?用TCP/IP连接示波器:基于NI-VISA的Linux自动化测试实战
  • 逆向工程师的汇编速成课:如何用5条核心指令理解程序底层逻辑
  • AIAgent算力成本飙升?3步精准定位隐性开销并压降47%的实操指南
  • Go语言如何做速率限制_Go语言rate limiter教程【速学】
  • Antv L7 + Mapbox 实现3D地图可视化:从基础配置到高级应用
  • 最彻底-Ubuntu系统下如何清理kubernetes(k8s)残留-2023最新
  • 实现双列表共用单滚动条的 CSS 解决方案
  • 告别冗余高斯!用Scaffold-GS结构化锚点,实现更鲁棒的3D场景实时渲染
  • Multi-Agent系统的容量规划:从性能基准到资源预算的完整方法
  • 如何高效管理《边缘世界》模组:RimSort免费开源模组管理器终极指南
  • PLC编程新手必看:LD、LDI、OUT指令的5个实战应用场景(附台达WPLSoft操作截图)
  • DownKyi终极指南:从零开始掌握B站视频下载的完整路线图
  • 从GROMACS到Amber:交叉工具链完成氢键寿命分析的避坑指南
  • 别再折腾模拟器了!Godot 4.4.1 项目直接打包APK,用微信传手机就能跑起来