本文详细介绍了解决 Fedora 虚拟机因缺失网络配置文件而无法上网的多种方案,从 NetworkManager 图形化设置到传统的 ifcfg 文件配置,指南涵盖了详细的步骤与技巧,帮助用户根据自身需求选择最佳配置方式,轻松恢复网络连接。
在使用 VMware、VirtualBox 或 Hyper-V 安装 Fedora 虚拟机时,很多用户在配置网络时会遇到一个棘手的问题:明明是在联网状态下安装的系统,但进入系统后却发现“没有网络配置文件”。
当你尝试修改 /etc/sysconfig/network-scripts/ 目录时,却发现里面空空如也,或者只有一些自动生成的文件,找不到熟悉的 ifcfg-eth0,这究竟是怎么回事?又该如何解决?
为什么会出现“没有网络配置文件”的情况?
我们需要理解 Fedora(以及较新的 RHEL/CentOS)与旧版 Linux 在网络管理上的差异。

- NetworkManager 的接管:现代 Fedora 默认使用 NetworkManager 来管理网络,而不是传统的
network服务,NetworkManager 将网络连接定义为“连接配置文件”,而不是传统的静态ifcfg文件。 - 命名规则的改变:在旧系统中,网卡通常是
eth0;而在新系统中,通常是enp0s3、ens33等名称。 - 用户习惯的差异:习惯了在
/etc/sysconfig/network-scripts/下直接编辑文本文件来配置 IP 的用户,可能会因为找不到目标文件而感到困惑。
你的 Fedora 虚拟机有网络配置,只是它们被 NetworkManager 管理着,或者以不同的方式存储。
解决方案一:检查 NetworkManager(推荐)
既然找不到传统的 ifcfg 文件,那就直接使用 NetworkManager 的命令行工具 nmcli 来查看和管理。
-
查看所有连接配置文件 打开终端,输入以下命令:
nmcli connection show
你会看到类似以下的输出:
NAME UUID TYPE DEVICE System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet enp0s3这就证明了网络配置文件是存在的,只是它叫
System eth0,并且绑定在设备enp0s3上。 -
激活网络连接 如果连接状态显示为“断开”或“未连接”,请执行激活命令:
sudo nmcli connection up "System eth0"
如果成功,你应该能看到网络流量了。
-
修改 IP 地址(动态或静态) 如果你需要修改 IP,可以使用
modify子命令:# 设置为 DHCP(默认) sudo nmcli connection modify "System eth0" ipv4.method auto # 设置为静态 IP sudo nmcli connection modify "System eth0" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual # 保存并重启 sudo nmcli connection down "System eth0" && sudo nmcli connection up "System eth0"
解决方案二:手动创建传统配置文件
如果你非常怀念旧版 Linux 的配置方式,或者你的环境强制要求使用 /etc/sysconfig/network-scripts/,你可以手动创建 ifcfg 文件。
-
确认网卡名称 首先确认你的网卡接口名称,使用:
ip a # 或者 nmcli device
假设输出显示你的网卡是
enp0s3。 -
创建配置文件 使用
sudo权限编辑文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
输入以下内容(以静态 IP 为例):
TYPE=Ethernet BOOTPROTO=static NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes

