0

0

CentOS怎么改地址_CentOS修改IP地址与网络配置教程

蓮花仙者

蓮花仙者

发布时间:2025-08-28 13:46:01

|

1177人浏览过

|

来源于php中文网

原创

答案是调整CentOS系统IP地址主要有两种方法:使用nmcli命令行工具或编辑网络配置文件。首先推荐使用nmcli工具,适用于CentOS 7/8及以上版本,通过nmcli connection modify设置静态IP或DHCP,再用nmcli connection up激活配置;传统方法则需编辑/etc/sysconfig/network-scripts/ifcfg-文件,修改BOOTPROTO、IPADDR等参数后重启网络服务。确定网卡名称可使用ip a或nmcli device status命令,现代系统采用可预测命名如ens33而非eth0。配置后需验证IP、网关、DNS,并排查IP冲突、网关错误、子网掩码不当、DNS失效、防火墙阻挡等问题。静态IP适合需固定地址的服务器,DHCP适用于客户端或动态环境,选择应基于网络规模与管理需求。

centos怎么改地址_centos修改ip地址与网络配置教程

CentOS系统上调整IP地址,通常是围绕着修改网络接口的配置文件或者通过NetworkManager工具来操作的。核心思路就是告诉系统你的网卡应该使用哪个IP、连接哪个网关、找谁解析域名。这听起来有点像给你的电脑重新办一张“身份证”和“住址信息”,确保它能在网络世界里找到自己的位置,也能找到别人。

解决方案

在CentOS中修改IP地址和网络配置,主要有两种常用且可靠的方法,每种都有其适用场景和习惯。

方法一:使用

nmcli
命令行工具(推荐,尤其适用于CentOS 7/8及更新版本)

nmcli
是NetworkManager的命令行接口,功能强大且灵活,是现代CentOS系统管理网络的首选。

  1. 确定你的网络连接名称: 在进行任何修改之前,你需要知道你想要配置的网络接口对应的连接名称。这通常不是

    eth0
    ens33
    这样的设备名,而是NetworkManager创建的连接名。

    nmcli connection show

    你会看到类似

    Wired connection 1
    ens33
    或自定义的连接名。假设我们这里要修改的连接名是
    ens33

  2. 修改为静态IP地址配置: 如果你想为

    ens33
    接口设置一个静态IP地址,例如
    192.168.1.100
    ,子网掩码为
    255.255.255.0
    (即
    24
    位前缀),网关为
    192.168.1.1
    ,DNS服务器为
    8.8.8.8
    114.114.114.114

    nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,114.114.114.114"
    nmcli connection modify ens33 ipv4.dns-search "yourdomain.com" # 可选,设置DNS搜索域
    nmcli connection modify ens33 connection.autoconnect yes # 确保开机自动连接
  3. 修改为DHCP自动获取IP地址: 如果你希望系统通过DHCP服务器自动获取IP地址、网关和DNS。

    nmcli connection modify ens33 ipv4.method auto
    nmcli connection modify ens33 connection.autoconnect yes # 确保开机自动连接
  4. 应用并激活新的配置: 修改完配置后,需要重新激活该连接才能使其生效。

    nmcli connection up ens33

    如果连接已经在运行,

    nmcli connection up
    会先断开再重新连接。

  5. 验证配置:

    ip addr show ens33
    nmcli device show ens33

    检查输出中的IP地址、网关和DNS是否与你设置的相符。

