CentOS系统下如何为服务器配置永久的静态IP地址?

在CentOS系统中配置网络IP地址是一项核心且基础的管理任务,无论是搭建服务器、部署应用还是进行日常维护,都离不开一个稳定可靠的网络环境,本文将系统、详细地介绍在CentOS(主要涵盖CentOS 7/8/9及后续版本)中配置IP地址的多种方法,包括动态获取(DHCP)和静态设置,并涵盖图形化、文本界面以及纯命令行操作,以满足不同场景的需求。

CentOS系统下如何为服务器配置永久的静态IP地址?

理解网络配置文件

在深入具体操作之前,首先需要了解CentOS网络配置的核心——配置文件,这些文件通常位于/etc/sysconfig/network-scripts/目录下,每个网络接口(如以太网卡)都有一个对应的配置文件,命名规则通常为ifcfg-<接口名称>,例如ifcfg-ens33ifcfg-enp0s3

一个典型的配置文件包含多个参数,下表解释了其中最关键的几个:

参数 描述 示例值
TYPE 接口类型,通常为Ethernet Ethernet
BOOTPROTO 引导协议,决定IP获取方式 dhcp(动态)、static(静态)、none(手动)
ONBOOT 是否在系统启动时激活此接口 yes(是)、no(否)
IPADDR 静态IP地址 168.1.100
NETMASK 子网掩码 255.255.0
GATEWAY 默认网关地址 168.1.1
DNS1 首选DNS服务器地址 8.8.8
DNS2 备用DNS服务器地址 114.114.114
NAME 连接的名称,可自定义 Wired Connection 1
DEVICE 网络设备的物理名称 ens33

现代CentOS版本主要通过NetworkManager服务来管理这些配置文件,因此推荐使用NetworkManager提供的工具进行配置,以避免手动编辑带来的潜在错误和冲突。


使用文本用户界面(nmtui)

nmtui(NetworkManager Text User Interface)是一个基于文本的图形化工具,对于不熟悉复杂命令的用户来说,它是最直观、最友好的配置方式。

  1. 启动nmtui
    在终端中直接输入命令 nmtui 并按回车键。

    nmtui
  2. 选择操作
    启动后,你会看到一个简洁的菜单,使用上下箭头键移动光标,选择“Edit a connection”,然后按回车。

  3. 选择网络接口
    在弹出的列表中,选择你要配置的网络接口(如 ens33),然后选择“Edit…”并回车。

  4. 配置IPv4
    在编辑界面,使用向下箭头键找到“IPv4 CONFIGURATION”栏,按回车键打开选项列表。

    • 动态获取IP(DHCP):选择 <Automatic>,然后按回车确认。
    • 静态设置IP:选择 <Manual>,按回车后,光标移到下方的“Addresses”栏,按回车,在弹出的窗口中依次输入IP地址、子网掩码(或CIDR前缀,如/24)和网关,多个地址可在“<Add…>”处继续添加,配置完成后,选择“OK”返回。
    • 配置DNS:同样在编辑界面,找到“DNS servers”栏,按回车,输入DNS服务器地址(如 8.8.8 114.114.114.114),用空格分隔。
  5. 保存并退出
    所有设置完成后,选择界面底部的“OK”保存配置,返回主菜单后,选择“Back”,然后选择“Quit”退出nmtui

    CentOS系统下如何为服务器配置永久的静态IP地址?

  6. 激活配置
    新的配置不会立即生效,需要重启网卡连接,可以在终端中执行:

    nmcli con down <接口名称> && nmcli con up <接口名称>
    # 或者更简洁的重载并激活
    nmcli con reload && nmcli con up <接口名称>

使用命令行工具(nmcli)

nmcli(NetworkManager Command-Line Interface)是NetworkManager的命令行工具,功能强大且适合在脚本或远程SSH环境中使用。

动态获取IP(DHCP)

假设你的网络接口名为 ens33,执行以下命令将其设置为DHCP模式并激活:

# 修改连接的IPv4方法为dhcp(自动)
nmcli con mod ens33 ipv4.method auto
# 重新加载配置并激活连接
nmcli con reload && nmcli con up ens33

nmcli会自动处理BOOTPROTO=dhcp并激活ONBOOT=yes

静态设置IP

同样以 ens33 接口为例,设置静态IP 168.1.150,子网掩码 255.255.0(即CIDR /24),网关 168.1.1 和DNS服务器 8.8.8

