在CentOS系统中,查看网卡信息是系统管理和网络配置的基础操作,无论是排查网络故障、监控网络状态,还是进行网络调优,准确掌握网卡的详细信息都至关重要,本文将详细介绍在CentOS系统中查看网卡的多种方法,涵盖基础命令、高级选项以及不同场景下的实用技巧,帮助用户全面了解系统中的网卡配置。

使用 ip 命令查看网卡信息
ip 命令是Linux系统中强大的网络工具,取代了传统的ifconfig命令(在CentOS 7及更高版本中默认未安装),通过ip命令,可以快速获取网卡的名称、状态、IP地址、MAC地址等关键信息。
基础用法:列出所有网卡
执行以下命令即可查看系统中所有网卡的简要列表:
ip link show
命令输出中,<和>之间的字符为网卡名称(如ens33、lo),UP表示网卡已启用,DOWN表示未启用,LOOPBACK代表回环网卡(通常为lo)。
查看网卡的详细配置
若需获取网卡的IP地址、子网掩码、广播地址等信息,可以使用ip addr show命令:
ip addr show ``` 会按网卡分组,显示`inet`(IPv4)、`inet6`(IPv6)地址,以及MAC地址(`link/ether`)。
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:1a:2b:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic ens33
valid_lft 86400sec preferred_lft 86400sec
`ens33`是网卡名,`192.168.1.100`是IP地址,`/24`表示子网掩码长度(即255.255.255.0)。
#### 过滤特定网卡信息
若只需查看某个网卡(如`ens33`)的配置,可通过管道结合`grep`命令过滤:
```bash
ip addr show ens33
使用 ifconfig 命令(适用于旧版本)
在CentOS 6或更早版本中,ifconfig是默认的网络管理工具,虽然CentOS 7+已不再默认安装,但可通过yum install net-tools手动安装。
查看所有网卡
ifconfig
输出结果会显示每个网卡的IP地址、MAC地址、接收/发送数据包统计等信息。

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:0c:29:1a:2b:3c txqueuelen 1000
RX packets 12345 bytes 1234567 (1.1 MiB)
TX packets 6789 bytes 987654 (964.5 KiB)
查看特定网卡
ifconfig ens33
通过 /proc/net/dev 查看网卡流量统计
/proc/net/dev文件是Linux内核中网络接口的实时数据统计文件,适合查看网卡的流量接收(RX)和发送(TX)情况。
查看所有网卡的流量统计
cat /proc/net/dev ``` 以表格形式展示,包括网卡名称、接收字节数、包数、错误数等,以及发送字节数、包数、错误数等。
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
ens33: 1234567 12345 0 0 0 0 0 0 987654 6789 0 0 0 0 0 0
lo: 12345 123 0 0 0 0 0 0 12345 123 0 0 0 0 0 0
通过该文件可快速判断网卡是否异常繁忙或存在丢包问题。
### 使用 `nmcli` 命令管理NetworkManager中的网卡
CentOS 7+默认使用NetworkManager管理网络,`nmcli`是其命令行工具,适合查看和管理网卡的详细配置(如连接类型、DNS、网关等)。
#### 列出所有网络连接
```bash
nmcli connection show
输出结果显示连接名称、UUID、设备类型、状态等信息,
NAME UUID TYPE DEVICE
ens33 12345678-1234-1234-1234-123456789012 ethernet ens33
查看特定网卡的完整配置
nmcli connection show ens33
会显示该连接的IP地址、子网掩码、DNS服务器、网关等详细信息,适合需要深度排查网络配置的场景。
使用 lspci 或 lsusb 查看网卡硬件信息
若需了解网卡的硬件型号(如厂商、芯片型号),可通过lspci(PCI设备)或lsusb(USB网卡)命令查看。
查看PCI网卡信息
lspci | grep Ethernet
输出示例:
00:0c.0 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM
查看USB网卡信息
lsusb | grep Ethernet
结合 ethtool 查看网卡链路状态和驱动信息
ethtool命令可查看网卡的物理链路状态(如是否连接、速率、双工模式)以及驱动信息。

安装ethtool
若系统未安装,可通过以下命令安装:
yum install ethtool
查看网卡链路状态
ethtool ens33 ``` 包含网卡支持的速率(如1000Mbps)、当前链路状态(`Link detected: yes`)、驱动名称等,适合排查物理连接问题。 ### 实用场景:统计系统网卡数量 若只需快速统计系统中网卡的总量(不含回环网卡),可通过以下命令实现: ```bash ip link show | grep -v "lo" | grep -c "^[0-9]"
解释:grep -v "lo"排除回环网卡,grep -c统计符合条件的行数(以数字开头的行,即网卡信息行)。
相关问答FAQs
Q1:为什么ifconfig命令在CentOS 7中无法使用?
A:CentOS 7及更高版本默认不再安装net-tools软件包(包含ifconfig命令),可通过yum install net-tools安装,或推荐使用更现代的ip命令(无需安装,系统自带)。
Q2:如何区分物理网卡和虚拟网卡?
A:通常可通过网卡名称和lspci/lsusb命令区分,物理网卡(如以太网)名称多为eth、ens(如ens33),可通过lspci | grep Ethernet查看硬件信息;虚拟网卡(如KVM虚拟机中的virtio)名称可能为vnet,或通过ip link show结合虚拟化平台(如virsh)进一步确认。