0

0

CentOS怎么永久设置网络_CentOS网络配置持久化与开机生效教程

雪夜

雪夜

发布时间:2025-09-01 10:03:01

|

365人浏览过

|

来源于php中文网

原创

在CentOS中永久设置网络配置需编辑/etc/sysconfig/network-scripts/ifcfg-ethX文件,确保ONBOOT=yes,配置IPADDR、NETMASK、GATEWAY等参数后重启network服务,关键步骤是正确命名配置文件、避免NetworkManager干扰,并通过ip a、ip route等命令验证配置。

centos怎么永久设置网络_centos网络配置持久化与开机生效教程

在CentOS中,要永久设置网络配置并确保它在系统重启后依然生效,核心操作是编辑位于

/etc/sysconfig/network-scripts/
目录下的网络接口配置文件(通常是
ifcfg-ethX
ifcfg-enpXsY
),并务必将
ONBOOT
参数设置为
yes
。完成修改后,需要重启网络服务才能使更改生效。

解决方案

在我看来,CentOS的网络配置,特别是为了持久化,最稳妥和直接的方式就是通过编辑其系统级的配置文件。这套机制虽然在图形界面和NetworkManager盛行的今天可能显得有些“老派”,但它的稳定性和透明度是无可替代的。

首先,你需要确定你想要配置的网络接口名称。通常,你可以通过运行

ip a
命令来查看。你会看到类似
eth0
enp0s3
这样的接口名。假设我们要配置
eth0

接下来,进入到网络配置文件的目录:

cd /etc/sysconfig/network-scripts/

在这里,你会找到一个名为

ifcfg-eth0
(或者你接口对应的名字)的文件。如果文件不存在,你可能需要手动创建一个,但大多数情况下,安装系统时会有一个默认的。

打开这个文件进行编辑,比如使用

vi
nano
sudo vi ifcfg-eth0

一个典型的静态IP配置示例会是这样:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=你的UUID(这个通常系统自动生成,不要改)
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

如果你想使用DHCP自动获取IP,那么配置会更简单:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=你的UUID
DEVICE=eth0
ONBOOT=yes

无论哪种方式,关键在于

ONBOOT=yes
这一行。它告诉系统在启动时激活这个网络接口。如果它是
no
,那么每次重启后,这个接口就不会自动启动,你需要手动去激活它,这显然不是我们想要的“永久”设置。

保存并退出文件后,为了让这些更改立即生效,你需要重启网络服务。在CentOS 7/8中,这通常是通过

systemctl
命令完成的:
sudo systemctl restart network
或者,如果你使用的是NetworkManager:
sudo systemctl restart NetworkManager

有时候,我发现直接重启服务不够彻底,特别是当配置出现一些奇怪的问题时,我会选择重启整个系统,虽然这有点粗暴,但通常能解决大部分持久化问题。

CentOS网络配置修改后为什么不生效?

这是我被问到最多的问题之一,也是我自己在早期踩过无数坑的地方。你明明按照教程修改了文件,结果重启后发现IP地址没变,或者根本上不了网,那种挫败感真是记忆犹新。通常,网络配置修改后不生效,原因不外乎以下几点:

  1. ONBOOT=no
    :这几乎是新手最常犯的错误。忘记将这个参数设为
    yes
    ,系统启动时就不会加载你的配置。我见过太多次,大家把IP、网关、DNS都配得好好的,就是漏了这一行。
  2. 服务未重启:改了配置文件,但没有告诉系统去读取新的配置。
    systemctl restart network
    systemctl restart NetworkManager
    是必须的步骤。有时,你可能重启了
    NetworkManager
    ,但如果你同时在用
    network
    服务(CentOS 7/8默认倾向于
    NetworkManager
    ,但
    network
    服务仍然存在),两者可能会冲突,或者你只是重启了其中一个,导致另一个未加载新配置。
  3. 配置文件路径或命名错误:确保你在
    /etc/sysconfig/network-scripts/
    目录下编辑了正确的文件,文件名必须是
    ifcfg-你的接口名
    ,比如
    ifcfg-eth0
    。拼写错误,比如写成
    ifcfg-ethernet0
    ,系统是不会认的。
  4. NetworkManager的干扰:CentOS 7/8默认使用NetworkManager来管理网络。如果你手动编辑了
    ifcfg-*
    文件,NetworkManager有时会“固执”地使用它自己的配置,或者在你修改后又给覆盖掉。为了避免这种情况,我通常会在
    ifcfg-*
    文件中加入
    NM_CONTROLLED=no
    ,明确告诉NetworkManager不要接管这个接口。但更推荐的做法是,如果你要用
    ifcfg
    文件,就确保
    NetworkManager
    服务没有运行,或者禁用它,或者只用
    nmcli
    来管理。
  5. 语法错误或参数不正确:配置文件是纯文本,一个小小的拼写错误,比如
    IPADR
    而不是
    IPADDR
    ,都会导致配置解析失败。
    BOOTPROTO
    static
    还是
    dhcp
    NETMASK
    GATEWAY
    DNS
    的数值是否正确,也需要仔细检查。
  6. MAC地址绑定问题:在某些虚拟化环境或特殊硬件上,如果你的
    ifcfg-*
    文件里有
    HWADDR
    MACADDR
    参数,并且与实际网卡的MAC地址不符,接口可能无法启动。通常情况下,我会让系统自动识别,不手动添加这个参数。
  7. 日志排查:当遇到问题时,我第一时间会去查看系统日志。
    journalctl -xe
    可以显示最近的系统错误和警告,
    journalctl -u network
    journalctl -u NetworkManager
    则能提供网络服务的详细信息,这往往能帮你找到问题的症结所在。

