VM虚拟机中Fedora系统设置固定IP上网的详细教程
时间:2026-06-20 10:40
先说明一下,这套方法在 Fedora 17 和 18 版本上已亲测有效。其他版本或许也能适用,但可能存在细微差异——这一点需要提前留意。 1 虚拟机相关配置 如果你不是在虚拟机中运行 Fedora,这一步可以跳过。如果确实在使用虚拟机,具体配置方法可参考之前那篇“VM虚拟机中的Ubuntu设置固定
先说明一下,这套方法在 Fedora 17 和 18 版本上已亲测有效。其他版本或许也能适用,但可能存在细微差异——这一点需要提前留意。

1. 虚拟机相关配置
如果你不是在虚拟机中运行 Fedora,这一步可以跳过。如果确实在使用虚拟机,具体配置方法可参考之前那篇“VM虚拟机中的Ubuntu设置固定IP上网图文教程”,思路基本一致。
2. 设置静态IP地址
首先选择你要配置的网络接口。使用 `ifconfig -a` 查看当前有哪些接口,通常选择 eth0 即可。然后编辑对应接口的配置文件,这里以 eth0 为例。
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
将 `BOOTPROTO` 从 `dhcp` 改为 `static`,并添加 `IPADDR`、`NETMASK` 和 `GATEWAY` 等参数,同时确保 `ONBOOT` 设置为 `yes`。以下是我使用的配置示例——请根据实际网络环境调整:
UUID="2be778d0-e42b-4a3e-9ad6-598f1681c4a9"
NM_CONTROLLED="yes"
DEVICE="eth0"
IPADDR=192.168.1.137
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
BOOTPROTO=static
ONBOOT="yes"
3. 配置DNS
执行以下命令:
sudo vi /etc/resolv.conf
按如下方式设置 DNS 服务器(这里使用的是校内 DNS,你需要替换为实际环境中的地址):
nameserver 202.38.64.1
4. 防止 resolv.conf 被重写
注意 `resolv.conf` 文件开头有一行“# Generated by NetworkManager”,说明该文件是由 NetworkManager 程序生成的,与 Ubuntu 12.10 中的情况类似。在 Fedora 下,防止它被重写有两种方法(与 Ubuntu 有所不同):
方法一:禁用 Network Manager 服务
先停止该服务,再禁止其自启动。以下两种方式均可:
chkconfig --level 345 NetworkManager on
或者
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
如果上述方法无效(实际测试中有效),可以尝试第二种方法。
方法二:不让 Network Manager 接管 DNS
细心的用户可能已经注意到 `ifcfg-eth0` 配置文件中有一行 `NM_CONTROLLED="yes"`,NM 即 Network Manager 的缩写。默认情况下它允许 Network Manager 管理 DNS 服务。那么不让它管理即可。
解决办法很简单:将配置文件中的 `NM_CONTROLLED="yes"` 改为 `NO`,系统便不再由 Network Manager 接管 DNS。修改完成后,前往 `resolv.conf` 添加自己的 DNS 信息,重启网络后该文件就不会被重写了。
5. 重启网络并应用配置
systemctl restart network.service