解决 Fedora 虚拟机没有网络配置文件的烦恼,从 NetworkManager 到传统配置的全面指南

admin
本文详细介绍了解决 Fedora 虚拟机因缺失网络配置文件而无法上网的多种方案,从 NetworkManager 图形化设置到传统的 ifcfg 文件配置,指南涵盖了详细的步骤与技巧,帮助用户根据自身需求选择最佳配置方式,轻松恢复网络连接。

在使用 VMware、VirtualBox 或 Hyper-V 安装 Fedora 虚拟机时,很多用户在配置网络时会遇到一个棘手的问题:明明是在联网状态下安装的系统,但进入系统后却发现“没有网络配置文件”。

当你尝试修改 /etc/sysconfig/network-scripts/ 目录时,却发现里面空空如也,或者只有一些自动生成的文件,找不到熟悉的 ifcfg-eth0,这究竟是怎么回事?又该如何解决?

为什么会出现“没有网络配置文件”的情况?

我们需要理解 Fedora(以及较新的 RHEL/CentOS)与旧版 Linux 在网络管理上的差异。

解决 Fedora 虚拟机没有网络配置文件的烦恼,从 NetworkManager 到传统配置的全面指南

  1. NetworkManager 的接管:现代 Fedora 默认使用 NetworkManager 来管理网络,而不是传统的 network 服务,NetworkManager 将网络连接定义为“连接配置文件”,而不是传统的静态 ifcfg 文件。
  2. 命名规则的改变:在旧系统中,网卡通常是 eth0;而在新系统中,通常是 enp0s3ens33 等名称。
  3. 用户习惯的差异:习惯了在 /etc/sysconfig/network-scripts/ 下直接编辑文本文件来配置 IP 的用户,可能会因为找不到目标文件而感到困惑。

你的 Fedora 虚拟机网络配置,只是它们被 NetworkManager 管理着,或者以不同的方式存储。

解决方案一:检查 NetworkManager(推荐)

既然找不到传统的 ifcfg 文件,那就直接使用 NetworkManager 的命令行工具 nmcli 来查看和管理。

  1. 查看所有连接配置文件 打开终端,输入以下命令:

    nmcli connection show

    你会看到类似以下的输出:

    NAME    UUID                                  TYPE      DEVICE
    System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  enp0s3

    这就证明了网络配置文件是存在的,只是它叫 System eth0,并且绑定在设备 enp0s3 上。

  2. 激活网络连接 如果连接状态显示为“断开”或“未连接”,请执行激活命令:

    sudo nmcli connection up "System eth0"

    如果成功,你应该能看到网络流量了。

  3. 修改 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 文件。

  1. 确认网卡名称 首先确认你的网卡接口名称,使用:

    ip a
    # 或者
    nmcli device

    假设输出显示你的网卡是 enp0s3

  2. 创建配置文件 使用 sudo 权限编辑文件:

    sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

    输入以下内容(以静态 IP 为例):

    TYPE=Ethernet
    BOOTPROTO=static
    NAME=enp0s3
    DEVICE=enp0s3
    ONBOOT=yes
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码