CentOS 7 虚拟机配置指南:静态IP、代理上网与换源实战

CentOS 7 虚拟机配置指南:静态IP、代理上网与换源实战
建材王哥CentOS 7 虚拟机配置指南:静态IP、代理上网与换源实战
在使用 VMware 或 VirtualBox 安装 CentOS 7 虚拟机时,我们经常会遇到三个核心问题:
- 如何配置静态 IP,防止重启后 IP 变动?
- 宿主机有代理,虚拟机如何通过代理上网?
- CentOS 7 官方源停止服务,如何修复
yum报错并安装软件?
本文将结合实际操作,一站式解决这三个问题。
一、 NAT 模式下配置静态 IP
在 NAT 模式下,虚拟机通过宿主机的虚拟网卡转发数据。配置静态 IP 需要先了解虚拟网络编辑器分配的网段。
1. 查看 VMware 网络信息
打开 VMware -> 编辑 -> 虚拟网络编辑器 -> 选择 **VMnet8 (NAT 模式)**。
记录以下信息(你的环境数值可能不同):
- 子网 IP:例如
192.168.133.0 - 子网掩码:
255.255.255.0 - 网关 IP:点击“NAT设置”查看,例如
192.168.133.2
2. 修改 CentOS 网卡配置
登录 CentOS 终端,查找网卡名称(通常是 ens33):
1 | ip addr |
编辑网卡配置文件:
1 | vi /etc/sysconfig/network-scripts/ifcfg-ens33 |
修改以下关键参数,若不存在则手动添加:
1 | # 修改为静态模式 |
保存退出后,重启网络服务:
1 | systemctl restart network |
验证配置:
1 | ip addr |
二、 配置虚拟机通过宿主机代理上网
如果宿主机开启了代理软件(如 Clash、v2rayN),虚拟机默认无法直接使用该代理。我们需要通过环境变量将流量转发给宿主机。
1. 宿主机侧准备
打开代理软件设置,勾选 “允许局域网连接”。
2. 获取宿主机 NAT 网卡 IP
在 Windows 宿主机命令行输入 ipconfig,找到 VMware Network Adapter VMnet8 的 IPv4 地址。假设为 192.168.133.1。同时确认代理软件监听的端口(如 10808)。
3. 虚拟机侧配置代理
为了永久生效,我们将代理写入环境变量配置文件。
1 | vi /etc/profile |
在文件末尾添加以下内容(IP 和端口替换为你的实际值):
1 | # Set Proxy |
使配置立即生效:
1 | source /etc/profile |
4. 验证代理
注意:ping 命令通常不走代理(使用 ICMP 协议),请使用 curl 测试。
1 | curl -I https://www.google.com |
三、 解决 yum 报错与依赖冲突(更换 Vault 源)
配置好网络后,执行 yum install wget 可能会遇到如下报错:Could not retrieve mirrorlist http://mirrorlist.centos.org...
原因: CentOS 7 已于 2024 年 6 月 EOL(停止服务),官方镜像源已下线。
特别注意: 如果直接使用网上某些教程的 CentOS 8 源配置,会导致严重的依赖冲突报错(例如提示 rpm-libs 需要 librpm.so.8 但系统是 librpm.so.3,或者出现 Depsolving loop limit reached)。这是因为 不能混用 CentOS 7 和 CentOS 8 的软件源。
1. 清理错误的源文件(如果之前配置错了)
如果已经配置了错误的源导致报错,先删除:
1 | rm -f /etc/yum.repos.d/CentOS-Base.repo |
2. 配置正确的 CentOS 7 Vault 源
我们需要使用 CentOS 7 的归档源。执行以下命令直接生成正确的配置文件:
1 | cat > /etc/yum.repos.d/CentOS-Base.repo << 'EOF' |
解释:这里使用的是阿里云的
centos-vault镜像,路径固定为7.9.2009(CentOS 7 的最终版本),确保软件包版本与系统匹配,避免依赖冲突。
3. 配置 yum 独立代理(可选但推荐)
虽然环境变量已设置,但为了确保 yum 稳定走代理,可单独配置:
1 | echo "proxy=http://192.168.133.1:10808" | sudo tee -a /etc/yum.conf |
4. 清理缓存并安装 wget
1 | # 清理旧缓存(非常重要) |
四、 总结
- 静态 IP:关键在于网关要与虚拟网络编辑器中的 NAT 网关一致。
- 代理上网:核心是开启代理软件的“允许局域网”,并在虚拟机中正确配置
http_proxy环境变量。 - 源失效与冲突:CentOS 7 停服后,千万不要使用 CentOS 8 的源。必须使用
centos-vault归档源,并锁定7.9.2009版本路径,才能避免依赖冲突报错。
通过以上步骤,你的 CentOS 7 虚拟机就已经拥有了一个稳定、可上网的开发环境。


