Linux系统下查询指定网卡的型号及用途

63 篇文章 0 订阅
4 篇文章 0 订阅

接到应用侧的特殊要求,需要查询服务器上特定网口的物理型号及配置用途,发现没有一条现成指令可以完成此事。经测试,可按以下步骤执行3条命令来组合完成。

一、使用lspci命令来查询指定网卡的型号

按照以下步骤进行操作:

  1. 打开终端(命令行界面)。
  2. 在终端中输入以下命令并按回车键:lspci | grep -i net。这个命令会列出系统中所有的网络设备信息(注意:在执行lspci命令时,可能需要以管理员权限运行,或者在命令前加上sudo。)。如下图所示:
  3. 在输出结果中,找到你要查询的网卡所在的行,它通常以“Ethernet controller”或“Network controller”开头。
  4. 在该行中,你可以找到设备的制造商和型号信息。本例中可以看到,示例服务器共有6个网口:

1a:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 09)
1a:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 09)
1a:00.2 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
1a:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
86:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
86:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) 

其中2个IntelX722万兆光口,2个IntelX722千兆网口,2个Intel 82599ES万兆光口,左侧第一例是板卡和端口的ID

二、使用ip addr命令查看当前网络配置 

这个命令会显示所有网络接口的详细信息,包括IP地址、子网掩码、广播地址等。

请按照以下步骤进行操作:

  1. 打开终端(命令行界面)。
  2. 在终端中输入以下命令并按回车键:ip addr
  3. 命令执行后,会列出所有网络接口的详细信息,包括名称、IP地址、子网掩码、广播地址等。本例中可以看到有6个网口,信息如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether bc:16:95:01:dd:f2 brd ff:ff:ff:ff:ff:ff
3: ens7f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether bc:16:95:01:dd:f2 brd ff:ff:ff:ff:ff:ff
4: eno2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether bc:16:95:01:dd:f2 brd ff:ff:ff:ff:ff:ff
5: ens7f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether bc:16:95:01:dd:f2 brd ff:ff:ff:ff:ff:ff
6: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether bc:16:95:01:dd:f4 brd ff:ff:ff:ff:ff:ff
7: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether bc:16:95:01:dd:f5 brd ff:ff:ff:ff:ff:ff
10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether bc:16:95:01:dd:f2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.35/24 brd 192.168.1.255 scope global noprefixroute bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::2b07:711e:185a:8792/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

 如上可以看到,本例服务器的6个物理网口中,有en01,ens7f0,eno2,ens7f1共4个网口处于UP状态,并配置了bond多端口网络绑定,另有两个网口eno3,eno4处于DOWN状态未使用。

那么如何确定每个网口物理上具体是哪种网卡呢,就要用到第3个命令了。

三、用lshw -c network 命令获取系统中网络设备的详细信息

这个命令它会读取系统中的/proc和/sys目录下的相关信息,这些目录存储了关于Linux系统硬件设备的信息,包括网络接口卡、网卡驱动程序等。具体来说,lshw -c network 会检测系统PCI总线,查找所有连接到PCI总线的网络设备,并列出这些设备的详细信息,比如设备的供应商、型号、驱动程序等信息。因该命令返回的信息太多,我们进行过滤一下,实际执行以下命令

lshw -c network|egrep "network|product|physical id|logical name"

实例如下:

四、综合分析

将上述3个命令的输出结合判断,结果就非常清晰了

如上可见,结合3个命令,可以清晰看到,本例服务器6个网口中,使用了2个X722万兆网口和2个82599网口共4个物理口组成了1个的端口聚合组,共同提供了 40Gb的网络接口带宽。

本文系原创,转载请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代先生.重庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值