5154

Good Luck To You!

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命令族的工具,因为它们代表未来的标准,功能也更全面。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.