首页 > 代码库 > Linux下多网卡时,如何快速辨别网卡ID与物理网卡的对应关系(即ethtool命令)

Linux下多网卡时,如何快速辨别网卡ID与物理网卡的对应关系(即ethtool命令)

一般购买的服务器都有4个网卡,这个时候在安装好服务器后,配置IP的时候就郁闷了

如是一个浪潮8560M2服务器安装Redhat后的网卡显示:

[root@DBSERVER51 ~]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:E0:ED:2D:0F:58  

          inet addr:192.168.4.10  Bcast:192.168.4.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:40428 errors:0 dropped:0 overruns:0 frame:0

          TX packets:392 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:3413500 (3.2 MiB)  TX bytes:44521 (43.4 KiB)

          Memory:faee0000-faf00000 


eth1      Link encap:Ethernet  HWaddr 00:E0:ED:2D:0F:59  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Memory:fae60000-fae80000 


eth2      Link encap:Ethernet  HWaddr 00:25:90:5A:15:B6  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Memory:fafe0000-fb000000 


eth3      Link encap:Ethernet  HWaddr 00:25:90:5A:15:B7  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          Memory:faf60000-faf80000 


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:10 errors:0 dropped:0 overruns:0 frame:0

          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:660 (660.0 b)  TX bytes:660 (660.0 b)

从一个机房搬下来时,忘记标记了。这个时候还是想修改eth0作为通信口。但是一个一个插拔比较麻烦,于是就想能不能有个好办法,毕竟Linux不像Windows那样直观,打开网络连接就可以看到。这个时候就要用到ethtool这样一个命令,命令详解如下:

命令描述:

ethtool 是用于查询及设置网卡参数的命令。

ethX是以太网卡的名称,Linux系统将检测到的第一块以太网卡命名为eth0, 第二块为eth1,…….。

使用概要:

ethtool ethx       //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等

ethtool –h        //显示ethtool的命令帮助(help)

ethtool –i ethX    //查询ethX网口的相关信息 

ethtool –d ethX    //查询ethX网口注册性信息

ethtool –r ethX    //重置ethX网口到自适应模式

ethtool –S ethX    //查询ethX网口收发包统计

ethtool –s ethX [speed 10|100|1000] [duplex half|full]  [autoneg on|off]        //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商

ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX

ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]

ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N]

ethtool [-G] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]

ethtool [-e] ethX [raw on|off] [offset N] [length N]

ethtool [-E] ethX [magic N] [offset N] [value N]

ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]

ethtool [-p] ethX [N]

ethtool [-t] ethX [offline|online]

ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external]

[wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

标志
-a查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off
-A修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off
-cdisplay the Coalesce information of the specified ethernet card
-CChange the Coalesce setting of the specified ethernet card
-gDisplay the rx/tx ring parameter information of the specified ethernet card
-Gchange the rx/tx ring setting of the specified ethernet card
-i显示网卡驱动的信息,如驱动的名称、版本等
-d显示register dump信息, 部分网卡驱动不支持该选项
-e显示EEPROM dump信息,部分网卡驱动不支持该选项
-E修改网卡EEPROM byte
-k显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。
-K修改网卡Offload参数的状态
-p用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。
-r如果auto-negotiation模块的状态为on,则restarts auto-negotiation
-S显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。
-t让网卡执行自我检测,有两种模式:offline or online
-s修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等
参考:http://blog.sina.com.cn/s/blog_71f38909010128yf.html

重点来了,我这里使用如下命令:

[root@DBSERVER51 ~]# ethtool -p eth0

此时就会看到对应的物理口一个灯在不停的闪烁,对了。这就是我们在系统看到的那个叫eth0的网卡了。就是这么简单。


本文出自 “飞翔的猪” 博客,请务必保留此出处http://thinkpig007.blog.51cto.com/971471/1436694