如何为CentOS配置静态IP地址以提升稳定性?

在服务器环境中,给CentOS配置一个静态IP地址几乎是标配。想象一下,如果你的Web服务器、数据库服务器每次重启IP都变了,那简直是灾难。静态IP不仅提供了可预测性,也大大提升了服务的稳定性。

配置静态IP,我通常会遵循一个清晰的流程,确保每个环节都考虑周全:

企奶奶
企奶奶

一款专注于企业信息查询的智能大模型,企奶奶查企业,像聊天一样简单。

下载
  1. 确定网络信息:在动手之前,你得知道你的网络环境。包括:

    • 你想要分配的静态IP地址(比如
      192.168.1.100
      )。
    • 子网掩码(
      NETMASK
      ,比如
      255.255.255.0
      )。
    • 网关地址(
      GATEWAY
      ,通常是路由器或上级网络的IP,比如
      192.168.1.1
      )。
    • DNS服务器地址(
      DNS1
      ,
      DNS2
      ,比如
      8.8.8.8
      8.8.4.4
      ,或者你内部网络的DNS)。
    • 这些信息可以从你的网络管理员那里获取,或者通过查看网络中其他设备的配置来推断。
  2. 编辑网络接口配置文件

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    (将
    eth0
    替换为你的实际接口名)

  3. 修改或添加以下关键参数

    • BOOTPROTO=static
      :这是告诉系统,这个接口使用静态IP。
    • IPADDR=192.168.1.100
      :你为服务器指定的IP地址。
    • NETMASK=255.255.255.0
      :子网掩码。
    • GATEWAY=192.168.1.1
      :默认网关。
    • DNS1=8.8.8.8
      :首选DNS服务器。
    • DNS2=8.8.4.4
      :备用DNS服务器(强烈建议配置,以防主DNS失效)。
    • ONBOOT=yes
      :确保开机自动启动。
    • NM_CONTROLLED=no
      :如果你不希望NetworkManager干预这个接口,可以加上这一行。这通常能避免一些莫名其妙的问题,让
      ifcfg
      文件成为唯一的真理。

    一个完整的静态IP配置示例:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=eth0
    UUID=你的UUID
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    NM_CONTROLLED=no
  4. 保存并重启网络服务

    sudo systemctl restart network
    如果NetworkManager仍在运行且你没有禁用它,可能还需要:
    sudo systemctl restart NetworkManager
    或者,如果
    NM_CONTROLLED=no
    生效,直接重启
    network
    服务即可。

  5. 验证配置

    • ip a show eth0
      :检查IP地址是否已正确分配。
    • ip route
      :检查默认路由是否正确指向你的网关。
    • cat /etc/resolv.conf
      :确认DNS服务器是否已更新(通常
      /etc/resolv.conf
      会被NetworkManager或
      network
      服务自动生成,如果你在
      ifcfg
      文件中指定了DNS,它应该会出现在这里)。
    • ping 8.8.8.8
      :测试外部网络连通性。
    • ping google.com
      :测试DNS解析是否正常。

通过这个流程,你的CentOS服务器就能拥有一个稳定、持久的静态IP地址,为各种服务提供可靠的网络基础。

