您的位置:首页 > 理论基础 > 计算机网络

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

2013-01-29 23:10 609 查看

1、ethtool

  Ethtool是Linux下用于查询及设置网卡参数的命令。  
概要:
ethtool ethX //查询ethX网口基本设置  
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]\ //设置网口速率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地址等信息,相比其它工具较简洁,信息明了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: