Fedora 20 是一个非常古老的版本,已于 2025 年停止支持。 这意味着它没有安全更新,存在已知的漏洞,并且很多现代的网络工具和配置方式已经不再适用。强烈建议您升级到更新的 Fedora 版本(如 Fedora 39 或 40)或使用其他仍在维护的发行版。 仅作为技术参考或用于在特定环境中维护旧系统,不推荐在日常使用中继续使用 Fedora 20。

在 Fedora 20 中,网络配置主要通过两个核心文件完成:
/etc/sysconfig/network-scripts/目录下的接口配置文件(如ifcfg-eth0)。/etc/sysconfig/network主网络配置文件。
我们将分两种主要场景来讲解:静态 IP 配置 和 动态 IP (DHCP) 配置。
配置静态 IP 地址
这是最常见的需求,例如为服务器设置固定 IP。
步骤 1:确定网络接口名称
你需要知道要配置的网络接口名称,在 Fedora 20 中,通常是 eth0, eth1 等。

打开终端,使用 ip addr 或 ifconfig 命令查看:
# 使用 ip 命令 (推荐) ip addr # 或者使用 ifconfig 命令 ifconfig
你会看到类似下面的输出,找到你的网卡,eth0:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
...
步骤 2:编辑接口配置文件
进入 /etc/sysconfig/network-scripts/ 目录,找到对应接口的配置文件,命名规则通常是 ifcfg-<接口名>。
cd /etc/sysconfig/network-scripts/ ls # 你应该能看到 ifcfg-eth0, ifcfg-lo 等文件
使用你喜欢的文本编辑器(如 vi 或 nano)编辑 ifcfg-eth0 文件:

sudo vi ifcfg-eth0
修改为以下格式,根据你的网络环境修改相应值:
# 设备类型 DEVICE="eth0" # 启动时是否激活此接口 ONBOOT="yes" # IP 地址配置方式: static (静态) 或 dhcp (动态) BOOTPROTO="static" # IP 地址 IPADDR=192.168.1.100 # 子网掩码 NETMASK=255.255.255.0 # 网关地址 GATEWAY=192.168.1.1 # DNS 服务器地址 (可以写多个,用空格隔开) DNS1=8.8.8.8 DNS2=8.8.4.4 # IPv4 配置信息 IPV4INIT=yes # (可选) 主机名 # HOSTNAME=my-fedora20-server # (可选) 网络管理器是否控制此接口 # 如果设置为 "no",则 NetworkManager 不会管理这个接口,配置由脚本控制。 # 如果设置为 "yes",则 NetworkManager 会尝试管理,可能导致冲突。 # 对于服务器,通常设置为 "no" 以确保配置稳定。 NM_CONTROLLED=no
参数解释:
DEVICE: 网络接口名称。ONBOOT: 设置为yes,确保系统启动时自动激活该网络接口。BOOTPROTO: 设置为static,表示使用静态 IP。IPADDR: 你想要的静态 IP 地址。NETMASK: 子网掩码。GATEWAY: 默认网关地址。DNS1,DNS2: DNS 服务器地址,这对于域名解析至关重要。NM_CONTROLLED: 关键参数,对于服务器,强烈建议设置为no,这样可以避免 NetworkManager (图形网络管理工具) 干扰你的静态配置,确保服务重启后配置依然有效。
步骤 3:重启网络服务或重启系统
保存并关闭文件后,你需要让新的配置生效,有几种方法:
重启网络服务(推荐)
# 重启整个网络服务 sudo service network restart # 或者只重启特定接口 sudo ifdown eth0 sudo ifup eth0
重启系统
如果不确定,或者想让所有服务都重新加载,可以直接重启系统。
sudo reboot
重启后,使用 ip addr 或 ping 命令验证网络是否配置成功。
# 查看IP地址 ip addr show eth0 # 测试网络连通性 ping 8.8.8.8 ping www.google.com
配置动态 IP 地址 (DHCP)
如果你的网络环境有 DHCP 服务器(比如家用路由器),配置会非常简单。
步骤 1:编辑接口配置文件
同样,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
简化为以下几行:
DEVICE="eth0" ONBOOT="yes" BOOTPROTO="dhcp" NM_CONTROLLED=no
关键参数解释:
BOOTPROTO="dhcp": 这告诉系统使用 DHCP 协议自动获取 IP 地址、子网掩码、网关和 DNS。
步骤 2:重启网络服务
sudo service network restart
系统会自动向网络中的 DHCP 服务器请求 IP 地址,你可以使用 ip addr 查看是否成功获取到了 IP。
高级配置与故障排查
主机名配置
主机名可以在两个地方配置:
- 临时主机名: 使用
hostname命令,重启后会失效。sudo hostname my-new-hostname
- 永久主机名: 编辑
/etc/sysconfig/network文件。sudo vi /etc/sysconfig/network
修改或添加
HOSTNAME行:HOSTNAME=my-fedora20-server
修改后需要重启
network服务或系统才能永久生效。
故障排查
如果网络不通,可以按以下步骤排查:
-
检查接口状态:
# 检查接口是否被激活 (UP/DOWN) ip link show eth0 # 检查接口是否已配置 IP 地址 ip addr show eth0
-
检查网络服务状态:
# 查看 network 服务的状态 service network status # 查看 network 服务的日志 journalctl -u network
-
检查路由表:
# 查看当前路由规则 route -n
确保默认网关 (
0.0.0) 的存在和正确性。 -
检查 DNS 解析:
# 测试 DNS 是否能解析域名 nslookup www.google.com
nslookup失败,但pingIP 地址成功,那很可能是 DNS 配置问题,请检查/etc/sysconfig/network-scripts/ifcfg-eth0中的DNS1和DNS2设置。 -
检查防火墙 (iptables): Fedora 20 默认使用
iptables作为防火墙,防火墙规则可能会阻止网络连接。# 查看当前的 iptables 规则 sudo iptables -L -n -v # 临时清空所有规则进行测试 (非常危险,仅用于测试!) sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -P INPUT ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -P FORWARD ACCEPT
如果清空规则后网络恢复正常,说明是防火墙规则的问题,你需要仔细检查并调整规则。
| 配置项 | 静态 IP | 动态 IP (DHCP) |
|---|---|---|
BOOTPROTO |
static |
dhcp |
IPADDR |
168.1.100 |
(不设置) |
NETMASK |
255.255.0 |
(不设置) |
GATEWAY |
168.1.1 |
(不设置) |
DNS1/DNS2 |
8.8.8 / 8.4.4 |
(不设置,由 DHCP 分配) |
NM_CONTROLLED |
no (推荐) |
no (推荐) |
再次提醒,请尽快升级你的系统,现代的 Fedora 版本(如 Fedora 36+)使用 NetworkManager 和 nm-connection-editor 图形工具,以及 nmcli 命令行工具,配置方式更加灵活和现代化,对于服务器,则普遍使用 systemd-networkd,配置文件位于 /etc/systemd/network/,这是当前的主流做法。
