睿诚科技协会

Fedora 20网络配置如何操作?

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

Fedora 20网络配置如何操作?-图1
(图片来源网络,侵删)

在 Fedora 20 中,网络配置主要通过两个核心文件完成:

  1. /etc/sysconfig/network-scripts/ 目录下的接口配置文件(如 ifcfg-eth0)。
  2. /etc/sysconfig/network 主网络配置文件。

我们将分两种主要场景来讲解:静态 IP 配置动态 IP (DHCP) 配置


配置静态 IP 地址

这是最常见的需求,例如为服务器设置固定 IP。

步骤 1:确定网络接口名称

你需要知道要配置的网络接口名称,在 Fedora 20 中,通常是 eth0, eth1 等。

Fedora 20网络配置如何操作?-图2
(图片来源网络,侵删)

打开终端,使用 ip addrifconfig 命令查看:

# 使用 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 等文件

使用你喜欢的文本编辑器(如 vinano)编辑 ifcfg-eth0 文件:

Fedora 20网络配置如何操作?-图3
(图片来源网络,侵删)
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 addrping 命令验证网络是否配置成功。

# 查看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 服务或系统才能永久生效。

故障排查

如果网络不通,可以按以下步骤排查:

  1. 检查接口状态:

    # 检查接口是否被激活 (UP/DOWN)
    ip link show eth0
    # 检查接口是否已配置 IP 地址
    ip addr show eth0
  2. 检查网络服务状态:

    # 查看 network 服务的状态
    service network status
    # 查看 network 服务的日志
    journalctl -u network
  3. 检查路由表:

    # 查看当前路由规则
    route -n

    确保默认网关 (0.0.0) 的存在和正确性。

  4. 检查 DNS 解析:

    # 测试 DNS 是否能解析域名
    nslookup www.google.com

    nslookup 失败,但 ping IP 地址成功,那很可能是 DNS 配置问题,请检查 /etc/sysconfig/network-scripts/ifcfg-eth0 中的 DNS1DNS2 设置。

  5. 检查防火墙 (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+)使用 NetworkManagernm-connection-editor 图形工具,以及 nmcli 命令行工具,配置方式更加灵活和现代化,对于服务器,则普遍使用 systemd-networkd,配置文件位于 /etc/systemd/network/,这是当前的主流做法。

分享:
扫描分享到社交APP
上一篇
下一篇