新手必看,CentOS如何一步步配置静态IP和DNS?

在Linux服务器管理中,网络环境的配置是至关重要的一步,它决定了服务器能否与外部世界通信,对于广泛使用的CentOS系统而言,掌握其网络配置方法是每位系统管理员的必备技能,CentOS提供了多种配置网络的方式,从现代的NetworkManager工具集到传统的配置文件编辑,以适应不同的使用场景和用户偏好,本文将详细介绍这些方法,帮助您构建稳定可靠的网络连接。

新手必看,CentOS如何一步步配置静态IP和DNS?

现代方法:使用 NetworkManager 和 nmcli

NetworkManager是现代Linux发行版中默认的网络管理服务,它动态地管理网络连接,支持有线、无线等多种网络类型,其命令行工具nmcli功能强大且脚本友好,是目前推荐的首选配置方式。

查看网络连接

我们需要了解当前系统的网络连接状态和设备名称。

nmcli connection show

该命令会列出所有已配置的网络连接(Connection)及其对应的设备(Device),以太网连接的名称可能类似于ens33eno1eth0

配置动态IP地址 (DHCP)

对于大多数客户端环境,自动获取IP地址是最便捷的方式,假设连接名称为ens33,配置命令如下:

# 设置连接通过DHCP自动获取IP
nmcli connection modify ens33 ipv4.method auto
# 重新启用连接以应用更改
nmcli connection up ens33

执行后,系统会通过DHCP服务器自动获取IP地址、子网掩码、网关和DNS,您可以使用ip addr show ens33来验证是否成功获取到IP地址。

配置静态IP地址

服务器环境通常需要固定的IP地址以确保服务的稳定访问,配置静态IP需要指定IP地址、子网掩码、网关和DNS服务器。

假设我们要为ens33配置如下信息:

新手必看,CentOS如何一步步配置静态IP和DNS?

  • IP地址: 168.1.100
  • 子网掩码: 255.255.0 (或 /24)
  • 网关: 168.1.1
  • DNS服务器: 8.8.8114.114.114

配置命令如下:

# 设置为手动模式(静态IP)
nmcli connection modify ens33 ipv4.method manual
# 配置IP地址和子网掩码
nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24
# 配置网关
nmcli connection modify ens33 ipv4.gateway 192.168.1.1
# 配置DNS服务器(可以设置多个,用空格隔开)
nmcli connection modify ens33 ipv4.dns "8.8.8.8 114.114.114.114"
# 重新启用连接以应用所有更改
nmcli connection up ens33

配置完成后,同样使用ip addr showping命令来验证网络连通性。

传统方法:编辑网络配置文件

在较早的CentOS版本或某些特定自动化场景中,直接编辑网络配置文件是一种常见做法,这些文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-<interface_name>

关键参数解析

编辑ifcfg-ens33文件(vi /etc/sysconfig/network-scripts/ifcfg-ens33),你会看到一系列参数,下表列出了最重要的几个:

参数 值示例 说明
TYPE Ethernet 连接类型,通常为Ethernet
BOOTPROTO dhcp / static / none IP地址获取方式,dhcp为动态,static为静态
ONBOOT yes / no 是否在开机时启用此连接,必须设为yes
IPADDR 168.1.100 静态IP地址(当BOOTPROTO=static时)
NETMASK 255.255.0 子网掩码
GATEWAY 168.1.1 默认网关
DNS1 8.8.8 主DNS服务器
DNS2 114.114.114 备用DNS服务器
DEVICE ens33 网络设备名称
NAME ens33 连接名称,通常与DEVICE相同

静态IP配置示例

一个典型的静态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=ens33
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

应用更改

修改完配置文件后,需要重启网络服务才能使更改生效。

# 对于CentOS 7/8
systemctl restart network
# 或者,如果NetworkManager正在运行,可以重新加载配置
nmcli connection reload

其他实用工具

  • nmtui:一个基于文本的图形用户界面,提供了直观的菜单来配置网络,适合不熟悉命令行的用户,直接在终端输入nmtui即可启动。
  • ip 命令:用于临时查看和修改网络配置,如ip addr查看地址,ip link set ens33 up启用网卡,这些更改在重启后会失效,主要用于故障排查。

故障排查与验证

配置完成后,进行验证是必不可少的环节。

新手必看,CentOS如何一步步配置静态IP和DNS?

  1. 检查IP地址ip addr show,确认IP、掩码配置正确。
  2. 检查路由ip route show,确认默认网关存在。
  3. 检查DNScat /etc/resolv.conf,确认DNS服务器地址已写入。
  4. 测试连通性
    • ping 8.8.8.8:测试能否访问公网IP,验证网络层和传输层。
    • ping www.baidu.com:测试能否解析域名并访问,验证DNS配置。

通过以上步骤,您应该能够成功地为CentOS系统配置网络环境,选择nmcli还是编辑配置文件,取决于您的具体需求和使用习惯,但理解这两种方法将使您在管理Linux网络时更加游刃有余。


相关问答FAQs

问1:我已经按照教程修改了ifcfg-ens33文件,并且重启了网络服务,但为什么ip addr显示的IP地址还是旧的?

答: 这个问题通常由以下几个原因造成:

  1. NetworkManager干扰:如果NetworkManager服务正在运行,它可能会覆盖您手动编辑的配置文件,您可以通过systemctl stop NetworkManager临时停止它,然后重启网络服务,但更推荐的做法是使用nmcli命令进行配置,或者将NetworkManager设置为不管理特定网卡。
  2. 配置文件语法错误:检查您编辑的ifcfg-ens33文件,确保没有拼写错误(如GATWAY写成GATEWAY)、多余的空格或引号不匹配等,即使是微小的语法错误也可能导致配置无法加载。
  3. 未重启正确的服务:确保您执行的是systemctl restart networknmcli connection reload,有时,仅仅重启网卡(ifdown ens33; ifup ens33)可能不足以加载所有更改。

问2:nmcli和直接编辑ifcfg文件这两种方法,我应该优先选择哪一种?它们有什么本质区别?

答: 对于绝大多数现代应用场景,强烈推荐优先使用nmcli

  • 本质区别nmcli是NetworkManager的前端工具,它通过与NetworkManager守护进程交互来管理网络,NetworkManager的设计目标是动态、智能地处理网络变化(如Wi-Fi漫游、网线插拔),而直接编辑ifcfg文件是传统的、静态的配置方式,系统在启动时读取这些文件并一次性配置网络。
  • 选择建议
    • 使用nmcli:当您需要一个动态、灵活且易于管理的网络环境时,它能确保配置的一致性,并且其命令可以轻松地集成到自动化脚本中,这是CentOS 7/8及以后版本的官方推荐方式。
    • 编辑ifcfg文件:仅在特定情况下考虑,在无NetworkManager的极简系统、需要高度定制化的启动脚本,或者在一些旧的自动化运维流程中,使用此方法时,需要注意与NetworkManager的潜在冲突,最好禁用NetworkManager对相应网卡的管理。

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

(0)
热舞的头像热舞
上一篇 2025-10-16 14:15
下一篇 2025-10-16 14:21

相关推荐

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

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

关注微信