# 1. 修改IPv4获取方式为手动(静态)
nmcli con mod ens33 ipv4.method manual
# 2. 设置IP地址和子网掩码
nmcli con mod ens33 ipv4.addresses 192.168.1.150/24
# 3. 设置网关
nmcli con mod ens33 ipv4.gateway 192.168.1.1
# 4. 设置DNS服务器(可以设置多个,用空格隔开)
nmcli con mod ens33 ipv4.dns "8.8.8.8 114.114.114.114"
# 5. 确保连接开机自启
nmcli con mod ens33 connection.autoconnect yes
# 6. 重新加载配置并激活连接,使设置生效
nmcli con reload && nmcli con up ens33

执行完毕后,nmcli会自动更新/etc/sysconfig/network-scripts/ifcfg-ens33文件中的所有相关参数。


验证与故障排查

配置完成后,必须进行验证以确保网络已正常工作。

  • 查看IP地址

    ip addr show ens33
    # 或使用旧命令 (可能未安装)
    ifconfig ens33

    该命令会显示接口的IP地址、MAC地址、状态等信息。

    CentOS系统下如何为服务器配置永久的静态IP地址?

  • 查看路由表(网关)

    ip route show
    # 或使用旧命令
    route -n

    确认默认路由(default via ...)指向了正确的网关。

  • 测试网络连通性

    1. 测试网关ping 192.168.1.1
    2. 测试外网ping 8.8.8.8
    3. 测试DNS解析ping www.baidu.comnslookup www.baidu.com

如果以上任何一步失败,请检查配置文件中的参数是否正确(特别是IP、掩码、网关是否在同一网段),以及NetworkManager服务是否正常运行(systemctl status NetworkManager)。


相关问答FAQs

Q1:为什么我手动编辑了/etc/sysconfig/network-scripts/ifcfg-ens33文件,但重启后IP配置没有生效?
A1:这种情况通常有几个原因,在CentOS 7/8/9中,直接手动编辑文件后,需要通知NetworkManager重新加载配置,最安全的方式是运行nmcli con reload,而不是systemctl restart network(后者在某些版本可能已被弃用),请确保文件中的ONBOOT=yes,否则接口不会在开机时自动激活,检查文件中是否存在语法错误,比如等号两边有空格、参数拼写错误等,NetworkManager在遇到错误时会忽略该配置,使用journalctl -u NetworkManager可以查看服务日志,寻找可能的错误线索。

Q2:ip addr命令和ifconfig命令有什么区别?我应该用哪个?
A2:ip命令是iproute2软件包的一部分,是现代Linux系统(包括CentOS)推荐并默认安装使用的网络配置工具,它功能更强大,支持更丰富的网络策略和路由规则,并且输出信息格式化更好。ifconfig命令则来自net-tools软件包,是一个较旧的工具,在很多新发行版中已经不再默认安装,虽然对于查看基本IP地址,两者都能完成任务,但强烈建议习惯使用ip addrip routeip命令族的工具,因为它们代表未来的标准,功能也更全面。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-09 18:47
下一篇 2025-10-09 18:50

相关推荐

  • Docker安装必须依赖CentOS系统吗?有替代方案吗?

    在现代化的软件开发与运维实践中,Docker已成为容器化技术的代名词,它通过将应用程序及其依赖打包成轻量级、可移植的容器,实现了“一次构建,处处运行”的理想目标,Docker的运行环境对操作系统有一定要求,尤其是在企业级场景中,CentOS因其稳定性、安全性及与Linux生态的良好兼容性,成为部署Docker的……

    2025-11-11
    004
  • 服务器免流_配置BMS集群互相免密登录

    为了配置BMS集群互相免密登录,你需要在每台BMS服务器上生成SSH密钥对,并将公钥添加到其他服务器的authorized_keys文件中。这样,服务器之间就可以实现免密登录了。

    2024-07-14
    006
  • CentOS 6下Nginx如何配置支持PHP运行?

    CentOS 6作为一款经典的Linux发行版,在企业环境中仍有广泛应用,结合Nginx和PHP构建Web服务,是许多中小型项目的常见选择,本文将详细介绍在CentOS 6系统中搭建Nginx+PHP环境的关键步骤、配置要点及注意事项,帮助读者快速完成部署并优化服务性能,系统环境准备在开始部署前,需确保系统满足……

    2025-11-13
    004
  • CentOS安装Endtrace过程中遇到什么问题?详细步骤和常见疑问解答!

    CentOS安装概述CentOS是一款基于Red Hat Enterprise Linux的免费开源操作系统,具有稳定性、安全性、可扩展性等优点,广泛应用于服务器、工作站等领域,本文将详细介绍CentOS的安装过程,帮助您快速搭建起自己的CentOS系统,安装前准备硬件要求处理器:至少1GHz或更高内存:至少5……

    2026-02-01
    005

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信