CentOS多网卡配置与常见网络故障排查思路

在企业级应用中,一台服务器拥有多张网卡是很常见的。比如,一张网卡用于内部管理网络,另一张用于对外提供服务,或者为了网络冗余、负载均衡而配置多张网卡。配置多网卡的核心思想,其实就是为每张网卡重复我们前面提到的单网卡配置步骤。

  1. 多网卡配置: 假设你的服务器有

    eth0
    eth1
    两张网卡。

    • eth0
      可能配置为内部管理网络,使用静态IP:
      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
      内容类似前面静态IP的示例。
    • eth1
      可能用于对外服务,也使用静态IP,但IP段和网关可能不同:
      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
      TYPE=Ethernet
      BOOTPROTO=static
      NAME=eth1
      DEVICE=eth1
      ONBOOT=yes
      IPADDR=10.0.0.100
      NETMASK=255.255.255.0
      GATEWAY=10.0.0.1  # 注意:通常只有一张网卡配置默认网关,除非有特殊路由需求
      DNS1=8.8.8.8
      NM_CONTROLLED=no

      这里有一个关键点:默认网关(

      GATEWAY
      )通常只在一个接口上配置。如果你在多个接口上都设置了
      GATEWAY
      ,系统可能会感到困惑,导致路由问题。如果你确实需要多个默认路由,那可能需要更高级的路由策略配置,这超出了我们今天讨论的范围,但作为基本配置,只在一个接口上设置默认网关是最佳实践。

    配置完成后,同样需要重启网络服务:

    sudo systemctl restart network

  2. 常见网络故障排查思路: 当网络出现问题时,我有一套自己的排查流程,就像医生看病一样,先问诊,再检查:

    • 确认物理连接:这是最基础也最容易被忽视的。网线插好了吗?指示灯亮了吗?我见过太多次,最后发现只是网线松了。
    • 检查接口状态
      ip a
      :查看所有网络接口的状态。确认你期望的接口是否为
      UP
      状态,是否分配了正确的IP地址。如果显示
      DOWN
      ,可能是
      ONBOOT=no
      或者驱动问题。
    • 检查路由表
      ip route
      :查看系统的路由表。确认默认路由(
      default via ...
      )是否指向了正确的网关。如果路由表混乱或缺失,外部访问就会失败。
    • 检查DNS解析
      cat /etc/resolv.conf
      :查看DNS服务器配置。确认列出的DNS服务器是正确的。
      ping google.com
      :如果能ping通IP地址(如
      ping 8.8.8.8
      )但ping不通域名,那八成是DNS解析问题。
    • 检查防火墙
      sudo firewall-cmd --list-all
      sudo iptables -L -n
      :确认防火墙规则没有阻止你需要的端口或流量。有时候,网络配置没错,但防火墙把所有流量都挡住了。
    • 检查网络服务状态
      sudo systemctl status network
      sudo systemctl status NetworkManager
      :查看网络服务的运行状态。如果服务启动失败,日志中会提供线索。
    • 查看系统日志
      journalctl -xe
      :这是我的“万能钥匙”。它能显示最近的系统事件,包括网络服务启动失败的原因、驱动错误等等。
      journalctl -u network
      journalctl -u NetworkManager
      :专门查看网络服务的日志,信息会更集中。
    • 逐步测试连通性
      ping 127.0.0.1
      :测试本机TCP/IP协议栈是否正常。
      ping 本机IP
      :测试本机网卡是否正常工作。
      ping 网关IP
      :测试能否到达网关。
      ping 外部IP
      (如
      8.8.8.8
      ):测试能否到达互联网。
      ping 外部域名
      (如
      google.com
      ):测试DNS解析和互联网连通性。
      traceroute 外部IP或域名
      :追踪数据包的路径,看看在哪里中断了。

通过这些步骤,大多数CentOS的网络配置问题和故障都能被定位并解决。重要的是保持冷静,一步步地排查,不要急于下结论。

相关专题

更多
504 gateway timeout怎么解决
504 gateway timeout怎么解决

504 gateway timeout的解决办法:1、检查服务器负载;2、优化查询和代码;3、增加超时限制;4、检查代理服务器;5、检查网络连接;6、使用负载均衡;7、监控和日志;8、故障排除;9、增加缓存;10、分析请求。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

567

2023.11.27

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

220

2023.12.07

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1023

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

66

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

426

2025.12.29

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

390

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

572

2023.08.10

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

220

2023.12.07

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 4.5万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号