方法二:编辑网络配置文件(传统方法,适用于所有CentOS版本,但CentOS 7/8推荐

nmcli

这种方法直接修改位于

/etc/sysconfig/network-scripts/
目录下的配置文件,通常是
ifcfg-
,例如
ifcfg-ens33

  1. 找到你的网络接口配置文件: 首先,你需要知道你的网络接口名称,比如

    ens33
    eth0
    。可以通过
    ip a
    命令查看。 然后,找到对应的配置文件。

    ls /etc/sysconfig/network-scripts/ifcfg-*

    假设我们找到了

    ifcfg-ens33

  2. 备份原始配置文件(非常重要): 在修改任何系统配置文件之前,养成备份的好习惯能让你在出现问题时快速恢复。

    sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
  3. 编辑配置文件: 使用你熟悉的文本编辑器(如

    vi
    nano
    )打开文件。

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

    以下是一个静态IP配置的示例内容:

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static" # 或者 "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="ens33" # 你的接口名称
    UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 保持不变
    DEVICE="ens33" # 你的接口名称
    ONBOOT="yes" # 开机是否激活此接口
    
    # 静态IP配置项
    IPADDR="192.168.1.100"
    NETMASK="255.255.255.0" # 或者使用 PREFIX=24
    GATEWAY="192.168.1.1"
    DNS1="8.8.8.8"
    DNS2="114.114.114.114"
    # DOMAIN="yourdomain.com" # 可选,设置DNS搜索域

    如果你要配置DHCP,只需将

    BOOTPROTO
    设置为
    dhcp
    ,并删除
    IPADDR
    NETMASK
    GATEWAY
    DNS1
    DNS2
    等行。

  4. 保存并退出编辑器。

  5. 重启网络服务或接口: 让新的配置生效,你需要重启网络服务。

    sudo systemctl restart network # 适用于CentOS 7/8
    # 或者如果你只想重启特定接口
    # sudo ifdown ens33 && sudo ifup ens33

    在CentOS 6中,命令是

    sudo service network restart

  6. 验证配置:

    ip addr show ens33
    cat /etc/resolv.conf # 检查DNS配置

CentOS网络接口名称如何确定?为什么我的网卡不是eth0?

这其实是一个非常常见的问题,尤其是在从旧版本Linux系统迁移过来或者在虚拟化环境中。过去,Linux系统习惯性地将网卡命名为

eth0
eth1
等,这种命名方式简单直观,但也存在一些不确定性——比如多块网卡插入顺序可能导致名称变化。

到了CentOS 7及更新版本,系统引入了“可预测的网络接口名称”(Predictable Network Interface Names)。这意味着网卡名称不再简单地是

ethX
,而是基于硬件拓扑结构或固件信息来命名,例如:

  • ensXXX
    :基于PCI插槽号的命名(Ethernet slot)。
  • enpXsY
    :基于物理位置(PCI bus/slot)的命名。
  • enoX
    :基于板载网卡(onboard device)的命名。

这种命名方式虽然看起来复杂了点,但它最大的好处就是稳定性和可预测性。无论你如何插拔网卡,或者系统启动顺序如何,同一块物理网卡通常都会获得相同的名称,这对于自动化配置和管理服务器来说简直是福音。

如何确定你的网络接口名称?

有几种方法可以帮你找到:

  1. 使用

    ip a
    ip addr show
    命令:
    这是最直接和推荐的方式。它会列出系统中所有的网络接口及其IP地址信息。你会看到类似
    ens33
    enp0s3
    这样的名称。

    ip a

    输出中,通常在

    LOOPBACK
    接口(
    lo
    )之后,你会看到你的物理或虚拟网卡接口。

  2. 使用

    nmcli device status
    命令: 如果你在使用NetworkManager,这个命令会列出所有网络设备的状态和名称。

    nmcli device status

    DEVICE
    列下,你就能找到你的网卡名称。

  3. 查看

    /etc/sysconfig/network-scripts/
    目录: 这个目录下存放着各个网络接口的配置文件。文件的命名通常是
    ifcfg-

    ls /etc/sysconfig/network-scripts/ifcfg-*

    通过查看文件名,你也能推断出接口名称。

    讯飞智作-虚拟主播
    讯飞智作-虚拟主播

    讯飞智作是一款集AI配音、虚拟人视频生成、PPT生成视频、虚拟人定制等多功能的AI音视频生产平台。已广泛应用于媒体、教育、短视频等领域。

    下载
  4. 旧系统可能需要安装

    net-tools
    包来使用
    ifconfig
    虽然
    ifconfig
    在现代Linux中已被
    ip
    命令取代,但在一些旧系统或为了兼容性,你可能仍然会用到它。如果未安装,可以
    sudo yum install net-tools

    ifconfig -a

理解了这一点,你就能明白为什么你的网卡不是

eth0
,并且知道如何找到它真正的“名字”了。

修改IP地址后,如何确保网络连接正常并排查常见问题?

修改了IP地址,就像给你的服务器换了个新家,你需要确认它在新环境里能正常工作,能与外界沟通。这个过程有点像你搬家后,要检查水电煤、网络是否都通了。

确保网络连接正常的验证步骤:

  1. 检查新的IP地址是否已生效: 这是最基本的确认。

    ip addr show <你的接口名称,如ens33>

    确认输出中

    inet
    后面的IP地址是你的新IP。

  2. 测试与网关的连通性: 网关是你的服务器连接到外部网络的“出口”。如果连网关都ping不通,那肯定无法访问外网。

    ping <你的网关IP地址>

    如果能收到回复,说明你的服务器与本地网络的路由器/网关是通的。

  3. 测试与外部IP地址的连通性: 这一步验证你的服务器是否能访问互联网上的其他IP地址,绕开了DNS解析。

    ping 8.8.8.8 # Google的公共DNS服务器IP

    如果能ping通,说明你的服务器已经能访问外部网络了。

  4. 测试DNS解析功能: 即便能ping通外部IP,如果DNS有问题,你还是无法通过域名访问网站。

    ping baidu.com # 或者其他你常用的域名

    如果能ping通,说明DNS解析正常工作。如果这里失败,但ping 8.8.8.8成功,那么问题很可能出在DNS配置上。

常见问题及排查:

  • IP地址冲突:

    • 现象: 网络时断时续,或者你的服务器能ping通外部,但其他设备无法访问你的服务器,甚至你的网络中出现其他设备也无法正常上网。
    • 排查: 确保你分配的静态IP地址在你的局域网内是唯一的,没有被其他设备占用。可以在路由器管理界面查看已分配的IP,或者在其他机器上尝试ping你新设置的IP看是否有响应。
  • 网关配置错误:

    • 现象: 能ping通局域网内的设备(包括网关),但无法访问外部网络(ping 8.8.8.8失败)。
    • 排查: 仔细核对配置文件中的
      GATEWAY
      ipv4.gateway
      是否正确。它必须是你路由器或三层交换机的局域网接口IP。
  • 子网掩码(或CIDR前缀)错误:

    • 现象: 只能与同子网内的部分设备通信,或者根本无法通信。
    • 排查: 确保
      NETMASK
      PREFIX
      与你的网络环境匹配。例如,
      255.255.255.0
      对应
      /24
      。错误的子网掩码会导致IP地址看起来正确,但系统无法正确判断哪些IP在本地子网,哪些需要通过网关。
  • DNS配置错误:

    • 现象: 能ping通外部IP地址(如8.8.8.8),但无法ping通域名(如baidu.com)。
    • 排查: 检查配置文件中的
      DNS1
      DNS2
      是否正确,并且这些DNS服务器本身是可用的。你也可以查看
      /etc/resolv.conf
      文件,确认其中的
      nameserver
      条目是否指向了正确的DNS服务器。如果
      /etc/resolv.conf
      内容不对,可能是NetworkManager没有正确更新,或者你手动修改了它。
  • 网络服务未重启:

    • 现象: 修改了配置文件,但
      ip addr show
      显示旧IP或网络不通。
    • 排查: 配置文件修改后,必须重启网络服务(
      systemctl restart network
      nmcli connection up <连接名>
      )才能生效。这是最容易被遗忘的步骤之一。
  • 防火墙问题(

    firewalld
    iptables
    ):

    • 现象: IP地址、网关、DNS都配置正确且可ping通,但特定服务(如SSH、Web服务)无法从外部访问。
    • 排查: 检查防火墙是否阻止了相应的端口或服务。你可以暂时停止防火墙(
      sudo systemctl stop firewalld
      )进行测试,如果停止后服务可访问,那么问题就在防火墙规则上。记得测试完后重新启用防火墙并添加正确的规则。
  • SELinux:

    • 现象: 极少数情况下,SELinux的严格策略可能影响网络配置或服务的正常运行。
    • 排查: 通常不直接影响IP地址修改,但如果遇到非常诡异的网络问题,可以尝试临时将SELinux设置为宽容模式(
      setenforce 0
      )进行测试,然后检查日志(
      sudo tail -f /var/log/audit/audit.log
      )。
  • 虚拟化环境特有问题:

    • 现象: 虚拟机网络不通,但宿主机网络正常。
    • 排查: 检查虚拟机的网络适配器设置(桥接、NAT、仅主机),以及宿主机对应的虚拟网卡配置。例如,在使用NAT模式时,虚拟机的IP地址通常由宿主机的虚拟网络服务分配。

排查问题需要耐心和系统性,一步步验证,缩小问题的范围。

静态IP和DHCP自动获取,在哪些场景下应该如何选择?

在配置网络时,选择静态IP还是DHCP自动获取,是一个需要根据实际应用场景和管理需求来决定的问题。这两种方式各有优劣,没有绝对的“最好”,只有“最适合”。

静态IP(Static IP)

顾名思义,就是手动为设备指定一个固定的IP地址、子网掩码、网关和DNS服务器。一旦设置,除非你手动修改,否则它永远不会改变。

  • 优点:

    • 稳定性与可预测性: IP地址固定不变,非常适合需要通过IP地址直接访问的服务。
    • 管理方便(特定服务): 对于需要进行端口映射、防火墙规则配置、DNS记录绑定、监控报警等,固定IP让这些配置变得简单和可靠。
    • 不依赖DHCP服务器: 在没有DHCP服务器的环境中也能正常工作。
  • 缺点:

    • 配置复杂: 需要手动输入所有网络参数,容易出错。
    • IP地址冲突风险: 如果不仔细规划,可能会分配到已经被其他设备使用的IP地址,导致网络故障。
    • **管理开销大

相关专题

更多
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瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

443

2025.12.29

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

11

2026.01.19

热门下载

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

精品课程

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

共28课时 | 4.6万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

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

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