CentOS7网络配置全解析,从基础设置到故障排查 附静态IP命令

2026-07-30 21:44:30 61阅读
本文围绕CentOS7静态IP网络配置展开全解析,兼具实用性与全面性,基础设置环节,核心梳理命令行配置方式:先通过nmcli con show或ip addr确认网卡名;再以vi编辑/etc/sysconfig/network-scripts/ifcfg-xxx文件,将BOOTPROTO设为static,添加IPADDR、NETMASK、GATEWAY、DNS1等必要参数;最后重启网络(nmcli con up或systemctl restart NetworkManager)即可生效,故障排查部分涵盖ping、traceroute、ip addr等命令,助力快速定位问题。

CentOS7作为广泛使用的Linux服务器发行版,网络配置是系统管理的基础技能,与CentOS6不同,CentOS7默认使用 NetworkManager 作为主要网络管理工具,同时保留了传统的 network 服务作为备选,本文将从查看网络接口、配置静态/动态IP、设置DNS,到故障排查,一步步带你掌握CentOS7的网络配置。

前置准备:认识CentOS7的网络管理

在开始配置前,先了解两个核心工具:

CentOS7网络配置全解析,从基础设置到故障排查 附静态IP命令

  • NetworkManager:默认启用,适合桌面和动态网络环境,支持图形化(nmtui)和命令行(nmcli)配置。
  • network服务:传统的网络管理方式,适合服务器静态网络环境,通过修改配置文件实现。

你可以根据需求选择其一,但建议优先使用NetworkManager(除非特殊场景需要禁用它)。

第一步:查看网络接口信息

首先需要知道系统中有哪些网络接口,以及它们的当前状态,常用命令如下:

查看所有网络接口

使用 ip addrifconfig(需先安装 net-tools 包):

# 推荐使用ip addr(CentOS7默认支持)
ip addr

输出示例中,常见的接口有:

  • lo:回环接口(127.0.0.1),用于本地通信。
  • ens33/enp0s3:物理网卡接口(CentOS7使用“一致网络设备命名”,ens表示PCI-E网卡,enp表示主板集成网卡)。

查看接口连接状态

使用 nmcli 查看NetworkManager管理的接口状态:

nmcli device status

输出会显示接口是否“连接”(connected)、“断开”(disconnected)等。

配置静态IP地址(两种常用方法)

服务器通常需要静态IP,避免重启后IP变化,以下两种方法任选其一。

方法1:修改网络配置文件(适合network服务)

CentOS7的网络接口配置文件位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-接口名(如 ifcfg-ens33)。

步骤1:备份原配置文件(防止出错)

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33.bak

步骤2:编辑配置文件

vivim 打开文件:

vi ifcfg-ens33

修改或添加以下参数(根据实际网络环境调整):

TYPE=Ethernet                # 网络类型(以太网)
BOOTPROTO=static             # 静态IP(动态则为dhcp)
NAME=ens33                   # 连接名称(通常与接口名一致)
DEVICE=ens33                 # 物理接口名
ONBOOT=yes                   # 开机自动启用
IPADDR=192.168.1.100         # 静态IP地址
NETMASK=255.255.255.0        # 子网掩码(或用PREFIX=24)
GATEWAY=192.168.1.1          # 网关地址
DNS1=8.8.8.8                 # 首选DNS
DNS2=114.114.114.114         # 备选DNS

步骤3:重启network服务

# 若使用network服务,重启生效
systemctl restart network

方法2:使用nmcli命令行(适合NetworkManager)

nmcli 是NetworkManager的命令行工具,配置更快捷且持久。

步骤1:添加新的网络连接

# 语法:nmcli connection add type ethernet con-name 连接名 ifname 接口名
nmcli connection add type ethernet con-name static-ens33 ifname ens33

步骤2:设置静态IP、网关和DNS

# 设置IP和子网掩码
nmcli connection modify static-ens33 ipv4.addresses 192.168.1.100/24
# 设置网关
nmcli connection modify static-ens33 ipv4.gateway 192.168.1.1
# 设置DNS
nmcli connection modify static-ens33 ipv4.dns "8.8.8.8 114.114.114.114"
# 设置为手动配置(非DHCP)
nmcli connection modify static-ens33 ipv4.method manual
# 开机自动连接
nmcli connection modify static-ens33 connection.autoconnect yes

步骤3:激活连接

nmcli connection up static-ens33

配置动态IP(DHCP)

如果网络中有DHCP服务器,只需将接口设置为自动获取IP即可。

方法1:修改配置文件

编辑 ifcfg-ens33,将 BOOTPROTO 改为 dhcp,并删除静态IP相关参数:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes

重启network服务生效。

方法2:nmcli命令

# 修改现有连接为DHCP
nmcli connection modify static-ens33 ipv4.method auto
nmcli connection up static-ens33

DNS配置的注意事项

CentOS7的DNS解析受NetworkManager影响,直接修改 /etc/resolv.conf 可能会被覆盖,因此推荐以下两种方式:

在接口配置文件中设置(最稳定)

如上文静态IP配置中,在 ifcfg-ens33 里添加 DNS1DNS2,NetworkManager会自动同步到 /etc/resolv.conf

使用nmcli设置

nmcli connection modify 连接名 ipv4.dns "8.8.8.8 114.114.114.114"
nmcli connection up 连接名

设置完成后,可查看 /etc/resolv.conf 验证:

cat /etc/resolv.conf

测试网络连接

配置完成后,需验证网络是否正常:

测试网关连通性

ping 192.168.1.1  # 替换为你的网关IP

测试外网连通性

ping 8.8.8.8

测试DNS解析

ping baidu.com
# 或使用nslookup(需安装bind-utils)
nslookup baidu.com

常见故障排查

如果网络不通,按以下步骤排查:

检查接口是否启用

ip link show ens33
# 若状态为DOWN,启用它
ip link set ens33 up

检查路由表

ip route
# 确认是否有默认网关(default via 192.168.1.1)

检查防火墙

CentOS7默认启用firewalld,可能阻止流量:

# 查看防火墙状态
systemctl status firewalld
# 临时关闭防火墙(测试用)
systemctl stop firewalld

查看NetworkManager日志

journalctl -u NetworkManager -f  # 实时查看日志

CentOS7的网络配置核心在于选择合适的管理工具(NetworkManager或network服务),并通过配置文件或nmcli设置IP、网关和DNS,配置时注意 ONBOOT=yes 确保开机生效,完成后务必测试连通性,遇到问题时,从接口状态、路由表、DNS和防火墙入手排查,通常能快速定位问题。

希望本文能帮你快速掌握CentOS7的网络配置!

文章版权声明:除非注明,否则均为亚朵原创文章,转载或复制请以超链接形式并注明出处。