linux 网络命令ethtool与mii-tool及nm-tool

1、ethtool

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

概要:

ethtool ethX //查询ethX网口基本设置  

ethtool �Ch //显示ethtool的命令帮助(help)  

ethtool �Ci ethX //查询ethX网口的相关信息   

ethtool �Cd ethX //查询ethX网口注册性信息  

ethtool �Cr ethX //重置ethX网口到自适应模式  

ethtool �CS ethX //查询ethX网口收发包统计  

ethtool �Cs ethX [speed 10|100|1000]\ //设置网口速率10/100/1000M  

[duplex half|full]\ //设置网口半/全双工  

[autoneg on|off]\ //设置网口是否自协商  

[port tp|aui|bnc|mii]\ //设置网口类型  

[phyad N]\   

[xcvr internal|exteral]\  

[wol p|u|m|b|a|g|s|d...]\  

[sopass xx:yy:zz:aa:bb:cc]\  

[msglvl N]

怎样使ethtool设置永久保存在网络设备中?  

解决方法一:  ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,从而在设备下次启动时激活选项。   

例如:ethtool -s eth0 speed 100 duplex full autoneg off  此指令将eth0设备设置为全双工自适应,速度为100Mbs。

若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:   ETHTOOL_OPTS="speed 100 duplex full autoneg off"  

解决方法二:  将ethtool设置写入/etc/rc.d/rc.local之中。

其它高级用法:

ethtool -a|--show-pause DEVNAME Show pause options 显示相应设备中止选项设置情况
ethtool -A|--pause DEVNAME Set pause options 对相应设备进行中止选项设置
[ autoneg on|off ]
[ rx on|off ]
[ tx on|off ]
ethtool -c|--show-coalesce DEVNAME Show coalesce options 显示相应设备联合选项设置情况
ethtool -C|--coalesce DEVNAME Set coalesce options 对相应设备进行联合选项设置
[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-low N]
[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|--show-ring DEVNAME Query RX/TX ring parameters 查询接收/发送回环参数
ethtool -G|--set-ring DEVNAME Set RX/TX ring parameters 设置接收/发送回环参数
[ rx N ]
[ rx-mini N ]
[ rx-jumbo N ]
[ tx N ]
ethtool -k|--show-offload DEVNAME Get protocol offload information 获取协议卸载信息
ethtool -K|--offload DEVNAME Set protocol offload 设置协议卸载
[ rx on|off ]
[ tx on|off ]
[ sg on|off ]
[ tso on|off ]
[ ufo on|off ]
[ gso on|off ]
ethtool -i|--driver DEVNAME Show driver information 显示相应设备的驱动信息
ethtool -d|--register-dump DEVNAME Do a register dump 寄存器转存
ethtool -e|--eeprom-dump DEVNAME Do a EEPROM dump EEPROM转存
[ raw on|off ]
[ offset N ]
[ length N ]
ethtool -E|--change-eeprom DEVNAME Change bytes in device EEPROM 更改设备EEPROM中的字节
[ magic N ]
[ offset N ]
[ value N ]
ethtool -r|--negotiate DEVNAME Restart N-WAY negotation 重启N路交互
ethtool -p|--identify DEVNAME Show visible port identification (e.g. blinking) 显示可见的端口识别(比如相应端口指示灯会亮)
[ TIME-IN-SECONDS ]
ethtool -t|--test DEVNAME Execute adapter self test 执行适配器自我测试
[ online | offline ]
ethtool -S|--statistics DEVNAME Show adapter statistics 显示适配器的统计信息
ethtool -h|--help DEVNAME Show this help 显示帮助

查询网络端口位置:ethtool -p ethX


这个命令多用于管理多网口的服务器主机,由于背板的网络端口数量大,有时候不知道那个物理端口对应eth0或其他设备号,我们就可以使用这个命令来查询。

用法:ethtool -p eth0

效果:设备号eth0对应的物理端口的两个指示灯会闪烁

修改网络端口速率:ethtool -s

这个命令多用于手工设置网络速率,一般千兆网卡支持10|100|1000三个速率,单位是Mbps。

用法:ethtool -s eth0 speed 1000 duplex full autoneg off

效果:将设备号eth0对应的物理端口设置为速率为1000Mbps,全双工工作模式,同时关闭自动协商。


2、mii-tool

mii-tool(这是Linux下专门设置网卡工作模式的命令) 

 MII的全称是Media Independent Interface,字面意思上就是媒体无关的接口,因此它是独立于具体设备的,仔细想想标准化的东西都是独立于具体设备的。虽然如此,很多以太网卡设备 并不支持这些参数的配置,因此当你执行mii-tool的时候,会得到Operation not supported的提示,要不就是没有使用超级用户身份,还有就是若接口编号设置超过eth7时,直接使用mii-tool 不加参数,会出现NO MII xxxxxxxxxx interface 之类的提示,是因为超过了默认值,使用帮助信息可以了解。

1. 查看网卡的工作模式,输入命令:   

#mii-tool -v   

eth0: negotiated 100baseTx-FD, link ok  

product info: vendor 00:aa:00, model 56 rev 0  

basic mode: autonegotiation enabled  

basic status: autonegotiation complete, link ok  

capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD  

advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control  

link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD  

从以上信息中可以看出,这块网卡工作在100M全双工自适应模式下,“100BaseTx-FD”意为100M Full Duplex。   

2. 更改网卡的工作模式,输入命令:   

#mii-tool -F media [interface]   

media可选的模式有100baseTx-FD、100baseTx-HD、10baseT-FD、10baseT-HD等。

Interface代表所选择的网卡,如eth0、eth1等,默认为eth0。   

例如,设置网卡工作在10M半双工模式下,输入命令:   

#mii-tool -F 10baseT-HD eth0   

3. 恢复网卡的自适应工作模式,输入命令:   

#mii-tool -r eth0   

更详细的使用方法可以用mii-tool -h来获得。

注:

mii-tool不支持1000M以上的网卡

正常对于100M以下的网卡都可以用这俩个命令来查看,但是对于100M以上网卡的,mii-tool就会出现问题

mii-tool -v eth0

eth0: negotiated 100baseTx-FD, link ok

product info: vendor 00:aa:00, model 56 rev 0

basic mode: autonegotiation enabled

basic status: autonegotiation complete, link ok

capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

#这里显示100M网卡,实际上是1000M的接口

ethtool eth0

Settings for eth0:

Supported ports: [ TP ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Advertised auto-negotiation: Yes

Speed: 1000Mb/s

Duplex: Full

Port: Twisted Pair

PHYAD: 0

Transceiver: internal

Auto-negotiation: on

Supports Wake-on: umbg

Wake-on: d

Current message level: 0x00000007 (7)

Link detected: yes


#这里却正确的显示1000M网卡

参考:http://linux-ip.net/html/tools-mii-tool.html#ftn.id2911850


3、nm-tool(NetworkManager Tool)

mii-tool 命令也可以查看相关网络接口的连接情况,包括网络类型,连接状态,载波情况,ip地址等信息,相比其它工具较简洁,信息明了。

你可能感兴趣的:(ethtool,mii-tool,nm-tool)