首页 > 运维 > CentOS > 正文

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

蓮花仙者
发布: 2025-08-28 13:46:01
原创
1105人浏览过
答案是调整CentOS系统IP地址主要有两种方法:使用nmcli命令行工具或编辑网络配置文件。首先推荐使用nmcli工具,适用于CentOS 7/8及以上版本,通过nmcli connection modify设置静态IP或DHCP,再用nmcli connection up激活配置;传统方法则需编辑/etc/sysconfig/network-scripts/ifcfg-<interface>文件,修改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-<interface_name>
登录后复制
,例如
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-<interface_name>
    登录后复制

    ls /etc/sysconfig/network-scripts/ifcfg-*
    登录后复制

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

    图改改
    图改改

    在线修改图片文字

    图改改455
    查看详情 图改改
  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地址,导致网络故障。
    • **管理开销大

以上就是CentOS怎么改地址_CentOS修改IP地址与网络配置教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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