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

最近测试服务器在ftp及scp方面的网络稳定性,网络老是自动中断,但是本地连接还在,ping正常机器不通,期间用到一些基础命令,为方便记录和扩展知识,顺便记录点相关内容如下:


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地址等信息,相比其它工具较简洁,信息明了。

使用情况如下:

root@LOonux:/home/# nm-tool



State: connected (global)

- Device: ttyUSB3 --------------------------------------------------------------
  Type:              Mobile Broadband (CDMA)
  Driver:            option1
  State:             disconnected
  Default:           no

  Capabilities:


- Device: wlan0 ----------------------------------------------------------------
  Type:              802.11 WiFi
  Driver:            ath9k
  State:             unavailable
  Default:           no
  HW Address:        00:17:C4:EF:F7:FF

  Capabilities:

  Wireless Properties
    WEP Encryption:  yes
    WPA Encryption:  yes
    WPA2 Encryption: yes

  Wireless Access Points


- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            r8168
  State:             connected
  Default:           yes
  HW Address:        00:E0:4C:68:00:01

  Capabilities:
    Carrier Detect:  yes
    Speed:           100 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         172.16.18.151
    Prefix:          16 (255.255.0.0)
    Gateway:         172.16.1.254

    DNS:             8.8.8.8





















你可能感兴趣的:(linux,网络,properties,Parameters,encryption,interface)